WordPress自定义搜索结果,默认搜索显示所有,比如:文章,产品,项目,页面等。特殊情况下需要自定义搜索结果,只显示产品或项目。
一、Divi自定义搜索结果:
// Divi 搜索模块中的产品和其他帖子类型 function custom_remove_default_et_pb_custom_search() { remove_action( 'pre_get_posts', 'et_pb_custom_search' ); add_action( 'pre_get_posts', 'custom_et_pb_custom_search' ); } add_action( 'wp_loaded', 'custom_remove_default_et_pb_custom_search' ); function custom_et_pb_custom_search( $query = false ) { if ( is_admin() || ! is_a( $query, 'WP_Query' ) || ! $query->is_search ) { return; } if ( isset( $_GET['et_pb_searchform_submit'] ) ) { $postTypes = array(); /* BEGIN Add custom post types */ $postTypes[] = 'project'; /* END Add custom post types */ $query->set( 'post_type', $postTypes ); if ( ! empty( $_GET['et_pb_search_cat'] ) ) { $categories_array = explode( ',', $_GET['et_pb_search_cat'] ); $query->set( 'category__not_in', $categories_array ); } if ( isset( $_GET['et-posts-count'] ) ) { $query->set( 'posts_per_page', (int) $_GET['et-posts-count'] ); } } }
$postTypes[] = ‘project’;,修改project,自定义类型,比如产品:product
添加搜索多个类型:
/* BEGIN Add custom post types */ $postTypes[] = 'product'; $postTypes[] = 'project'; /* END Add custom post types */