首页 > 解决方案 > 使用 wp-reset-editor-styles 的句柄取消注册管理员编辑器重置样式

问题描述

我想删除wp-reset-editor-styles因为它插入 CSS 属性,如revert,这与我想要完成的事情背道而驰(下面的示例)。

.editor-styles-wrapper p {
  font-size: revert;
  line-height: revert;
  margin: revert;
}

这是我尝试过的。

function remove_editor_resets() {
  wp_deregister_style('wp-reset-editor-styles');
}
add_action('admin_menu', 'remove_editor_resets');

它成功删除了重置,但最终破坏了另一种名为wp-block-directory 的样式。下面是load-styles.php URL的相关部分的样子。

之前: wp-block-directory

之后: wp-bloc&load%5Bchunk_1%5D=k-目录

我已经尝试过define( 'CONCATENATE_SCRIPTS', false );,但这无济于事。

我相信这个问题与/wp-includes/script-loader.php中设置依赖项的方式有关。

标签: wordpresswordpress-gutenberg

解决方案


你很亲密。尝试enqueue_block_editor_assets代替admin_menu. 请注意,这也会删除编辑器所需的一些核心样式。

这似乎是很多人都面临的问题。在 WP 围绕此问题发布更新之前,我认为这是您能做的最好的(可能需要其他样式):

add_action('enqueue_block_editor_assets', function () {
    // Removes editor styles
    wp_deregister_style('wp-reset-editor-styles');
    // Add back key styles, there may be more
    // change the path as needed
    wp_enqueue_style('wp-block-editor-styles', '../../../wp/wp-includes/css/dist/block-editor/style.css', false);
    wp_enqueue_style('wp-edit-post-styles', '../../../wp/wp-includes/css/dist/edit-post/style.css', false);
}, 102);

注意:在 WP v5.8.3 上测试


推荐阅读