Как вывести на странице список всех записей сайта?
Очень часто на форумах поддержки WordPress возникает вопрос о том, как в записи или на странице вывести список всех существующих на сайте записей. Зачем это нужно каждый решает сам. Кто-то таким образом вручную создает карту сайта, а кому-то это надо для замены рубрик. В большинстве случаев, подобная задача решается с помощью сторонних плагинов. Но если вам надо просто вывести список записей и ничего больше, то использование сторонних плагинов тут будет неоправданным. Вывести список всех записей можно с помощью небольшого шорткода [allposts], который вы вольны добавить куда угодно. Совсем недавно я рассматривал вопрос о том, как вывести список всех меток или рубрик сайта в алфавитном порядке, с записями принцип практически тот же. Для этого вам необходимо добавить в файл functions.php вашей темы следующий код:
//вывод списка всех записей сайта с помощью шорткода start function wph_allposts_shortcode($atts, $content) { $args = array( 'post_type' => 'post', 'post_status' => 'publish', 'posts_per_page' => -1, 'orderby' => 'title', 'order' => 'ASC' ); $query = new WP_Query( $args ); if( $query->have_posts() ) { echo '<ul class="allposts">'; while ( $query->have_posts() ) { $query->the_post(); echo '<li><a href="'.get_the_permalink().'">' . get_the_title() . '</a></li>'; } echo '</ul>'; } wp_reset_postdata(); } add_shortcode('allposts', 'wph_allposts_shortcode'); //вывод списка всех записей сайта с помощью шорткода end |
При желании вы можете поправить аргументы WP_Query, если вам надо получить список записей с какими-либо дополнительными условиями (фильтрация по рубрикам, датам и т.д.). По умолчанию шорткод выведет список в алфавитном порядке.
Приветствую!
Не подскажете в чем дело, не могу опубликовать или сохранить запись. Ничего не трогал, вдруг перестало работать-даже нет сохранения, пишет "нет соединения с сервером". Но сайт спокойно работает и страницы открываются.
Спасибо за актуальную тему. Только разъясните пожалуйста подробнее для "чайника", как и куда нужно вставлять шорткод [allposts]? Если его просто в страницу вставляю, то он не воспринимается как шорткод.
Спасибо
в контент записи. в режиме Текст или виджетом Шорткод.
А возможно ли вывести на страницу(запись) список рубрик? С описанием из раздела настройки рубрики? Спасибо