默认情况下,WordPress搜索为应该搜索任何内置WP内容的WP帖子和页面提供了类似omni的搜索功能。这可以通过Relevanssi等插件进一步扩展。
但是,如果我理解正确,您可以创建一个自定义搜索表单,您可以在其中指定可用于搜索的字段。
首先,您可以在主题的根目录中创建一个名为mysearch-searchform.php
. 这只是一个HTML表单,所以无论您输入什么,理论上都可以。我必须知道的是,有一个隐藏字段可以告诉WP您要在其中搜索的帖子类型。因此,您可以使用以下内容:
<input type="hidden" name="search" value="mycpt">
仅搜索新闻帖子。因此,您现在有了自定义搜索表单,您可以使用以下方法在主题中调用该表单:
<?php get_template_part( \'mycpt\', \'searchform\' ); ?>
因此,您有自己的自定义表单,它将输出到您的页面上。现在您需要处理结果。为此,您将
functions.php
其中,根据使用的搜索表单,我使用以下函数告诉WP要加载的结果文件:
function load_search_template_results(){
if(isset($_GET[\'search\'])) {
if( $_GET[\'search\'] == \'mycpt\' ) {
load_template( locate_template( \'mycpt-search-result.php\' ));
} else {
load_template( locate_template( \'search.php\' ));
}
}
}
add_action(\'init\',\'load_search_template_results\');
页面
mycpt-search-result.php
只是一个wp\\u查询循环,根据需要循环post数据以适应您的设计。
希望这能让你走上正轨。