要使用AJAX将WordPress文章移到回收站中,你需要编写一些自定义的JavaScript代码和PHP代码来实现这个功能。以下是一个基本的示例:
custom.js
):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('发生错误,请重试!');
}
}
});
});
});
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,然后将该文章移至回收站。
在你想要提供"将文章移到回收站"功能的地方,可以添加一个按钮或链接,如下所示:
<a href="#" class="movetotrashbutton" datapostid="POST_ID_HERE">将文章移到回收站</a>
请将POST_ID_HERE
替换为实际的文章ID。
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);
以上是一个基本的示例,你可以根据需要进行修改和扩展。务必在使用之前进行测试,以确保所有功能正常运行,并根据实际需求进行适当的安全性检查。