Я провел немного времени и заставил это работать.Ключ в том, что вы можете использовать WP API в своем скрипте, включив wp-load.php.
Я проверил это ниже, и это работает в моем Wordpress.Он использует параметры GET «commentid» и «status».Я оставляю вам возможность расширять, тестировать на наличие ошибок, обеспечивать соответствующие механизмы безопасности и т. Д.
<?php
include('wp-load.php');
echo 'Running comment approval...<br>';
$wp_error = false;
if(isset($_GET['commentid']) && isset($_GET['status']) )
{
$comment_id = $_GET['commentid'];
$comment_status_to_set = $_GET['status'];
$current_status = wp_get_comment_status( $comment_id );
echo 'Current comment status is ' . $current_status .'<br>';
echo 'Setting status to ' . $comment_status_to_set . '<br>';
$res = wp_set_comment_status($comment_id, $comment_status_to_set, $wp_error);
$new_current_status = wp_get_comment_status( $comment_id );
echo 'Now status is ' . $new_current_status . '<br>';
}
else
{
echo 'No comment parameters passed in url';
}
?>
А вот использование wp_set_comment_status из исходного кода:
- @ param int $ comment_id Идентификатор комментария.
- @ param string $ comment_status Новый статус комментария: «Удерживать», «Утвердить», «Спам» или «Удалить».
- @ parambool $ wp_error Возвращать ли объект WP_Error в случае сбоя.По умолчанию установлено значение false.
- @ return bool False при ошибке или удалении и true при успехе.
Кроме того, любопытные могут узнать, как я решил эту проблему ... в основномЯ проверил каталог / wp-includes / WP, чтобы увидеть, есть ли какие-либо файлы, связанные с комментариями.Там есть файл с именем comment.php, в котором есть большинство, если не все, основные функции манипулирования комментариями, которые использует WordPress API.