在最近的WordPress udpate(我在4.9.9上)之后,这个问题似乎突然出现了,因为我以前没有遇到过问题。
I加载wp_editor
在前端使用以下代码:
$argswp = array(
\'textarea_rows\' => 10,
\'teeny\' => false,
\'quicktags\' => false,
\'wpautop\' => true,
\'media_buttons\' => false,
\'tinymce\' => array(
\'theme_advanced_buttons1\' => \'custom1\',
),
);
wp_editor( \'Write your content here...\', \'postContent\', $argswp ); ?>
我现在遇到的问题是
regular non-admin 用户登录并看到此编辑器,一些按钮不显示,其他按钮不工作。例如,选择“插入/编辑链接”会导致页面向下滚动,但什么也没有发生,通常出现的“弹出”框不起作用。
在查看了所有网络请求(一次作为管理员,一次作为普通用户)之后,我可以看到普通用户没有得到以下信息.css
文件:
/wp-includes/css/editor.min.css?ver=4.9.9
因此,我尝试了两件事,首先尝试在php函数文件中注册并将其排队,然后尝试将其作为外部样式表链接直接添加到页面的html中。这是两种情况的结果:
按钮现在正在工作,但现在似乎无法正确加载。感谢您的帮助!
最合适的回答,由SO网友:GenesisBits 整理而成
修好了!虽然我仍然不知道为什么我现在必须将特定的样式表排队,而之前我没有这样做。如果有人知道为什么我会非常感激。
但现在,我的回答是:
我之前在这段代码中添加了一个坏主意。出于某种原因,我没有使用这些特定图标:
// remove dashicons as they don\'t need to be loaded on the front-end and are using 1400ms in render blocking
function wpdocs_dequeue_dashicon() {
if (current_user_can( \'edit_published_posts\' )) {
return;
}
wp_deregister_style(\'dashicons\');
}
add_action( \'wp_enqueue_scripts\', \'wpdocs_dequeue_dashicon\' );
删除该图标修复了图标问题。
然后我必须注册和排队的风格:
wp_register_style( \'tinymce_stylesheet\', \'https://example.org/wp-includes/css/editor.min.css?ver=4.9.9\' );
//Editor Stylesheet for Deck Submit
function editor_send_deck() {
// only enqueue on specific page slug
if ( is_page( \'front-end\' ) ) {
wp_enqueue_style( \'tinymce_stylesheet\' );
}
}
add_action( \'wp_enqueue_scripts\', \'editor_send_deck\' );