• На главной странице сайта уже выводятся посты из всех категорйи таким стандартным кодом:

    <?php if ( have_posts() ) : while ( have_posts() ) : the_post(); ?>
    <?php get_template_part( 'entry' ); ?>
    <?php endwhile; endif; ?>

    А как можно сделать чтобы вместе с обычными постами в этом же цикле так же выводились и посты из произвольных типов?

Просмотр 5 ответов — с 1 по 5 (всего 5)
  • 
    <?php if ( 'custompost' == get_post_type() ) { ?>
       <?php get_template_part( 'custompost' ); ?> 
    <?php } else { ?>
        <?php get_template_part( 'entry' ); ?> 
    <?php } ?>
    

    А вместо custompost что нужно подставить? Что не подставлял, результата нет. Пусто.

    А как можно сделать чтобы вместе с обычными постами в этом же цикле так же выводились и посты из произвольных типов?

    Несколько смущает «из», ну да ладно, будем думать, что имеется в виду произвольный post_type, а не таксономия type.

    Так вот, для того чтобы что-то вывести в Цикле, это что-что должно попасть в выборку. Для изменения выборки существует хук ‘pre_get_posts’. Матчасть: https://developer.wordpress.org/reference/hooks/pre_get_posts/
    В результате освоения материала и применения усвоенного на практике должно получиться нечто такое:

    
        function add_custom_post_type($query){
            if ( $query->is_home() && $query->is_main_query() && ! is_admin() ) {
                $query->set('post_type', array( 'post', 'my_custom_type' ) );
            }
        }
        add_action('pre_get_posts','add_custom_post_type');
    

    да, про pre_get_posts забыл, думал оно уже подключено, раз вопрос о выводе.

    Отлично! Огромное спасибо, Юрий! Именно этот код для functions.php и сработал.

Просмотр 5 ответов — с 1 по 5 (всего 5)
  • Тема «Как на главной вывести произвольные типы постов вместе с основными?» закрыта для новых ответов.