WEBWordPressВсе для functions.php

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

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

Итак, допустим, у вас уже настроен сайт на 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

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

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

Похожие сообщения
WordPressWordPress - Админка

Как настроить общие параметры WordPress

WordPressПолезные сайты

Синтез речи для вашего веб-сайта - 7 лучших решений

JavaScriptWEBПолезные сайты

Изучаем основы Vue с Vue 3

GoogleWordPressНовости и сообщество

WordPress может рассматривать Google FloC как проблему безопасности

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *