Определение макета страницы для форматов записей по умолчанию (кроме) - PullRequest
0 голосов
/ 23 марта 2019

single-aside.php определен, но все еще использует single.php для моего поста, имеющего формат aside.

Привет, я использовал пост-форматы (в стороне) для некоторых своих постов и использовал single.php для их стилизации в прошлом, несмотря на определение нового пост-типа, проблема в том, что теперь я хочу использовать другой макет страницыотличается от других моих постов и страниц только для этого типа в стороне, но когда я создаю single-aside.php, WordPress не использует эту страницу, и я смел свои постоянные ссылки, это не проблема.Как вы думаете, отдельную страницу можно определить для форматов записей по умолчанию, таких как aside, video, quote и ...?есть идеи?

1 Ответ

0 голосов
/ 23 марта 2019

В соответствии с документацией вы можете использовать has_post_format(), см. Больше здесь https://codex.wordpress.org/Post_Formats в разделе Использование форматов.

Поскольку форматы записей не являются пользовательскими типами записей, вам необходимо добавить их в single.php:

if ( has_post_format( 'aside' )) {
  //Your custom code for aside goes here
}

В качестве альтернативы, если вы хотите использовать другой php-файл, вы можете создать свой собственный тип записи и предоставить поддержку форматов записей.

Зарегистрируйтесь с поддержкой:

add_action( 'init', 'aside_post_type' );
function aside_post_type() {
    register_post_type( 'aside',
      array(
        'labels' => array( 'name' => __( 'Aside' ) ),
        'public' => true,
        'supports' => array('title', 'editor', 'post-formats') //this will give support for post formats
    )
  );
} 

Затем добавьте single-aside.php к своей теме и при необходимости стилизуйте этот пользовательский тип записи.

...