【问题标题】:Wordpress: get_delete_post_link not working for custom roleWordpress:get_delete_post_link 不适用于自定义角色
【发布时间】:2013-12-15 04:31:27
【问题描述】:

我在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() ); ?>

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

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

我做错了什么?

【问题讨论】:

    标签: wordpress frontend roles


    【解决方案1】:

    尝试用以下代码替换:

    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');
    

    【讨论】:

      猜你喜欢
      • 2017-01-01
      • 2023-03-16
      • 2021-12-14
      • 2022-07-14
      • 1970-01-01
      • 2018-01-06
      • 1970-01-01
      • 2011-06-08
      • 2021-11-28
      相关资源
      最近更新 更多