17
Авг
2017

Вывод записей на любой странице шорткодом WordPress

Появилась необходимость сделать шорткод, который выводит записи на любой странице блога. Ранее использовал стандартный цикл в index.php и все выводилось корректно. Для реализации шорткода прописал в функции тот же код:

    add_shortcode('shop-code', 'my_shortcode_function');
    function my_shortcode_function() {
     if ( have_posts() ) : 
            // Start the loop.
            while ( have_posts() ) : 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;

}

В content.php реализовал вывод записи в нужном мне виде. Когда вставляю шорткод на нужную страницу, он начинает бесконечно просто повторять содержимое страницы, записи не выводит. Подскажите как изменить код шорткода, чтобы заработало?

Источник: https://ru.stackoverflow.com/questions/707109/%D0%92%D1%8B%D0%B2%D0%BE%D0%B4-%D0%B7%D0%B0%D0%BF%D0%B8%D1%81%D0%B5%D0%B9-%D0%BD%D0%B0-%D0%BB%D1%8E%D0%B1%D0%BE%D0%B9-%D1%81%D1%82%D1%80%D0%B0%D0%BD%D0%B8%D1%86%D0%B5-%D1%88%D0%BE%D1%80%D1%82%D0%BA%D0%BE%D0%B4%D0%BE%D0%BC-wordpress

Share

Тебе может это понравится...