Додаємо кнопку “Видалити” до коментарів у WordPress

Коли ви адмініструєте сайт на WordPress, іноді виникає необхідність змінити або видалити коментарі. Стандартний функціонал WordPress містить тільки кнопку «Редагувати», але для зручності не вистачає кнопки «Видалити».

Напишемо код, що являє собою функцію, яка додає кнопку “Видалити” до коментарів на вашому сайті WordPress. Це трохи прискорить модерування, особливо коли на сайті дуже багато коментарів і їх можна видаляти безпосередньо з інтерфейсу коментарів на сайті.

Додаємо кнопку "Видалити"

Вам потрібно відкрити файл функцій вашої теми WordPress. Зазвичай це файл functions.php, який знаходиться в папці вашої активної теми. Якщо тема не дозволяє редагувати цей файл, то його можна знайти через адмінпанель хостингу.

Скопіюйте і вставте наступний код у кінець файлу:

// Початок функції із додаванням кнопки “Видалити” до коментаря
function delete_comment_link($link, $id) {
     global $comment, $post;

// Перевірка дозволів користувача
     if ($post->post_type == ‘page’) {
          if (!current_user_can(‘edit_page’, $post->ID)) {
               return $link;
          }
     } else {
          if (!current_user_can(‘edit_post’, $post->ID)) {
               return $link;
          }
     }

// Ініціалізація змінної $link
     $link = $link . ‘ |’; // Додаємо роздільник

// Отримання ID коментаря
     $id = $comment->comment_ID;

// Формування посилання на видалення з використанням wp_nonce_url
     $delete_link = wp_nonce_url(get_comment_link($id) . ‘&action=deletecomment&c=’ . $id, ‘delete-comment_’ . $id);

// Додавання посилання “Видалити” до кнопки “Змінити”
     $link .= ‘ <a href=”‘ . esc_url($delete_link) . ‘”>Видалити</a>’;
     return $link;
}
add_filter(‘edit_comment_link’, ‘delete_comment_link’, 10, 2);
// Кінець функції із додаванням кнопки “Видалити” до коментаря

Збережіть зміни у файлі функцій теми. Тепер у Вас є кнопка “Видалити” біля кожного коментаря на вашому сайті. Видалення коментаря через дану кнопку, приведе вас на сторінку із підтвердженням, де коментар можна буде видалити остаточно, до корзини. Після видалення вас перенесе в адмін панель, до всіх коментарів.

Про сам код

  • Функція підключається через хук `edit_comment_link`, що дає змогу їй змінювати посилання на редагування коментаря, додаючи кнопку “Видалити”.
  • Функція перевіряє, чи має поточний користувач достатні права на видалення коментарів.
  • Функція формує посилання на видалення коментаря з використанням функції `wp_nonce_url`, що додає безпеку шляхом використання спеціального ключа, який унікальний для кожного коментаря.
  • Сформоване посилання на видалення додається до кнопки “Edit”, яка вже присутня у кожного коментаря в WordPress.
  • Змінене посилання повертається функцією, щоб замінити оригінальне посилання на редагування коментаря.

Цей код чудово підходить для тих, хто хоче спростити процес керування коментарями на своєму сайті WordPress, позбувшись зайвих опцій.

Залишити відповідь

Ваша e-mail адреса не оприлюднюватиметься. Обов’язкові поля позначені *