Давайте разделим ваш вопрос на две части: ответ на комментарий в админке WordPress и изменение статуса, а затем добавление чекбокса с использованием хука и изменение статуса комментария на основе состояния чекбокса.
### Ответ на комментарий и установка статуса "ожидание"
1. Чтобы ответить на комментарий в админке WordPress:
- Войдите в админку WordPress.
- Перейдите в раздел "Комментарии".
- Найдите комментарий, на который вы хотите ответить.
- Нажмите на кнопку "Быстрое редактирование" или "Ответить" под ним.
2. Чтобы установить комментарий в статус "ожидание":
- В том же разделе "Комментарии" выберите комментарий.
- Используйте выпадающее меню действий, чтобы изменить статус (например, "Утвердить" или "Спам").
- Вы также можете ответить на комментарий, и он будет автоматически утвержден, если у вас не включена настройка предварительной модерации комментариев.
### Добавление чекбокса в \wp-admin\includes\template.php и изменение статуса комментария
Вмешательство в ядро WordPress (например, прямое редактирование файлов ядра, таких как template.php) нежелательно, так как при обновлении WordPress все изменения будут утеряны. Вместо этого воспользуйтесь хуками и фильтрами, которые предусмотрены WordPress для расширения функциональности.
Для добавления чекбокса в админку WordPress вы можете использовать хук, например, `add_meta_boxes_comment`. В вашем файле `functions.php` темы или плагина код может выглядеть примерно так:
```php
function add_custom_checkbox_to_comment() {
add_meta_box('custom_comment_checkbox_id', 'Custom Comment Checkbox', 'output_custom_checkbox', 'comment', 'normal', 'high');
}
function output_custom_checkbox($comment) {
// Генерация HTML-кода чекбокса
echo '<input type="checkbox" id="custom_comment_checkbox" name="custom_comment_checkbox" value="yes" />';
echo '<label for="custom_comment_checkbox">Check this box if you want to mark comment as pending.</label>';
}
add_action('add_meta_boxes_comment', 'add_custom_checkbox_to_comment');
// Хук для сохранения значения чекбокса
function save_custom_comment_checkbox($comment_id) {
if (isset($_POST['custom_comment_checkbox'])) {
// Здесь логика обработки состояния чекбокса, например, установка комментария в ожидание
// Не забудьте проверить значение nonce, если вы используете его, для безопасности
}
}
add_action('edit_comment', 'save_custom_comment_checkbox');
```
При этом убедитесь, что проверяете и сохраняете состояние чекбокса правильно, включая использование нонсов для защиты от CSRF-атак.
### Требования к вашему коду
1. **Проверить отправку чекбокса:**
Важно проверять, был ли чекбокс установлен и отправлен в форме на сервер. Используйте `isset()` для проверки существования `$_POST['custom_comment_checkbox']`.
2. **Безопасность:**
Всегда убедитесь, что обрабатываете данные безопасно. Используйте функции WP для обработки данных (например, `wp_verify_nonce()`, если вы используете nonce