showposts
является устаревшим. Однако posts_per_page
предназначен для использования с query_posts()
или, более конкретно, WP_Query::query()
.
numberposts
- эквивалентный аргумент для get_posts()
.
ПРИМЕЧАНИЕ. Я удалил свой первоначальный ответ относительно неправильной обработки аргументов внутри get_posts()
.
posts_per_page
не является допустимым аргументом для get_posts()
по семантическим причинам, поскольку предлагает идею нумерации страниц , то, что get_posts()
не поддерживает.
Для ясности и от имени комментария @ RichardM, вот тощий, который я изначально написал;
Дело в том, как get_posts()
анализирует аргументы перед передачей их WP_Query
.
Я сократил это до настоящих основ;
function get_posts($args = null)
{
$defaults = array('numberposts' => 5);
$r = wp_parse_args($args, $defaults);
if (!empty($r['numberposts']))
$r['posts_per_page'] = $r['numberposts'];
$get_posts = new WP_Query;
return $get_posts->query($r);
}
Посмотрите, как numberposts
перезаписывает posts_per_page
, не учитывая условие прохождения posts_per_page
?