我有一个包含自定义帖子类型“artwork”的小节的网站
我有一个全面的网站搜索工作如何,我想它-它搜索我的所有帖子和自定义帖子类型。我想在我的artwork小节中添加第二个搜索,它只搜索“artwork”自定义帖子类型。我知道我可以这样限制我的搜索结果:
function mySearchFilter($query) {
if ($query->is_search) {
$query->set(\'post_type\',\'artwork\');
};
return $query;
};
add_filter(\'pre_get_posts\',\'mySearchFilter\');
但这也会影响整个网站的搜索。如何仅在搜索表单的某些实例上设置帖子类型?我不需要下拉列表或任何方式供用户选择,我只想在某些页面中包含有限的搜索,而不是整个网站搜索。
最合适的回答,由SO网友:TheDeadMedic 整理而成
如果您有“自然”艺术品档案(通常设置has_archive
到true
在您的register_post_type()
参数),您已经具备了以下功能:
http://example.com/artwork/?s=query
。。。假设
artwork
WordPress是您的存档slug,它将只搜索艺术品进行“查询”。
只需设置action
将搜索表单的属性设置为存档URL,如下所示:
<form action="<?php echo get_post_type_archive_link( \'artwork\' ) ?>">