Intereting Posts

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

Я создал пользовательский тип сообщения, называемый book . Я пытаюсь создать шаблон в своей теме, поэтому, когда я использую этот шаблон для любой страницы в своей теме вместо того, чтобы получать обычный тип сообщения (я имею в виду мои posts ), он извлекает мою собственную book типа сообщений. Я пытаюсь изменить свой запрос перед выполнением, но он не работает, на самом деле он ничего не показывает на моей странице, даже не заголовок или другие общие элементы на страницах. вот мой код в моем шаблоне:

 <?php /* Template Name: themeplate-book */ ?> <?php defined( 'ABSPATH' ) OR die( 'This script cannot be accessed directly.' ); /** * The template for displaying pages */ // Show posts of 'post', 'page' and 'movie' post types on home page add_action( 'pre_get_posts', 'add_my_post_types_to_query' ); function add_my_post_types_to_query( $query ) { if ( $query->is_main_query() ) $query->set( 'post_type', array( 'book') ); return $query; } 

Есть идеи?

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

Добавление pre_get_posts слишком поздно, если вы подписались на шаблоне страницы, и ваш шаблон пуст, поэтому в этом причина ничего не отображается.

Переместите свои pre_get_posts на свои functions.php чтобы он имел возможность запускать. Также рассмотрите использование template_include и укажите, используя шаблон книги, другой способ, который вы можете проверить в этой функции.