Wordpress 使用search.php自定义搜索结果?此外,wp查询分页不起作用
我正在制作一个过滤器插件,我想使用search.php搜索结果,但如果我在插件中将文本输入名称设置为“s”,那么它将使用常规搜索功能,而不是我在插件中设置的WP_查询方法 如果我更改了名称并使插件使用该名称,我会得到结果,但结果与插件本身出现的位置相同 那么,我可以让search.php页面使用我插件的结果吗 表格和我的查询:Wordpress 使用search.php自定义搜索结果?此外,wp查询分页不起作用,wordpress,Wordpress,我正在制作一个过滤器插件,我想使用search.php搜索结果,但如果我在插件中将文本输入名称设置为“s”,那么它将使用常规搜索功能,而不是我在插件中设置的WP_查询方法 如果我更改了名称并使插件使用该名称,我会得到结果,但结果与插件本身出现的位置相同 那么,我可以让search.php页面使用我插件的结果吗 表格和我的查询: <?php $blog_url = get_bloginfo('url'); $form = <<<EOH <d
<?php
$blog_url = get_bloginfo('url');
$form = <<<EOH
<div id="sbc">
<form method="get" action="{$blog_url}" id="ss-search">
<input type="text" value="{$search_text}" name="ss" onblur="if (this.value == '') { this.value = '{$search_text}';}" onfocus=if (this.value == '{$search_text}') { this.value = '';}" />
{$list}
<input type="submit" id="sbc-submit" value="Search" />
</form>
</div>
EOH;
if (isset($_GET['ss'])) {
$args = array(
// 'category__not_in' => 1,
's' => $_GET['ss']
);
$q = new WP_Query($args);
if ( $q->have_posts() ) {
echo '<ul>';
while ( $q->have_posts() ) {
$q->the_post();
echo '<li>' . get_the_title() . '</li>';
}
echo '</ul>';
echo get_pagination_links();
} else {
echo 'no posts found';
}
/* Restore original Post Data */
wp_reset_postdata();
}
echo $form;
?>
好的,所以我花了很多时间试图解决我认为相同的问题,只是找到了很多关于如何使用wp\u reset\u query
重置查询的建议(对于经验丰富的开发人员来说,这是可以预测的)
我发现这个问题本质上与我的search.php中的查询无关,而与querystring有关,而不仅仅是在搜索结果页面上,所以在我的短代码或插件中,我只需将全局wp_query is_search方法设置为false和BAM!终于得到了我预期的结果
global $wp_query;
$wp_query->is_search = false;
试试看,让我知道它对你有什么作用。只要在声明自己的WP\u查询($args)
之前进行更改,您就应该没事了。不久前我实际上解决了这个问题,我最终使用了功能强大的WP查询本身及其参数,它与search.php一起工作,问题是使用set
方法。如果你需要帮助,请告诉我。就我个人而言,我从来没有见过这种方法,直到这里有一个好的灵魂介绍给我。很高兴你找到了它,没有看到提供的答案,所以我想我会发布我的。祝你好运
global $wp_query;
$wp_query->is_search = false;