У меня есть сайт в разработке, и клиенту нужна новость и страница F.A.Q. Не проблема! Он хотел иметь возможность добавлять свои собственные сообщения (как в новостях, так и в часто задаваемых вопросах. Опять же, это не проблема! Последнее, что он просил, было то, что он мог управлять количеством сообщений, показывающих и какие должности, которые были показаны. это то, где я запутался. Я уже создал систему, в которой клиент может выбрать категорию для показа. (Я использую AwesomeBuilder для этого). Теперь у нас есть три разных типа сообщений. Обычный, Обычный + Липкий, и Если клиент выбирает вариант, чтобы показывать только обычные сообщения, я могу отключить липкие сообщения, используя post__not_in. Однако, если клиент выбирает либо обычный + липкий, либо липкий, функция количества больше не работает.Ограничить количество липких сообщений в wordpress
Скажем, клиент выбирает максимальное количество из 10 сообщений. В обычной категории это получает maxed до 10, и все. На липких сообщениях, однако, этого не происходит, он просто показывает все липкие сообщения si nce stickies говорят, чтобы всегда оставаться на вершине. Regular + Sticky покажет все липкие сообщения, за которыми следуют 10 обычных сообщений. Надеюсь, моя ситуация и проблема понятны.
Код ниже.
$sticky = get_option('sticky_posts');
$number = $atts['number'];
if ($atts['sticky'] == 'nieuws') {
$args = array('post__not_in' => $sticky, 'posts_per_page' => $number);
} elseif ($atts['sticky'] == 'nieuws-sticky') {
$sticky_count = count($sticky);
if ($sticky_count <= $number){
$number_sticky = $number - $sticky_count;
$args = array('post_type' => post, 'posts_per_page' => $number_sticky);
}
else {
// $sticky = array_slice($sticky,0, 1);
// echo 'hello'. $sticky;
$args = array('post__in' => $sticky);
}
} else {
// $sticky = array_slice($sticky,1, 2);
$args = array('post__in' => $sticky, 'posts_per_page' => $number);
}
пс. Я знаю THIS - о том же вопрос, но он еще не ответил.
Число $ задается пользователем с ползунком. Он получает правильную переменную, это проверяется тем фактом, что «обычные» сообщения работают нормально. –
попробуйте использовать show_posts или numberofposts вместо –
$ args = array ( 'showposts' => $ number ); –