我使用一种自定义帖子类型,用于使用uncode主题构建的页面上的某些文本块。我需要将这些块公开,以便它们显示在页面上,但我想阻止它们出现在搜索结果中。
search.php不像普通的wordpress搜索文件,它是uncode-theme文件,并且没有普通的查询,所以我想也许我需要一个函数?
任何人都可以请教如何实现这一目标吗?
CPT是“staticcontent”
谢谢!
最佳答案
答案取决于您是通过自己的代码创建CPT,还是由其他插件创建CPT。有关此方法的详细说明,请参见此链接:
http://www.webtipblog.com/exclude-custom-post-type-search-wordpress/
基本要点是:
如果要创建自己的CPT,则可以在'exclude_from_search' => true
的register_post_type()调用中添加一个参数
如果另一个插件/主题正在创建CPT,则稍后需要设置这个exclude_from_search变量,作为CPT过滤器的一部分,如下所示:
// functions.php
add_action( 'init', 'update_my_custom_type', 99 );
function update_my_custom_type() {
global $wp_post_types;
if ( post_type_exists( 'staticcontent' ) ) {
// exclude from search results
$wp_post_types['staticcontent']->exclude_from_search = true;
}
}