Wordpress wp_get_recent_posts始终按标题排序

时间:2015-01-09 01:52:32

标签: php wordpress

我想更改“wp_get_recent_posts”函数的默认值以获取并按标题名称排序。

我知道怎么做

$args=array('orderby'=> "title",'order'=> "ASC");
$recent_posts = $this->wp_get_recent_posts($args);

我的问题是如何使用钩子/过滤器从子主题functions.php文件中将这些$ args添加到函数wp_get_recent_posts而不编辑其他文件。

感谢。

2 个答案:

答案 0 :(得分:0)

使用函数wp_get_recent_posts

<?php 
    $args = array(
      'numberposts' => 10,
      'orderby' => 'post_title',
      'order' => 'ASC',
      'post_type' => 'post',
      'post_status' => 'publish'
    );

    $recent_posts = wp_get_recent_posts( $args, ARRAY_A );
?> 

答案 1 :(得分:0)

AFAIK没有直接设置新的&#34;默认&#34;为了这个功能。

我看到的唯一可行的方法是编写自己的包装函数:

function wp_get_recent_posts_title( $args = array(), $output = ARRAY_A ) {
    $defaults = array( 'orderby' => 'title' );
    $args = wp_parse_args( $args, $defaults );
    return wp_get_recent_posts( $args, $output );
}

你可以像原版一样调用此功能,它将转发所有参数,但“&#39; orderby&#39;将是&#39; title&#39;如果没有明确设置。

当然这只会在你调用它的地方起作用,它不会改变对原始函数的任何其他调用。