Intereting Posts
Инициализировать среду WordPress для использования в сценарии командной строки Список сообщений категории – проблема thumbnail_size Остановить редактор WYSIWYG WordPress от преобразования «не» в «didn», «» «» «t»? Создание страницы и меню WordPress доступно только для зарегистрированных пользователей, проверка переменных сеанса Как удалить файл, загруженный Plupload Показать последнее сообщение из категории детей? Ошибка taxonomy.php, отображаемая в заголовке моего сайта Как защитить загрузки в многопользовательском режиме, если пользователь не вошел в систему? Изменение домена с новыми размерами изображений Ошибка HTTP-сообщения WordPress при загрузке файла Shortcode, но без знака равенства? Список публикаций на главной странице Проверьте и внесите уникальное значение в пользовательское мета-поле, введенное пользователем, в WP Admin Удалите текущий класс nav_page_parent из индекса блога, когда в CPT Как кэшировать json с кешем wp-super

Как вызвать пользовательские сообщения

У меня этот пользовательский пост:

add_action('init', 'eveniment_register'); function eveniment_register() { $args = array( 'label' => __('Evenimente'), 'singular_label' => __('Eveniment'), 'public' => true, 'show_ui' => true, 'capability_type' => 'post', 'hierarchical' => false, 'rewrite' => true, 'supports' => array( 'title', 'editor', 'thumbnail', 'excerpt', 'comments' ), 'taxonomies' => array('category','post_tag','post_thumbnail') ); register_post_type( 'eveniment' , $args ); } 

И все эти пользовательские посты имеют категорию с ID=5.

В category-5.php я хочу показать все пользовательские сообщения из этой категории.

Как я это сделал с обычными сообщениями:

 while (have_posts()) : the_post(); 

не работает с настраиваемыми сообщениями.

Есть идеи? Благодаря!

Solutions Collecting From Web of "Как вызвать пользовательские сообщения"

Не меняйте основной запрос. Вы можете просто добиться того, чего хотите, используя pre_get_posts Вернитесь к циклу по умолчанию в категории 5.php и добавьте следующее в свои функции. Php

 function include_category_cpt( $query ) { if ( !is_admin() && $query->is_category( '5' ) && $query->is_main_query() ) { $query->set( 'post_type', 'eveniment' ); $query->set( 'post_status', 'publish' ); $query->set( 'posts_per_page', '-1' ); $query->set( 'ignore_sticky_posts', '1' ); } } add_action( 'pre_get_posts', 'include_category_cpt' ); 

Кроме того, обратите внимание, что caller_get_posts долгое время обесценивается и заменяется posts_per_page

Рекомендации

  • is_category()

  • Когда использовать пользовательский запрос и когда использовать основной запрос

Я решил это так:

 <?php $type = 'eveniment'; $args=array( 'post_type' => $type, 'post_status' => 'publish', 'posts_per_page' => -1, 'caller_get_posts'=> 1); $my_query = null; $my_query = new WP_Query($args); if( $my_query->have_posts() ) { while ($my_query->have_posts()) : $my_query->the_post(); ?> <p><a href="<?php the_permalink() ?>" rel="bookmark" title="Permanent Link to <?php the_title_attribute(); ?>"><?php the_title(); ?></a></p> <?php endwhile; } wp_reset_query(); // Restore global post data stomped by the_post(). ?>