wordpress在前台文章界面添加编辑按钮

我们到主题源码根目录,找到single.php文件,在合适位置添加以下代码即可

<span class="edit"><?php edit_post_link('编辑'); ?></span>

注意这个编辑按钮只有登录,并且有编辑权限的用户才会显示,因为wordpress已经给我们做好权限判断啦,所以不会影响普通用户体验

以下是修改后的WordPress编辑链接代码,允许管理员、编辑和作者都能看到编辑链接:

将下面这段代码添加到当前主题的functions.php文件中


function custom_edit_post_link($text = '编辑') {
    // 获取当前用户和文章信息
    $post_id = get_the_ID();
    $current_user = wp_get_current_user();
    
    // 检查权限:管理员、编辑或文章作者
    if (current_user_can('edit_post', $post_id) || 
        ($post_id && get_post_field('post_author', $post_id) == $current_user->ID)) {
        $edit_url = get_edit_post_link($post_id);
        return '<span class="edit"><a href="'.esc_url($edit_url).'">'.esc_html($text).'</a></span>';
    }
    return '';
}
  1. 功能说明:该代码扩展了标准编辑链接功能,使文章作者也能看到自己文章的编辑链接
  2. 权限检查:使用current_user_can检查编辑权限,同时验证当前用户是否为文章作者
  3. 安全处理:通过esc_url和esc_html函数对输出进行转义,防止XSS攻击
  4. 兼容性:保持与WordPress核心函数相同的参数结构,便于替换现有代码