由于我个人写文章比较喜欢用古腾堡编辑器,但是前台点击时候总会跳转到经典编辑器里面。
我觉得从先进后台,再改文章很麻烦,这就优化了一下,让前台可以直接前往后台的古腾堡编辑器编辑当篇文章。
方法一:
代码很简单,在你的主题的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进行了优化,太棒啦!
如果对本文有疑问,可以在下方评论区留言,看到后我会在这里回复你。
原创性声明:本站所发布的所有文章均为本站原创发布。任何组织或个人未经允许,禁止将本站内容以复制、采集、镜像等方式发到其他任何媒体平台(可以分享本文链接)。
加微信咨询(为了方便大家添加微信,直接放在这里了):