自定义自定义帖子类型的搜索结果

时间:2013-11-03 17:39:56

标签: wordpress wordpress-plugin custom-post-type custom-fields

我正在编写一个Wordpress插件,可以创建多个自定义帖子类型(CPT)。因为他们有自己的自定义字段,需要在搜索结果中显示,我需要自定义搜索结果输出。

我是否需要为此编写自己的主题,或者是否有一个钩子(或其他方式)来解决我的插件代码?

2 个答案:

答案 0 :(得分:1)

您可以访问get_the_contentget_the_excerpt过滤器并使用is_search()进行测试,看看是否应该更改返回值。

未经测试,但这是个主意:

add_filter( 'get_the_excerpt', 'my_search_excerpt' );
add_filter( 'get_the_content', 'my_search_excerpt' );

function my_search_excerpt( $content ) {
    if ( is_search() ) 
        $content = 'This is a search excerpt for ' . get_the_title();
        // maybe add a read more link
        // also, you can use global $post to access the current search result
    }
    return $content;
}

答案 1 :(得分:1)

我看到四种可能性:

  1. 制作新的(childtheme
  2. 使用filterstemplate_include
  3. 覆盖搜索模板
  4. 使用客户端代码修改外观(CSS / JavaScript,差的解决方法)
  5. 挂钩the_contentthe_excerpt
  6. 最简单的方法可能是复制已安装主题的search.php file并对其进行修改以满足您的需求。然后,您可以使用第一种或第二种方式将其挂钩。第一个要求你create a child theme,第二个要创建一个插件。后者可能更复杂,所以我建议创建一个主题(看看template files of child themes进行解释)。