Как создать шорткод последних страниц WP?

Здравствуйте!

Помогите пожалуйста решить проблемку:

Есть функция создания шорткода - мне нужно создать шорткод последних страниц из рубрики...именно страниц, а не записей
И воэто это выдает ошибку
function my_shortcode_function() {
    $args = array(
        'posts_per_page' => 10,
        'numberposts' => 6,
        'category' => 1,
        'post_status' => 'publish',
        'post_type' => 'page',
    );
    $my_query = new WP_Query( $args );
    if ( $my_query->have_posts() ) :
        // Start the loop.
        while ( $my_query->have_posts() ) : $my_query->the_post();

            /*
             * Include the Post-Format-specific template for the content.
             * If you want to override this in a child theme, then include a file
             * called content-___.php (where ___ is the Post Format name) and that will be used instead.
             */
            get_template_part( 'template-parts/content', get_post_format() );

            // End the loop.
        endwhile;
    // If no content, include the "No posts found" template.
    else :
        get_template_part( 'template-parts/content', 'none' );

    endif;
    }


В чем может быть проблема?

При этом, если ставить 'post_type' => 'post' - тогда все нормально работает
  • Вопрос задан
  • 25 просмотров
Решения вопроса 1
DELUX
@DELUX Автор вопроса
Справился...все оказалось просто)

function my_shortcode_function() {
	global $wp_query;
	$wp_query = new WP_Query(array(
		'category_name' => 'portfolio',
		'post_type' => 'page',
		'posts_per_page' => '1',
		'paged' => get_query_var('paged') ?: 1
	));
ob_start();
	if ( have_posts() ) :
	        while ( have_posts() ) : the_post();
	        	
	            get_template_part( 'template-parts/content', get_post_format() );

	        endwhile;
	    else :
	        get_template_part( 'template-parts/content', 'none' );
	    endif;

	posts_nav_link(); 
	wp_reset_query();
	$out = ob_get_clean();
	return $out;
}
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы