我使用一种自定义帖子类型,用于使用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;
    }
}

10-06 11:48