n-wp.ru — блог о WordPress

Как удалять посты, не заходя в админку

Я уже писал о функции, которая помогает администратору редактировать , помечать как спам и удалять комментарии, не заходя в административную часть сайта. Однако меня тут же обескуражили вопросом, а можно ли сделать то же самое с постами — удалять их, не заходя в админку? Порывшись в интернете и изучив материалы по этой теме, я понял, что и это возможно.

Ссылка для редактирования поста или страницы появляется у вас и так автоматически. Давайте сделаем рядом с ней еще одну ссылку, кликнув по которой, вы отправите пост в корзину.

Откройте файл functions.php и вставьте в него такой код:

Этот код создает функцию, которая выводит ссылку на удаление. Ссылка эта доступна только тем, кто наделен соответствующими правами — то есть по умолчанию только администратору блога. Теперь осталось вывести эту ссылку в нужном месте. Для этого нужно вставить в single.php или а page.php, в цикл, где выводится содержимое, такой код:

Обратите внимание, что в качестве аргументов функции выступают название ссылки и разметка HTML до и после этой ссылки. Пользуйтесь!

16 комментариев

  • Начиная с версии 2.9, можно также воспользоваться встроенной функцией

    . В этом случае достаточно добавить подобный фрагмент внутри основного цикла:

  • вы хоть сами пользуетесь этими функциями? в курсе что после удаления таким способом идет переход на несуществующую страницу

    • Я удалял с главной, поэтому ошибка проявилась не сразу. Чтобы после удаления происходил переход на главную страницу, можно добавить фрагмент в functions.php активной темы:

    • Да, в курсе. Мне кажется, что так оно и лучше — движок как бы дает знать, что такой страницы уже действительно не существует — на то она и 404 страница.
      Если удалять с главной страницы или из архива, то переход идет на существующую страницу.
      Ваш метод

      и тот, кторый предложил Сергей Бирюков для вставки в functions.php

      — оба дают одинаковый результат и работают правильно. Спасибо!

  • Замечательный сайт, нашел здесь ответ на вопрос который нигде не мог найти. Огромное спасибо!
    Маленький вопрос по теме, после удаления поста редирект ведет на главную сайта, а можно ли сделать чтоб перенаправляло на страницу на которой был..?
    И после вставки кода

    в functions.php появилась ошибочка, после замены

    на

    все пришло в норму.

    • после удаления поста редирект ведет на главную сайта, а можно ли сделать чтоб перенаправляло на страницу на которой был..?

      Так а как переправить на страницу, которую вы только что удалили?

  • если удалена страница на которой был — понятно… а если нахожусь на 12 странице на которой анонсы статей… удаляю статью и перекидывает на 1 страницу, а нужно чтоб снова на 12…

  • пример с моим сайтом…
    я хочу удалить статью анонс которой находится на второй странице http://news-info.net/?paged=2
    после удаления меня перенаправит на http://news-info.net/, можно ли сделать чтоб в данном случае перенаправило снова на http://news-info.net/?paged=2…?
    Обратите внимание, что речь идет не о странице полной статьи…

    • Не знаю, будет ли работать… можно попробовать встроить редирект в функцию:

  • не получается, да и ладно и так нормальный вариант, спасибо за оказаную помощь =)

  • вопрос не по теме, как добавить на страницу код типа яваскрипт так чтоб он отображался в виде простого текста, а не выполнялся?

  • всмысле создаю страницу через админку и пишу текст страницы, в котором надо написать код <script type="text……… и никак не могу это воплотить так как скрипт выполняется…