У меня есть веб-сайт в разработке, и клиент хотел, чтобы у меня была страница с новостями и часто задаваемыми вопросами. Не проблема! Он хотел иметь возможность добавлять свои собственные сообщения (как в новости, так и в FAQ. Опять же, это не проблема! Последнее, что он просил, это возможность управлять количеством отображаемых сообщений и их типом. Теперь тут я запутался. Я уже построил систему, в которой клиент может выбрать категорию для показа (я использую для этого AwesomeBuilder). Теперь у нас есть три разных типа постов. Обычный, Обычный + Прилепленный и Sticky. Если клиент выберет параметр «Показывать только обычные сообщения», я могу отключить прикрепленные сообщения с помощью post__not_in. Однако, если клиент выбирает «Обычные + липкие» или «Прилепленные», функция суммы больше не работает.
Допустим, клиент выбирает максимальное количество сообщений 10. В обычной категории это максимальное значение составляет 10, и все. Однако на прилепленных постах этого не происходит, он просто показывает все прилепленные посты, поскольку прилепленным сообщениям сказано всегда оставаться наверху. Обычный + Прилепленный покажет все прикрепленные сообщения, за которыми следуют 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 );
}
пс. Я знаю, что ЭТО примерно тот же вопрос, но ответа на него пока нет.