我有一个函数wp_get_recent_posts()
我需要在搜索页面上使用相同的功能,但在将搜索参数添加到$args
大堆
是否有人知道这是否可行,如果可行,如何实施?
这是我的功能
function recent_articles_grid( $atts ) {
extract( shortcode_atts( array (
\'numberposts\' => 6,
\'offset\' => 0,
\'featured\' => null,
\'trending\' => null,
\'showdate\' => null,
\'category\' => null,
\'showauthor\' => null,
\'init\' => 1,
\'searchterm\' => null
), $atts ) );
$args = array(
\'numberposts\' => $numberposts,
\'offset\' => $offset,
\'category__not_in\' => array(391),
\'category\' => $category,
\'orderby\' => \'post_date\',
\'order\' => \'DESC\',
\'post_type\' => \'post\',
\'post_status\' => \'publish\'
);
$recent_posts = wp_get_recent_posts( $args, ARRAY_A );
... additional code ...
}
最合适的回答,由SO网友:Jacob Peattie 整理而成
这应该只是设置\'s\'
的参数wp_get_recent_posts()
(或只是get_posts()
) 至搜索词:
$args = array(
\'numberposts\' => $numberposts,
\'offset\' => $offset,
\'category__not_in\' => array(391),
\'category\' => $category,
\'orderby\' => \'post_date\',
\'order\' => \'DESC\',
\'post_type\' => \'post\',
\'post_status\' => \'publish\',
\'s\' => $searchterm,
);
$recent_posts = wp_get_recent_posts( $args, ARRAY_A );
但是,是的,正如评论中所讨论的,我不建议使用这种显示搜索结果的方法。如果您正在使用搜索。正确地说,主查询/循环将已经包含搜索结果。
更好的问题可能是如何将帖子从主查询中获取到布局函数中。否则,只需执行两次不必要的搜索,就会遇到分页问题,因为无法正确使用循环和模板层次结构。