Wordpress:get_delete_post_link不适用于自定义角色

时间:2013-11-29 03:35:08

标签: wordpress frontend roles

我在functions.php中有自定义角色:

add_role('test_pilot', 'Test Pilot', array(
    'read' => true,
    'edit_posts' => true,
    'delete_posts' => true,
));
// Give the custom role a new level
$test_pilot = get_role('test_pilot');
$test_pilot->add_cap('level_3');

...在前端我试图回复删除帖子链接:

<?php echo get_delete_post_link( get_the_ID() ); ?>

问题是当以具有测试飞行员角色的用户身份登录时,实际上并未显示链接。

如果我以管理员身份登录,则会显示链接。

我做错了什么?

1 个答案:

答案 0 :(得分:0)

尝试使用以下代码替换:

function init_roles() {
global $wp_roles;

if (class_exists('WP_Roles'))   
    if ( ! isset( $wp_roles ) )
        $wp_roles = new WP_Roles(); 

if (is_object($wp_roles)) :
    $wp_roles->add_cap( 'editor');      
endif;

$wp_roles->add_role( 'test_pilot', 'Test Pilot', array(
    'read' => true,
    'edit_posts' => true,
    'delete_posts' => true
)); 
}
add_action('init', 'init_roles');