我通过使用wp-ajax环境解决了这个问题。本质上,我为comment\\u row\\u actions过滤器创建了回调函数,该过滤器创建了指向admin ajax的链接。在admin目录中使用一个查询字符串。然后,我创建了add\\u操作以在wp\\u ajax环境中运行,并重定向回引用页面。我无法通过评论找到解决方案。php。
代码如下:
function my_filter_comment_row_actions($actions, $comment) {
if ($comment->comment_approved == \'0\') {
//build link
$nonce = wp_create_nonce(\'mynonce\');
$screen = get_current_screen();
$args = array(
\'c\' => $comment->comment_ID,
\'action\' => \'my_ajax_action\',
\'another_query\' => \'1\',
\'_wpnonce\' => $nonce,
\'refer\' => $screen->parent_file
);
$link = esc_url(add_query_arg($args, admin_url(\'admin-ajax.php\')));
$actions[\'the_new_link\'] = sprintf(\'<a href="%s" style="color:green">The New Link Text</a>\', $link);
}
return $actions;
}
add_filter(\'comment_row_actions\', \'my_filter_comment_row_actions\', 10, 2);
因此,有一个带有回调的过滤器来创建链接。现在谈谈“AJAX”,它实际上不是AJAX。
function my_approve_comment_with_tracking() {
if (wp_verify_nonce($_REQUEST[\'_wpnonce\'], \'mynonce\')) {
//do stuff
wp_redirect(admin_url($_REQUEST[\'refer\']));
} else wp_redirect(home_url());
exit;
}
add_action(\'wp_ajax_my_ajax_action\', \'my_approve_comment_with_tracking\');
希望这对别人有帮助。