在前端加载WordPress编辑器.css

时间:2019-02-26 作者:GenesisBits

在最近的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 用户登录并看到此编辑器,一些按钮不显示,其他按钮不工作。例如,选择“插入/编辑链接”会导致页面向下滚动,但什么也没有发生,通常出现的“弹出”框不起作用。enter image description here

在查看了所有网络请求(一次作为管理员,一次作为普通用户)之后,我可以看到普通用户没有得到以下信息.css 文件:

/wp-includes/css/editor.min.css?ver=4.9.9
因此,我尝试了两件事,首先尝试在php函数文件中注册并将其排队,然后尝试将其作为外部样式表链接直接添加到页面的html中。这是两种情况的结果:enter image description here

按钮现在正在工作,但现在似乎无法正确加载。感谢您的帮助!

1 个回复
最合适的回答,由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\' );