我知道,这个问题以前被问过好几次,但我没有找到适合我任务的答案。我问了同样的问题StackOverflow 我想,这个社区已经对WordPress相关的问题更加适应了。
我想在论坛中搜索相同的关键字,然后简单地将结果添加到现有的WP搜索结果数组中。在Joomla中有一个事件,允许您通过插件添加自定义搜索。只有在触发所有插件时,才会计算分页。WordPress似乎以一种非常不同的方式工作,现在我很困惑。
主要条件:it MUST work on main search.php, 因此,自定义搜索页面不是一个解决方案。
我已经将pre\\u get\\u posts hook添加到我的插件中,并使用相同的关键字查询论坛。然后用\\u permalink、author\\u link、author、category挂钩调整论坛结果的外观。我甚至更改了找到的帖子数量,分页现在显示了正确的页面数量。没问题。
我的问题是,当WordPress没有更多符合条件的帖子时,论坛的分页行为和查询。
长话短说,论坛结果应添加到WP结果中,理想情况下,应按给定标准(标题、日期等)排序。
有谁能给我举个例子,说明我应该在何时何地正确添加结果?老实说,我有点迷路了。
A little update...
Joomla有一个非常简单的算法来处理来自不同插件(查询)的结果。它首先查询自己的数据库,然后调用所有与搜索相关的插件,并向它们传递当前的结果数组。每个插件只需将自己的结果推送到这个数组。然后才计算分页。小菜一碟
基本上,我需要相同的:以某种方式将结果从论坛推送到WP结果数组,并使分页工作正常。我不想从其他搜索页面上显示的小部件和结果中搜索论坛。我知道如何做到这一点。
SO网友:user94774
if ( have_posts() ) : ?>
<header class="page-header">
<h1 class="page-title"><?php
printf( __( \'Search Results for: %s\', \'twentyfifteen\' ), get_search_query() );
?></h1>
</header><!-- .page-header -->
<?php
// Start the loop.
while ( have_posts() ) : the_post(); ?>
<?php
/*
* Run the loop for the search to output the results.
* If you want to overload this in a child theme then include a file
* called content-search.php and that will be used instead.
*/
get_template_part( \'content\', \'search\' );
// End the loop.
endwhile;
// Previous/next page navigation.
the_posts_pagination( array(
\'prev_text\' => __( \'Previous page\', \'twentyfifteen\' ),
\'next_text\' => __( \'Next page\', \'twentyfifteen\' ),
\'before_page_number\' => \'<span class="meta-nav screen-reader-text">\' .
__( \'Page\', \'twentyfifteen\' ) . \' </span>\',
) );
// If no content, include the "No posts found" template.
else :
get_template_part( \'content\', \'none\' );
endif;