【发布时间】:2018-11-02 14:41:42
【问题描述】:
这样做的目的是尽可能多地使用 WordPress 的核心功能。
advanced.php - 这是自定义搜索表单...
<form method="get" id="advanced-searchform" role="search" action="<?php echo esc_url( home_url( '/' ) ); ?>">
<input type="hidden" name="search" value="post">
<input id="search-case-study" class="search-case-study" type="text" value="" placeholder="Search..." name="s" />
<input type="submit" id="searchsubmit" value="Search" />
functions.php
// CASE STUDY SEARCH
function advanced_search_query($query) {
if($query->is_search()) {
// category terms search.
$query->set('tax_query', array(
array(
'taxonomy' => 'case-study',
'field' => 'slug'
)
));
}
return $query;
}
add_action('pre_get_posts', 'advanced_search_query');
// END CASE STUDY SEARCH
我还使用以下方法将表单调用到页面中:
<?php get_template_part( 'advanced', 'searchform' ); ?>
表单正确拉入页面。
表单包含我希望使用的字段。
我只需要帮助在 functions.php 中创建查询。
就我而言,我希望搜索的类别的 slug 是“案例研究”,它需要搜索该类别博客文章中的所有内容。返回链接、图片、标题。
【问题讨论】:
-
这个问题可能有点不清楚:您是说只希望搜索属于一个类别
case-study?这是目标吗? -
@cale_b - 没错,谢谢!
-
@cale_b - 也感谢您的编辑