Как удалить все записи, страницы, комментарии в WordPress
Иногда бывает нужно очистить блог от контента, причин на самом деле может быть много:
- удаление тестового контента,
- вы решили вести блог на одну тематику, но потом передумали и перешли на другую,
- возможно вы решили отказаться от системы комментирования и, чтобы не засорять базу, удалить все комментарии на сайте.
Эти несколько причин — первое, что пришло мне на ум.
Итак, в этом посту мы рассмотрим все варианты (через админку, через phpMyAdmin, через код) удаления записей, страниц и комментариев на сайте.
Как удалить все посты (записи)?
Расмотрим три способа удаления постов.
Через админку
Самый простой способ, но может не работать, если в вашей теме или в плагинах слишком много навешано на фильтр delete_post
.
- Переходим в админке Записи > Все записи.
- Затем в правой верхней части экрана нужно открыть вкладку «Настройки экрана» и установить количество отображаемых записей больше или равным числу всех ваших записей. Жмём «Применить».
- Отмечаем чекбокс в шапке таблицы, тем самым выбираем все записи на странице.
- Из выпадающего списка действий выбираем «Удалить», затем жмём кнопку «Применить».
Записи будут перенесены в корзину и через некоторое время удалятся автоматически. Но вы конечно можете сами перейти в корзину и одним кликом удалить их вручную.
Через phpMyAdmin
Если у вас возникли проблемы с удалением постов в админке, давайте залезем в базу данных MySQL и попробуем выковырять их оттуда.
Прежде, чем запускать какой-либо из представленных здесь SQL-запросов, делайте резервные копии! А также убедитесь, что префикс таблиц в запросах соответствует префиксу в вашей базе данных (если не уверены, подставьте стандартный — wp_
, хуже от этого не будет, если только вашу базу данных не используют несколько сайтов на WordPress).
Итак, открываем phpMyAdmin, затем выбираем базу данных, использующуюся на сайте, переходим на вкладку SQL и вставляем туда следующее:
DELETE tb1,tb2 FROM {префикс}posts tb1 LEFT JOIN {префикс}postmeta tb2 ON ( tb1.ID = tb2.post_id ) WHERE tb1.post_type = 'post'
Жмём «ОК», чтобы выполнить запрос.
Удаление постов через код при помощи WP_Query и wp_delete_post()
Для тех, кто хорошо знаком с WP_Query, возможно этот способ окажется даже более удобным чем два других, потому что с помощью параметров WP_Query вы можете очень точно указать, какие посты хотите удалить.
Функция же wp_delete_post() позволяет удалить пост, ID которого указан в параметре.
$params = array( 'posts_per_page' => -1, // все посты 'post_type' => 'post' // записи, этот параметр можно не указывать, так как post - стоит по умолчанию ); $q = new WP_Query( $params ); if( $q->have_posts() ) : // если посты по заданным параметрам найдены while( $q->have_posts() ) : $q->the_post(); wp_delete_post( $q->post->ID, true ); // второй параметр функции true означает, что пост будут удаляться, минуя корзину endwhile; endif; wp_reset_postdata();
Как работать с этим кодом?
- Вставляем код в файл
functions.php
(вы найдёте его в папке с темой). - Обновляем любую страницу сайта, либо переходим в админку, чтобы убедиться, что записи удалены.
- Теперь удаляем код из файла (это можно сделать кстати, нажав комбинацию отмены Ctrl + Z для Windows или Cmd + Z для Мака).
Можно ли удалить все записи из какой-то конкретной рубрики?
Да конечно можно. Делается всё почти точно так же, как описано выше, только с небольшими изменениями.
- В первом способе, сразу после того, как мы вывели все записи на одной странице, нам нужно будет воспользоваться фильтром по рубрикам и только потом удалять все записи.
- Во втором способе просто немного изменится SQL-запрос. В новом запросе вам нужно будет указать ID рубрики, записи из которой хотите удалить.
DELETE tb1,tb2,tb3 FROM {префикс}posts tb1 LEFT JOIN {префикс}term_relationships tb2 ON ( tb1.ID = tb2.object_id ) LEFT JOIN {префикс}postmeta tb3 ON ( tb1.ID = tb3.post_id ) WHERE tb2.term_taxonomy_id = 16
- В третьем способе нам тоже потребуется знать ID категории, его нужно будет добавить к массиву параметров WP_Query.
$params = array( 'posts_per_page' => -1, // все записи 'post_type' => 'post', // записи, этот параметр можно не указывать, так как post - стоит по умолчанию 'cat' => 43 );
Как удалить все страницы
Удаление страниц в вордпресс не особо отличается от удаления записей, ведь по сути страницы — это те же посты, но другого типа (page
).
Избавиться от всех страниц на блоге вы сможете теми же самыми способами, описанными выше, но в каждом из способов будет одно небольшое изменение, давайте я вам покажу какое.
В первом способе вам надо будет перейти не в Записи > Все записи, а в Страницы > Все страницы (в принципе это должно быть очевидно).
Во втором способе изменится только четвёртая строчка SQL-запроса, т.е. сначала скопируйте описанный выше запрос, а затем замените его последнюю строку на:
WHERE tb1.post_type = 'page'
Если вы решите использовать третий способ для удаления страниц, тогда вам нужно будет использовать следующие параметры для WP_Query:
$params = array( 'posts_per_page' => -1, // все страницы 'post_type' => 'page' // страницы );
Удаляем комментарии на блоге
Теперь давайте посмотрим, как одним махом удалить все комментарии с сайта на WP. Здесь я рассмотрю два способа — через админку и через phpMyAdmin.
Если вам будет непонятен какой-либо из способов, вы можете почитать подробнее про каждый из них в начале статье (я всё подробно расписал, когда удалял записи на блоге).
Итак, первый способ. Переходим в админке в Комментарии, при помощи настроек экрана устанавливаем, чтобы все комментарии отображались на одной странице, затем массово выделяем их галочкой, из выпадающего меню выбираем «Удалить» и жмём кнопку «Применить».
Второй способ. Открываем в phpMyAdmin вкладку SQL для текущей базы данных на сайте и выполняем:
DELETE tb1,tb2 FROM {префикс}comments tb1 LEFT JOIN {префикс}commentmeta tb2 ON ( tb1.comment_ID = tb2.comment_id )
Если у вас возникли какие-либо вопросы, пожалуйста, задайте их в комментариях.
Миша
В последние годы я долго не знал, что мне делать с сайтом misha.blog, ведь он практически не приносит никакого профита, но недавно я осознал, что моя миссия – способствовать распространению WordPress. Ведь WordPress – это лучший движок для разработки сайтов – как для тех, кто готов использовать заложенную структуру этой CMS, так и для тех, кто предпочитает headless решения.
Сам же я впервые познакомился с WordPress в 2009 году. Организатор WordCamp. Преподаватель в школах Epic Skills и LoftSchool.
Если вам нужна помощь с вашим сайтом или может даже разработка с нуля на WordPress / WooCommerce — пишите. Я и моя команда сделаем вам всё на лучшем уровне.
Как вывести все записи WordPress на одной странице?
Иногда бывает необходимо вывести все опубликованные записи на одной странице, без использования пагинации. Это нужно, например, при построении HTML-карты сайта. Для решения этой задачи есть несколько способов. Рассмотрим самые популярные и самые простые из них.
Способ 1. Плагин Display Posts Shortcode
Бесплатное дополнение Display Posts Shortcode способно вывести все записи без каких-либо настроек. Достаточно его просто установить и активировать. Давайте выведем список постов на странице. Для этого создадим новую страницу (через Страницы -> Добавить новую) и добавим в ее содержимое следующий шорткод:
[display-posts posts_per_page="1000" order="DESC"]
После публикации страницы (кнопка Опубликовать), на ней будет отображен нужный нам список.
Отметим, что данный шорткод отображает 1000 записей. Вместо этой цифры можно указать любое необходимое число.
Способ 2. Плагин Simple Yearly Archive
Бесплатный плагин Simple Yearly Archive позволит Вам вывести на одной странице все записи, сгруппированные по годам. Для этого, как и в предыдущем способе, достаточно будет просто установить и активировать плагин, а затем на страницу вставить следующий шорткод:
[SimpleYearlyArchive]
Результатом работы дополнения будет список:
Если Вам понравилась статья — поделитесь с друзьями
Михаил Петров
Привет! Меня зовут Михаил Петров. Я копирайтер и занимаюсь этим с 2013 года. Скрупулезность и ответственность — моя фишка! Не могу делать как попало и добиваюсь, чтоб заказчик сказал минимум “неплохо”. За все время своей работы пришлось написать и отредактировать немало разной “текстовухи”, включая SEO-тексты, отзывы и прочую чушь. На сегодняшний день специализируюсь на написании информационных статей и руководств технического направления. Вижу смысл и светлое будущее в текстах для людей, а не для машин.
Как удалить все записи на WordPress
Не так давно на одном из моих проектов возникла необходимость почистить базу и полностью удалить все записи на Вордпрессе. Начал искать, ответ нашел далеко не сразу в связи, с чем и решил написать эту статью, чтобы в дальнейшем более не у кого не возникало таких проблем.
Как удалить все записи на WordPress
Для того чтобы удалить записи вам нужно перейти в административную панель вашего сайта на Вордпрессе и установить новый плагин. Для этого переходите в панель «Плагины» => «Добавить новый» в поисковой строке вам необходимо ввести «Bulk Delete», установить и активировать этот плагин.
После того как вы активируете плагин в административной панели у вас появится новое меню «Bulk WP» в нем вам необходимо выбрать раздел «Bulk Delete Post» или «Массовое удаление записей». Перед вами откроется большое подменю состоящее из нескольких мини разделов позволяющее удалить записи по различным признакам: «По статусу записи», «Удаление по рубрикам», «По метке», «По произвольной таксономии», «По произвольному типу записей», «По url», «По редакции записей», у плагина есть еще и другие функции, но они платные и для меня они были не актуальны. Выбрав нужный признак и выставив необходимые вам настройки вы без особого труда удалите все записи просто нажав на кнопку «Удалить».
Внимание! Обязательно перед удалением проверьте, есть ли у вас резервная копия вашей базы.
Лично для моих целей мне вполне хватило и первых двух, скажу только свои наблюдения, когда я ставил в первом пункте удалить все записи (у меня их было не много ни мало 12 тыс. записей), то у меня возникла ошибка 501. Поэтому я начал удалять по рубрикам и подобные ошибки у меня возникали, но не так часто, поскольку число постов в рубриках было небольшим до 1000 записей. Конечно это скорее всего было связанно с хостингом, поскольку я еще не до конца перенес все проекты на другой хостинг, а сайт на котором я делал удаление записей был еще на старом хостинге . Может быть это не так важно, но тем не менее я обращаю это ваше внимание.
Если вы хотите поменять хостинг, советую почитать мою статью про то, что такое хостинг и ТОП-5 лучших хостингов для сайта
Плагин удаляется стандартно как и все плагины в Вордпрессе. Заходите в админку переходите в плагины и выбираете нужный. В данном случае название плагина будет переведено на русский язык и будет называться «Массовое удаление». Мне же плагин в дальнейшее пригодится, и поэтому я просто нажимаю «Деактивировать», до следующего удаления записей с сайта.
На этом в принципе все, теперь вы знаете, как самостоятельно можно удалить статью. Вы так же можете посмотреть другие особенности данного плагина возможно найдете для себя еще что-то полезное.
Если вам была полезной и понравилась статья про то, как удалить все записи на WordPress пишите свои комментарии и предложения. С уважением Юрий, до встречи на страницах блога iprodvinem.ru
Как вывести записи WordPress ( Вордпресс ) на одной странице
WordPress поставляется со встроенными страницами архива для каждой категории, тегов, автора и даты.
Многие владельцы сайтов предпочитают создавать страницу архивов для своего сайта. Страница архивов обычно выделяет их популярные WordPress записи и отображает список на основе даты, категории категорий или облака тегов
Некоторые блоги предпочитают просто отображать список всех своих записей WordPress на одной странице.
Отображение всех сообщений ( записей ) WordPress на одной странице
Существует множество способов отобразить записи WordPress на одной странице. Вы можете отображать записи WordPress на странице с помощью шорткода. Кроме того, вы можете отображать сообщения WordPress на странице с помощью плагина.
Способ 1: Использование плагина Shortcode для отображения вордпресс записей
Во-первых, вам нужно установить и активировать плагин Display Shortcode.
Создайте новую страницу и назовите ее Архив или любым другим названием. После этого вам нужно вставить следующий шорткод на свою страницу.
[display-posts posts_per_page = «1000» order = «DESC»]
1000 — количество записей.
Этот шорткод будет просто отображать список всех ваших заголовков в хронологическом порядке. Он отображает максимум 1000 сообщений на страницу.
Хотя вы можете использовать шорткод для отображения картинок и короткого описания к записям мы не рекомендуем это делать. Когда вы публикуете все свои сообщения на одной странице, эта страница будет длинной и картинки с текстом могут ее перегрузить
Способ 2. Использование WordPress плагина для вывода вордпресс записей
Отображение ваших сообщений WordPress на одной странице может сделать страницу слишком длинным для прокрутки. Вы можете это исправить, указав список каждого года. Затем пользователи могут щелкнуть по году, чтобы развернуть его и посмотреть вордпресс записи, опубликованные в этом году.
Прежде всего вам нужно установить и активировать плагин Simple Yearly Archive.
После активации вам нужно перейти на страницу настроек « Simple Yearly Archive», чтобы настроить параметры плагина.
Плагин позволяет вам отображать список сообщений различными способами. Вы можете показать их по ссылкам на ежегодные архивы, или вы можете показать их виде разворачивающихся списков, созданных по году
Если вы хотите отображать их в виде разворачиваемых годов, вам нужно добавить <div> и </ div> рядом с опцией «До / После (Заголовок года)».
Не забудьте нажать кнопку «Сохранить», чтобы изменить настройки.
Теперь, чтобы отобразить все ваши сообщения на странице, вам просто нужно добавить шорткод [SimpleYearlyArchive] на страницу по вашему выбору.
Как вывести блог на отдельной странице в WordPress.
Я видел много сайтов на WordPress, у которых на главной странице отображается какая-нибудь статичная страница, а страница блога находится отдельно, например yourwebsite.com/blog
.
Как же это реализовать на своём собственной сайте? На самом деле существует два способа — один простой и один не очень, рассмотрим их оба.
Способ 1. Использование index.php в качестве шаблона блога.
Это стандартный способ, предусмотренный в WordPress. Скорее всего на тех сайтах, про которые я говорил в самом начале поста, используется именно он. Рассмотрим пошагово.
Кстати, так как в разных темах содержимое файла index.php
разное — оно может быть совсем не предназначено для блога, в таких случаях либо меняем сами свой index.php
либо воспользуемся вторым способом, который я описал чуть ниже.
Шаг 1. Создание страницы блога.
Ну, что тут сказать, переходим в Страницы > Добавить новую, указываем какой-нибудь заголовок, например Блог и какой-нибудь URL, например blog, после этого сохраняем. Всё, с шагом 1 покончено.
Шаг 2. Настраиваем отображение страниц в настройках.
Переходим в Параметры > Чтение, настраиваем отображение нужной страницы на главной, а для страницы записей устанавливаем созданную в предыдущем шаге.
Шаг 3. Последний шаг. Добавляем страницу в меню.
Уже после завершения второго шага при переходе по адресу блога (у нас это yourwebsite.com/blog
), у вас будет отображаться страница с записями, использующая шаблон файла index.php
.
Тем не менее можно также добавить эту страницу в меню сайта (если поддерживается темой разумеется). Для этого переходим в Внешний вид > Меню, слева в колонке выбираем нашу страницу блога и нажимаем кнопку «Добавить в меню»
Способ 2. Использование собственного шаблона блога. Создание нескольких блогов на одном сайте WordPress.
Этот способ позволяет создавать страницы блога, используя свой собственный шаблон. Этот способ отлично подходит, если вам требуется изменить параметры вывода постов. Можно создавать разные страницы с разными параметрами вывода.
Шагов будет чуть побольше и они будут немного позаковырестей, чем в предыдущем методе. Итак, поехали.
Шаг 1. Создание шаблона страницы
Открываем папку с темой и создаем там файл произвольного названия, например blog-template.php
. Внутрь файла вставляем:
<?php /* * Template name: Блог */
Шаг 2. Создаем страницу блога
Этот шаг аналогичен первому шагу из начала поста. Итак, переходим в Страницы > Добавить новую, придумываем название и URL странице, и кроме всего прочего в атрибутах страницы указываем только что созданный нами шаблон.
Сохраняем.
Шаг 3. Плагин постраничной навигации
Однозначно, что нам понадобится постраничная навигация. Скорее всего у вас уже используется какой-то плагин или функция навигации. Если же навигация не будет работать, рекомендую поставить WP_PageNavi — этот плагин работает отлично, я его протестировал, всё ок.
Шаг 4. Шаблон страницы блога
Это голый шаблон блога, без таких важных функций как get_header(), get_footer() и прочего. Просто в данный момент важно понять саму суть.
<?php /* * Template name: Блог */ $current_page = (get_query_var('paged')) ? get_query_var('paged') : 1; // определяем текущую страницу блога $args = array( 'posts_per_page' => get_option('posts_per_page'), // значение по умолчанию берётся из настроек, но вы можете использовать и собственное 'paged' => $current_page // текущая страница ); query_posts( $args ); $wp_query->is_archive = true; $wp_query->is_home = false; while(have_posts()): the_post(); ?> <h3><?php the_title() /* заголовок */ ?></h3> <p><?php the_content() /* содержимое поста */ ?></p> <?php endwhile; if( function_exists('wp_pagenavi') ) wp_pagenavi(); // функция постраничной навигации
Всё, страница блога создана, вы можете таким образом создать различные страницы блогов с разными параметрами массива $args. Полный список параметров здесь.
Миша
В последние годы я долго не знал, что мне делать с сайтом misha.blog, ведь он практически не приносит никакого профита, но недавно я осознал, что моя миссия – способствовать распространению WordPress. Ведь WordPress – это лучший движок для разработки сайтов – как для тех, кто готов использовать заложенную структуру этой CMS, так и для тех, кто предпочитает headless решения.
Сам же я впервые познакомился с WordPress в 2009 году. Организатор WordCamp. Преподаватель в школах Epic Skills и LoftSchool.
Если вам нужна помощь с вашим сайтом или может даже разработка с нуля на WordPress / WooCommerce — пишите. Я и моя команда сделаем вам всё на лучшем уровне.