Есть ли способ сделать поисковый запрос WordPress, просто поиск страниц, которые имеют пользовательский шаблон? - PullRequest
0 голосов
/ 24 октября 2019

Я пытаюсь заставить поиск по wordpress просто отобразить страницы, которые имеют собственный шаблон, который называется "video-information.php".

В заголовке файла video-information.php я добавил эточтобы создать имя для шаблона

<?php
/*
 * Template Name: Video Information
 *
 * @package skytube
 * @since skytube v1.0.0
 */
get_header();
?>

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

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

// In function.php file
function searchfilter($query) {

    if ($query->is_search && !is_admin() ) {
        $query->set('post_type',array('post','page'));
    }

return $query;
}

add_filter('pre_get_posts','searchfilter');

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

1 Ответ

0 голосов
/ 24 октября 2019

вы можете использовать meta_query и сделать что-то вроде этого:

function search_custom_template($query) {
    if ($query->is_search && !is_admin()) {
        $query->set('meta_query', [['key' => '_wp_page_template', 'value' => 'template-custom.php']]);
    }
    return $query;
}

Ознакомьтесь с официальными документами: https://developer.wordpress.org/reference/classes/wp_query/#custom-field-post-meta-parameters

...