我是wordpress的新手,也是一名初学者,我在网上搜索,找到了解决方案,但仍然不起作用。
我有一个名为dlm_download
, 我的自定义搜索模板不工作
我将以下内容添加到functions.php
文件-代码为from this answer 作者@罗纳德。
function template_chooser($template)
{
global $wp_query;
$post_type = get_query_var(\'post_type\');
if( $wp_query->is_search && $post_type == \'dlm_download\' )
{
return locate_template(\'archive-download.php\');
}
return $template;
}
add_filter(\'template_include\', \'template_chooser\');
创建了
archive-download.php
当我进行自定义搜索时,我会得到如下urlmysite.com/?dlm_download=699
什么都没发生我只是被重定向到我的主页。
有人能告诉我我做错了什么吗?
最合适的回答,由SO网友:Pieter Goosen 整理而成
您只需使用以下命令在搜索中包含自定义搜索功能pre_get_posts
你可以这样做
function search_filter($query) {
if ( !is_admin() && $query->is_main_query() ) {
if ($query->is_search) {
$query->set(\'post_type\', \'your-custom-post-type\' );
}
}
}
add_action(\'pre_get_posts\',\'search_filter\');