WordPress — Получить пользовательские сообщения типа поста на index.Stack Overflow

Я создал собственный тип записи для своей темы и хочу, чтобы содержимое отображалось так же, как обычное сообщение на странице указателя.

Мой код на index.php выглядит так

<div id="primary" class="content-area">
<main id="main" class="site-main" role="main">

<div class="container">

<?php

if( have_posts() ):

while( have_posts() ): the_post();

get_template_part( 'template-parts/content', get_post_format() );endwhile;

endif;

?>

</div><!-- .container -->

</main>
</div><!-- #primary -->

У меня есть разные стили для каждого формата записи, и он сохраняется в content- «post-format-name» .php. Но если я сохраню сообщение в своем пользовательском типе сообщения в формате «Стандартный», оно все равно не появится.

Есть идеи, как я могу это исправить? Спасибо!

1

Решение

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

По умолчанию только сообщения извлекаются из базы данных с помощью основного запроса, и регистрация пользовательского типа сообщения ничего не меняет в этом.

В соответствии с документация ты должен зацепиться за pre_get_posts действие как это

// 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 ( is_home() && $query->is_main_query() )
$query->set( 'post_type', array( 'post', 'page', 'movie' ) );
return $query;
}

Стандартный почтовый формат

Ваша проблема со стандартным форматом записи заключается в том, что get_post_format функция возвращает FALSE для формата по умолчанию (документация). Вы должны использовать оператор if для очистки этого случая.

2

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]