让WordPress的搜索结果中包含自定义文章类型的内容

使用WordPress建设网站的过程中,如果您的WordPress网站中添加了自定义文章类型,我们想让WordPress搜索结果中支持自定义文章类型,即可以搜索到自定义文章类型中的内容。这篇WordPress教程中,我们就向大家介绍一下实现的方法。

实现的方法非常简单,切换到主题目录,打开 functions.php 文件,添加以下代码即可:

//让搜索支持自定义文章类型
function searchAll( $query ) {
  if ( $query->is_search ) { $query->set( 'post_type', array( 'post','books', 'product','works' )); } 
  return $query;
}
add_filter( 'the_search_query', 'searchAll' );


请根据您自己的实际情况修改第 3 行数组(array)中的文章类型别名。

或者您也可以将下面的代码添加到当前主题的 functions.php 文件中:


//让搜索支持所有自定义文章类型
function include_post_types_in_search($query) {
	if(is_search()) {
		$post_types = get_post_types(array('public' => true, 'exclude_from_search' => false), 'objects');
		$searchable_types = array();
		if($post_types) {
			foreach( $post_types as $type) {
				$searchable_types[] = $type->name;
			}
		}
		$query->set('post_type', $searchable_types);
	}
	return $query;
}
add_action('pre_get_posts', 'include_post_types_in_search');


你可能感兴趣的:(Wordpress基础)