如何将我的博客用户的“搬到垃圾桶”改成“搬到草稿”?

时间:2015-09-23 作者:Muklesur Rahaman

我希望只有管理员和编辑角色可以在我的博客中使用“移动到垃圾桶”选项,其他用户将获得“移动到草稿”选项。

与仪表板所有帖子中的“快速编辑”/“批量操作”选项以及帖子编辑器侧栏类似:

Admin post list

Post submit meta box

1 个回复
SO网友:Dunimas

您可以使用add_filter() 对于post_row_actions 要筛选出您不想要的函数,请添加您想要的函数。像这样:

<?php
/** Plugin Name: (wpse) Draft vs. Trash Posts */
add_filter( \'post_row_actions\', \'my_plugin_update_actions\', 10, 2 );
function my_plugin_update_actions($actions, $post) {

    $capability = \'promote_users\';
    $role = \'Administrator\';
    // Choose what you want to check against. Better only use one: Capability *or* role.
    if (
        current_user_can( $capability )
        OR current_user_has_role( $role )
    ) {
        unset($actions[\'trash\']);
        $actions[\'draft\'] = \'<a class="submitdelete" title="Move this item to drafts" href="\'.admin_url(\'post.php?post=\'.$post->ID.\'&action=draft\').\'">Move To Draft</a>\';
    }

    return $actions;
}
这应该会让你朝着正确的方向开始。

相关推荐

Wp.getPosts,状态=‘trash’,使用node.js

我想知道如何设置wp的过滤器选项。获取帖子。我想获得状态为“垃圾”的帖子。筛选器当前为空,并返回除垃圾以外的所有帖子。我正在使用xmlrpc wordpress api和节点wordpress插件。https://github.com/scottgonzalez/node-wordpress这是我当前的代码:wp.getPosts(\'<filter>\', [\'title\',\'status\'], function(err, data){ }); 我不确定过