Кастомный шорткод постов
Я создаю несколько шорткодов для сайта, и со всех возможных опций запроса смог реализовать 'posts_per_page','post_type', 'order' и 'orderby'. Но в конечном итоге понадобилось 'posts__not__in' который ясным образом исключает те которые не надо выводить. Как 'post__not__in' вставить в атрибуты шорткода?
P.S. Вот ниже пример опций и запроса в котором я последним пробовал вызвать массив для исключения
extract( shortcode_atts( array (
'type' => 'post',
'order' => 'ASC',
'orderby' => 'date',
'posts' => 10,
'hide' => ''
), $atts ) );
// define query parameters based on attributes
$options = array(
'post_type' => $type,
'order' => $order,
'orderby' => $orderby,
'posts_per_page' => $posts,
'post__not__in' => array($notposts['hide'])
);
$query = new WP_Query( $options );
if ( $query->have_posts() ) {
while ( $query->have_posts() ) : $query->the_post();
//content
endwhile;
}
get_posts
'post__not__in' => array(1,2,5) в таком формате должен быть что бы игнорировать некоторые страницы, 1,2,5 это ID постов для игнора.
Посмотри тут и напиши нормальный луп https://wp-kama.ru/id_767/3-sposoba-postroeniya-tsiklov-v-wordpress.html