В своем шорткоде я хочу получать сообщения от моего custom_type_post, но фильтруя их по идентификаторам, post_type и posts_per_page
например [myshortcode type="my_custom_type_post"]
- чтобы показать все сообщения в my_custom_type_post
или [myshortcode type="my_custom_type_post" no_of_posts="3"]
- чтобы показать только 3 сообщения
или [myshortcode type="my_custom_type_post" no_of_posts="1" id="112"]
- чтобы показать это конкретное сообщение
Вот мой код.Это работает, когда я только отправляю type и posts_per_page, а идентификаторы НО не работают, когда я хочу отобразить все сообщения или с no_of_posts
// extracting values from shortcode
extract( shortcode_atts( array (
'type' => '',
'no_of_posts' => '',
'id' => ''
), $atts ) );
$id_array = array_map('intval',explode(',',$id));
$args = array(
'post_type' => $type,
'posts_per_page' => $no_of_posts,
'post__in' => $id_array
);
и затем передаю значения в wp_query
$query = new WP_Query( $args );
if( $query->have_posts() ){
/*printing out results*/
}