我想更改“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而不编辑其他文件。
感谢。
答案 0 :(得分:0)
<?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;如果没有明确设置。
当然这只会在你调用它的地方起作用,它不会改变对原始函数的任何其他调用。