要使用AJAX将WordPress文章移到回收站中,你需要编写一些自定义的JavaScript代码和PHP代码来实现这个功能。以下是一个基本的示例:

  1. 在主题目录中创建一个JavaScript文件(比如custom.js

    采用AJAX方式将WordPress文章移到回收站中

    ):
jQuery(document).ready(function($) {
    $('.movetotrashbutton').on('click', function(e) {
        e.preventDefault();

        var postId = $(this).data('postid');

        $.ajax({
            type: 'POST',
            url: ajaxurl,  // WordPress提供的全局变量,用于指定adminajax.php的路径
            data: {
                action: 'move_to_trash', // 这是我们在WordPress中注册的动作名称
                post_id: postId // 传递到后台的文章ID
            },
            success: function(response) {
                if (response.success) {
                    alert('文章已移至回收站!');
                    location.reload(); // 刷新页面
                } else {
                    alert('发生错误,请重试!');
                }
            }
        });
    });
});
  1. 在主题的functions.php文件中添加后台处理函数:
function move_to_trash() {
    $post_id = $_POST['post_id'];

    // 将文章移至回收站
    wp_trash_post($post_id);

    // 返回成功响应
    wp_send_json_success();
}

// 将动作注册到wp_ajax_前缀中,例如:wp_ajax_move_to_trash
add_action('wp_ajax_move_to_trash', 'move_to_trash');

这段PHP代码将创建一个名为move_to_trash的函数,该函数将接收通过AJAX发送的文章ID,然后将该文章移至回收站。

  1. 在你的模板文件中调用JavaScript:

在你想要提供"将文章移到回收站"功能的地方,可以添加一个按钮或链接,如下所示:

<a href="#" class="movetotrashbutton" datapostid="POST_ID_HERE">将文章移到回收站</a>

请将POST_ID_HERE替换为实际的文章ID。

  1. 确保你的模板文件正确加载了custom.js

在你的主题文件中确保以下代码之一:

wp_enqueue_script('customscript', get_template_directory_uri() . '/custom.js', array('jquery'), null, true);

或者如果你是在插件中使用这个功能:

wp_enqueue_script('customscript', plugins_url('/custom.js', __FILE__), array('jquery'), null, true);

以上是一个基本的示例,你可以根据需要进行修改和扩展。务必在使用之前进行测试,以确保所有功能正常运行,并根据实际需求进行适当的安全性检查。