Php 向Wordpress搜索添加自定义帖子类型/字段

Php 向Wordpress搜索添加自定义帖子类型/字段,php,html,wordpress,Php,Html,Wordpress,我正在寻找一种简单的方法,在我的Wordpress网站的搜索功能中添加对自定义文章类型的支持,其中包含自定义字段。我可以通过编程或使用插件来完成,但我尝试的插件毫无意义 目前,当我搜索时,搜索中将只显示我的自定义帖子类型的标题,但我希望能够通过我的帖子类型中的内容、帐户(例如,与该帐户关联的人员)进行搜索。基本上,我希望能够键入Johnny Applesed,即使他的帐户标题不是他的名字,他的名字是一个名为contact_name的自定义字段 如何做到这一点?添加此“'query\u var'=

我正在寻找一种简单的方法,在我的Wordpress网站的搜索功能中添加对自定义文章类型的支持,其中包含自定义字段。我可以通过编程或使用插件来完成,但我尝试的插件毫无意义

目前,当我搜索时,搜索中将只显示我的自定义帖子类型的标题,但我希望能够通过我的帖子类型中的内容、帐户(例如,与该帐户关联的人员)进行搜索。基本上,我希望能够键入Johnny Applesed,即使他的帐户标题不是他的名字,他的名字是一个名为contact_name的自定义字段

如何做到这一点?

添加此“'query\u var'=>true,”

在创建自定义帖子类型时添加上述代码

有关更多信息,请参见以下内容:

如果您正在使用任何插件,请输入下面的用户代码



您不需要插件,您需要在主题的根目录中修改(或创建)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; ?>

if(get_post_type()=“custom_type”)
{
//在此处加载自定义字段并输出
}
其他的
{
//在此处输出正常帖子信息,如标题()、摘录()等。。。
}

我正在使用插件,是否应该尝试编辑插件?另外,这对它下的所有自定义字段都有效吗?如果你能编辑插件,那就好了。。。或者使用下面的代码-----------------添加过滤器('pre_get_posts','tgm_cpt_search');/***此函数修改WordPress主查询,使其包含一个post类型数组,而不是默认的“post”post类型。**param mixed$query原始查询*return$query修改后的查询*/函数tgm_cpt_search($query){if($query->is_search)$query->set('post_type',array('post','movies','products','portfolio');return$query;};
<?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; ?>