TechBlogSD - Все для WordPress и WEB разработки
WEB и WordPress инструкции, новости, обзоры тем и плагинов

Как в WordPress удалять посты из внешнего интерфейса страницы

1 060

Итак, допустим, у вас уже настроен сайт на WordPress, так что пользователям вообще не нужно видеть бэкэнд. Возможно, вы использовали мини-формы Gravity Forms или плагин WP-Recall (что действительно здорово), чтобы пользователи могли отправлять сообщения через интерфейс вашего сайта. Возможно, вы даже добавили свой собственный код или плагин, который позволяет вашим пользователям редактировать свои профили из внешнего интерфейса.

В общем…

Черт возьми, что если вы хотите разрешить пользователям удалять свои посты из внешнего интерфейса? Есть несколько плагинов, которые позволяют вам редактировать пост из внешнего интерфейса, но я не смог найти ни одного плагина, который позволил бы полностью удалить пост (на самом деле, мы перемещаем пост в корзину , но небольшая разница) ,

Как разрешить авторам WP удалять свои сообщения без доступа к бэкэнду

Код:

<?php if ($post->post_author == $current_user->ID) { ?> <p><a onclick="return confirm('Вы уверены, что хотите удалить эту запись?')" href="<?php echo get_delete_post_link( $post->ID ) ?>">Удалить запись</a></p> <?php } ?>

Давайте разберемся с этим кодом, не так ли?

if ($post->post_author == $current_user->ID) {

Здесь мы проверяем, вошел ли текущий пользователь в систему и является ли он автором сообщения. Если это так, мы продолжаем, если нет, мы ничего не делаем, и пользователь не видет ссылку для удаления сообщения.

onclick="return confirm('Вы уверены, что хотите удалить эту запись?')"

Здесь мы просто используем Javascript для всплывающего окна с предупреждением о том, что пользователь хочет удалить сообщение.

echo get_delete_post_link( $post->ID )

Это встроенная функция WordPress, которая сделает всю тяжелую работу за нас.

Как использовать

Просто примените данный код:

<span class="php"><span class="hljs-meta"><?php</span> <span class="hljs-keyword">if</span> ($post->post_author == $current_user->ID) { <span class="hljs-meta">?></span></span> <span class="hljs-tag"><<span class="hljs-name">p</span>></span><span class="hljs-tag"><<span class="hljs-name">a</span> <span class="hljs-attr">onclick</span>=<span class="hljs-string">"return confirm('Вы уверены, что хотите удалить эту запись?')"</span> <span class="hljs-attr">href</span>=<span class="hljs-string">"<?php echo get_delete_post_link( $post->ID ) ?>"</span>></span>Удалить<span class="hljs-tag"></<span class="hljs-name">a</span>></span><span class="hljs-tag"></<span class="hljs-name">p</span>></span> <span class="php"><span class="hljs-meta"><?php</span> } <span class="hljs-meta">?></span></span>

В файле темы single.php

Тада! Вот и все друзья :)!

Источник записи:

Этот веб-сайт использует файлы cookie для улучшения вашего опыта. Мы предполагаем, что вы согласны с этим, но вы можете отказаться, если хотите. Принимаю Подробнее