如果你的WordPress站点添加了自定义文章类型,请记得让WordPress默认搜索支持自定义文章类型,即可以搜索自定义文章类型的内容。实现的方法很简单,将下面的代码添加到主题的functions.php 文件中即可:

  1. //让搜索支持自定义文章类型
  2. function searchAll( $query ) {
  3. if ( $query->is_search ) { $query->set( ‘post_type’, array( ‘post’,’books’, ‘product’,’works’ )); }
  4. return $query;
  5. }
  6. add_filter( ‘the_search_query’, ‘searchAll’ );

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

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

以下代码的功能:让搜索结果支持所有自定义文章类型。

  1. //让搜索支持所有自定义文章类型
  2. function include_post_types_in_search($query) {
  3. if(is_search()) {
  4. $post_types = get_post_types(array(‘public‘ => true, ‘exclude_from_search’ => false), ‘objects’);
  5. $searchable_types = array();
  6. if($post_types) {
  7. foreach$post_types as $type) {
  8. $searchable_types[] = $type->name;
  9. }
  10. }
  11. $query->set(‘post_type’, $searchable_types);
  12. }
  13. return $query;
  14. }
  15. add_action(‘pre_get_posts’, ‘include_post_types_in_search’);

发表评论

您的电子邮箱地址不会被公开。