我正在寻找一种简单的方法,将自定义字段中包含自定义字段的支持添加到我的Wordpress网站中的搜索功能中。我可以通过编程方式或使用插件来完成它,但我尝试过的插件毫无意义。
目前,当我搜索时,我的自定义帖子类型的标题只会出现在搜索中,但我希望能够通过我的帖子类型,帐户,例如与之相关的人员搜索那个帐户。基本上我希望能够键入Johnny Appleseed,即使他的帐户名称不是他的名字,他的名字也是一个名为contact_name的自定义字段。
如何做到这一点?
答案 0 :(得分:0)
添加此“'query_var'=> true,”
在创建自定义帖子类型时添加以上代码。
了解更多信息,请点击此处:https://codex.wordpress.org/Function_Reference/register_post_type
如果您使用任何插件,则代码下方的用户
add_filter( 'pre_get_posts', 'tgm_cpt_search' );
/**
* This function modifies the main WordPress query to include an array of post types instead of the default 'post' post type.
*
* @param mixed $query The original query
* @return $query The amended query
*/
function tgm_cpt_search( $query ) {
if ( $query->is_search )
$query->set( 'post_type', array( 'post', 'movies', 'products', 'portfolio' ) );
return $query;
};
答案 1 :(得分:0)
您不需要插件,您需要在主题的根目录中修改(或创建)search.php。在archive.php之后和主循环内部建模
<?php while (have_posts()) : the_post(); ?>
//output post information here
<?php endwhile; ?>
你可以打开get_post_type()并根据它显示不同的信息。
<?php while (have_posts()) : the_post(); ?>
if(get_post_type() == "custom_type")
{
//load custom fields and output here
}
else
{
//output normal post info here ala the_title(), the_excerpt(), etc...
}
<?php endwhile; ?>