WordPress 后台回收站功能用于存储被删除的文章和页面,方便用户误删除时进行恢复,但是默认情况用户却无法直接编辑回收站中的文章,只能选择恢复或删除。如果想要更灵活地管理这些回收站文章,就需要进行二次开发来允许编辑回收站中的文章,所有技术宅今天就来给大家分享一个简单的解决版本,通过以下步骤为回收站文章增加编辑按钮。
解决思路非常简单,直接通过 post_row_actions 勾子直接给回收站的文章增加一个编辑按钮,然后最重要的一步就是将需要编辑的这边文章自动将状态重回收站的 trash 状态变更为草稿 draft,所有这里直接使用 WordPress 提供的 wp_untrash_post 函数即可完成。
// 回收站增加编辑按钮
add_filter('post_row_actions', function($actions, $post) {
if ($post->post_status === 'trash') {
$actions['edit'] = '<a href="' . get_edit_post_link($post->ID) . '">' . __('Edit') . '</a>';
}
return $actions;
}, 10, 2);
// 回收站恢复为草稿
add_action('admin_init', function() {
if (isset($_GET['action']) && $_GET['action'] === 'edit' &&isset($_GET['post']) && $post = get_post($_GET['post'])) {
if ($post->post_status === 'trash') {
wp_untrash_post($post->ID);
}
}
});
将以上代码完成的复制粘贴到你当前 WordPress 主题文件夹中的 functions.php 文件中即可实现。以上代码其实除了对 WordPress 文字类型生效,也包括 page 页面以及所有的自定义文章类型都可以实现。