由于我个人写文章比较喜欢用古腾堡编辑器,但是前台点击时候总会跳转到经典编辑器里面。

我觉得从先进后台,再改文章很麻烦,这就优化了一下,让前台可以直接前往后台的古腾堡编辑器编辑当篇文章。

方法一:

代码很简单,在你的主题的functions.php文件中添加:

// 前台点击编辑按钮直接跳转后台古腾堡编辑器
function add_edit_button_to_title($title, $id = null) {
    // 检查是否在主循环中,是否在单篇文章页面,并且用户已登录并有编辑权限
    if (in_the_loop() && is_singular() && is_user_logged_in() && current_user_can('edit_posts')) {
        // 获取当前文章的ID和编辑链接
        $post_id = $id ? $id : get_the_ID();
        $edit_link = add_query_arg(array('use_block_editor_for_post' => 'true', 'gutenberg-editor' => 'true'), get_edit_post_link($post_id));

        // 输出一个带有编辑图标的按钮,点击后跳转到古腾堡编辑器
        $title .= '<span class="edit-button-container"><a href="' . esc_url($edit_link) . '" class="edit-button"><i class="fas fa-edit"></i></a></span>';
    }

    return $title;
}
// 添加过滤器
add_filter('the_title', 'add_edit_button_to_title', 10, 2);

这样就能在有编辑权限并且登录的前提下,在前台标题后面显示一个编辑按钮了,不登陆的情况下是看不到的。

点击后直接跳到后台古腾堡编辑。

方法二:构建一个短代码实现任意位置编辑跳转

function custom_gutenberg_edit_button_shortcode() {
    if (is_singular() && is_user_logged_in() && current_user_can('edit_post', get_the_ID())) {
        $edit_link = add_query_arg(['use_block_editor_for_post' => 'true', 'gutenberg-editor' => 'true'], get_edit_post_link());

        return '<a href="' . esc_url($edit_link) . '" class="edit-button">编辑文章</a>';
    }

    return '';
}
add_shortcode('gutenberg_edit_button', 'custom_gutenberg_edit_button_shortcode');

通过在前台任意位置添加下方短代码,就能实现想要的功能:

又一次对wordpress进行了优化,太棒啦!

如果对本文有疑问,可以在下方评论区留言,看到后我会在这里回复你。

关于作者:张东星

我是一位打工人 & 创业者,曾在某世界500强公司打工,现在正在创业,喜欢折腾wordpress,为外贸创业者提供wordpress的建站技术支持,我会为您解决wordpress、Avada以及服务器等的操作使用方面的相关问题。 工作时间:9:00~24:00

加微信咨询(为了方便大家添加微信,直接放在这里了):

发表评论

4 + 8 =

相关文章

目录