如何让WP搜索小工具索引动态生成的内容?

时间:2014-11-06 作者:LarsMonty

我在一个领养网站上工作,公司有一个包含他们所有领养家庭的数据库。

我有一个页面,其中包含一小行短代码,将数据库中的每个家族都拉到该页面上,大约39页,每页10个家族。可在此处找到该链接:http://lifetimeadopt.staging.wpengine.com/all-adoptive-families/

如果您单击这些家庭的任何一个档案,您将进入一个家庭页面,该页面将动态提取您所单击的任何家庭的信息。

我想使用搜索小部件允许访问者按关键字搜索数据库中所有收养家庭的列表。例如,搜索“足球”会吸引每个在描述中提到足球的家庭。

但是,WP Search小部件将无法在家族页面中找到任何内容,因为它是动态生成的。

因此,小部件的代码是,但显然,它不会显示任何结果:

<section class="widget search-2 widget_search"><h6>Search Lifetime:</h6><form role="search" method="get" class="search-form form-inline" action="http://lifetimeadopt.staging.wpengine.com/all-adoptive-families">
  <label class="sr-only">Search for:</label>
  <div class="input-group">
    <input type="search" value="" name="s" class="search-field form-control">
    <span class="input-group-btn">
      <button type="submit" class="search-submit btn btn-default">Search</button>
    </span>
  </div>
</form>
</section>
有没有人知道我可以做些什么变通方法或编辑来让WP Search小部件正确地索引每个家庭的内容,即使它是动态的?

1 个回复
SO网友:shanebp

族是否为自定义立柱类型?如果是这样,它们将不会包含在默认WP搜索中。尝试将其添加到主题的功能中。php

function lauren_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\', \'lauren_include_post_types_in_search\');

结束