将自定义搜索结果添加到主WP搜索

时间:2016-05-27 作者:The Krotek

我知道,这个问题以前被问过好几次,但我没有找到适合我任务的答案。我问了同样的问题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结果数组,并使分页工作正常。我不想从其他搜索页面上显示的小部件和结果中搜索论坛。我知道如何做到这一点。

2 个回复
最合适的回答,由SO网友:The Krotek 整理而成

我想,我found a solution 通过gmazapp. 至少,它对我有用。这有点老套,但工作做得很好,所以如果有人将来也会找同样的东西,我就分享一下。

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;

相关推荐

自定义“The_Posts_Pagination”并将列表放入div

Hello everybody, 我需要有关自定义wordpress分页的帮助。我想得到这个:这就是我所做的:在函数中。php,我添加了以下代码:function wp_custom_pagination($args = [], $class = \'pagination\') { if ($GLOBALS[\'wp_query\']->max_num_pages <= 1) return; $args = wp_parse_args( $args,