• Возможно ли в WP вывести посты определённой категории внутри поста?

    Задача заключается в следующем, в теме поста нужно вывести несколько блоков (карточек/постов). Например, пост — это событие, а внутри этого поста выводится несколько участников события…

    Обязательное условие выводить посты из другой категории внутри основного поста.

    Реально это сделать на advanced custom fields? Получилось только вывести в нужном месте вывести id нужной категории и код, который выводит все посты внутри поста.

    <?php
        $args = array(
            'orderby' => 'name',
            'order' => 'asc',
            'category' => $programId
        );
        $my_query = new WP_Query($args);
        if ( $my_query->have_posts() ) {
            while ( $my_query->have_posts() ) { ?>
    
                <?php $my_query->the_post(); ?>
                <?php the_title(); ?>
                <?php the_content(); ?>
    
            <?php }
        }
    wp_reset_postdata(); ?>
Просмотр 5 ответов — с 1 по 5 (всего 5)
  • Модератор Denis Yanchevskiy

    (@denisco)

    WordPress-разработчик, denisco.pro

    Многие плагины, выводящие посты, предоставляют шорткоды, с помощью которых их можно использовать внутри постов. Такой вариант не подойдет?

    Спасибо! Посмотрю подходящие варианты, но хотелось бы разобраться в вопросе без использования шорт кодов, что в шаблоне можно было всё реализовать.
    Через ACF могу в цикл поста передавать id привязанной рубрики к этому же посту. А вот можно ли запустить цикл для вывода постов этой категории, внутри поста?

    Возможно ли в WP вывести посты определённой категории внутри поста?

    Если правильно понял, то можно в доп. поле указать ид категории посты из которой вы хотите вывести

    <?php
    $programId = get_post_meta($post->ID, 'pole_category_id', true);
    $args = array(
    'orderby' => 'name',
    'order' => 'asc',
    'category' => $programId
    );
    $my_query = new WP_Query($args);
    if ( $my_query->have_posts() ) {
    while ( $my_query->have_posts() ) { ?>
    
    <?php $my_query->the_post(); ?>
    <?php the_title(); ?>
    <?php the_content(); ?>
    
    <?php }
    }
    wp_reset_postdata(); ?>
    Модератор Denis Yanchevskiy

    (@denisco)

    WordPress-разработчик, denisco.pro

    В дополнение к ответу qwert555, для этой цели также можно использовать функцию get_posts. Она является оберткой класса WP_Query, но, возможно, будет в чем-то удобнее.

    Большое спасибо! Очень помогли

Просмотр 5 ответов — с 1 по 5 (всего 5)

Тема «Цикл внутри цикла» закрыта для новых ответов.