Wordpress - Сначала проверьте page.php в плагине - PullRequest
0 голосов
/ 06 февраля 2019

Можно ли заставить WordPress сначала просматривать каталог плагинов, и если система находит эту страницу, например, page.php, archive.php, single.php ... показывать макет из файлов плагинов и не смотреть нафайлы темы?

1 Ответ

0 голосов
/ 06 февраля 2019

Абсолютно!Посмотрите на фильтры single_template и archive_template.Они относительно просты в использовании:

function get_custom_post_type_template($single_template) {
     global $post;

     if ($post->post_type == 'my_post_type') {
          $single_template = dirname( __FILE__ ) . '/post-type-template.php';
     }
     return $single_template;
}
add_filter( 'single_template', 'get_custom_post_type_template' );

Также есть Этот раздел об эффективном добавлении single-post_type.php в иерархию шаблонов, но я предпочитаю слегка модифицированную версию, которая проще для IMOчитать:

add_filter( 'single_template', 'my_single_templates' );
function my_single_templates( $single_template ){
    global $post;

    $file = '/my/path/to/templates/dir/'. $post->post_type .'/single-'. $post->post_type .'php';

    if( file_exists( $file ) )
        $single_template = $file;

    return $single_template;
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...