禁用WP 4.2中引入的表情图标

时间:2015-04-27 作者:Christine Cooper

因此,WP 4.2引入了表情符号(smileys),基本上在页面上添加了JS和其他垃圾。有些人可能会感到震惊。如何完全删除所有这类实例?

7 个回复
最合适的回答,由SO网友:Christine Cooper 整理而成

我们将加入init 并删除以下操作:

function disable_wp_emojicons() {

  // all actions related to emojis
  remove_action( \'admin_print_styles\', \'print_emoji_styles\' );
  remove_action( \'wp_head\', \'print_emoji_detection_script\', 7 );
  remove_action( \'admin_print_scripts\', \'print_emoji_detection_script\' );
  remove_action( \'wp_print_styles\', \'print_emoji_styles\' );
  remove_filter( \'wp_mail\', \'wp_staticize_emoji_for_email\' );
  remove_filter( \'the_content_feed\', \'wp_staticize_emoji\' );
  remove_filter( \'comment_text_rss\', \'wp_staticize_emoji\' );

  // filter to remove TinyMCE emojis
  add_filter( \'tiny_mce_plugins\', \'disable_emojicons_tinymce\' );
}
add_action( \'init\', \'disable_wp_emojicons\' );
我们需要以下过滤器功能来禁用TinyMCE表情图标:

function disable_emojicons_tinymce( $plugins ) {
  if ( is_array( $plugins ) ) {
    return array_diff( $plugins, array( \'wpemoji\' ) );
  } else {
    return array();
  }
}
现在我们呼吸,假装这个功能从未添加到核心。。。尤其是在解决了大量bug的同时yet 待实施。

这是一个插件,Disable Emojis.

或者,您可以使用以前版本的WordPress的原始版本替换笑脸Classic Smilies.

更新我们还可以通过在过滤器上返回false来删除DNS预取emoji_svg_url (感谢@yobddigi):

add_filter( \'emoji_svg_url\', \'__return_false\' );

SO网友:Otto

如果要禁用此功能,更好的解决方案是:使用插件。

与Christine评论中的代码相同:https://wordpress.org/plugins/disable-emojis/

同样的代码也将笑脸修复为旧笑脸:https://wordpress.org/plugins/classic-smilies/

来源:我,因为我一开始就写了那段代码。https://plugins.trac.wordpress.org/changeset/1142480/classic-smilies

SO网友:Exclutips

这是删除表情符号的简单方法。将以下代码添加到function.php

remove_action( \'wp_head\', \'print_emoji_detection_script\', 7 );
remove_action( \'wp_print_styles\', \'print_emoji_styles\' ); 

SO网友:Christallkeks

如果您想阻止Wordpress自动将旧式ASCII表情转换为Unicode表情(如;-)) 在您的帖子中,您可能希望remove_filter(\'the_content\', \'convert_smilies\')

(我不能百分之百确定这就是问题所在,但这解决了我的问题,我希望这对某些人来说可能很方便。)

SO网友:prosti

好消息,我添加了一个功能请求:

Introduce a new option to WordPress WP_EMOICONS在这里https://core.trac.wordpress.org/ticket/38252

显然这已经被标记为重复https://core.trac.wordpress.org/ticket/32102所以我们可能会期望

define( \'WP_EMOICONS\', false );
在未来的WordPress发布中。

SO网友:johnhenrygaspay

我已经尝试了上面的一些代码,但我这边唯一有效的代码就是这个。

别忘了备份你的功能。在实现这些代码之前。

// REMOVE WP EMOJI
remove_action(\'wp_head\', \'print_emoji_detection_script\', 7);
remove_action(\'wp_print_styles\', \'print_emoji_styles\');

remove_action( \'admin_print_scripts\', \'print_emoji_detection_script\' );
remove_action( \'admin_print_styles\', \'print_emoji_styles\' );

SO网友:Antony Agnel

由于WordPress表情符号是从s.w.org提供的,并且没有经过压缩,这会影响SVG的加载时间,具体取决于您使用的表情符号的数量,甚至会在Google的PageSpeed Insights工具上发出警告。

要解决这个问题,您可以直接从WordPress站点本身提供表情符号,而不是通过js进行外部调用。

这可以通过安装插件来实现Compressed Emoji 在WordPress上免费提供。org插件库。

当插件被激活时,压缩可以为每个表情符号节省3kb到1.3kb(大约60%)。

资料来源:WPTavern

结束

相关推荐

如何使用现有的TinyMCE按钮插入HTML属性?

当我将图像插入post editor时,选择它并单击“左对齐”按钮,它会自动将CSS类添加到图像中,如下所示:<img src = \"http://www.example.org/media/myimage.png\" class = \"wp-image-123 size-thumbnail alignleft\" height = \"141\" width = \"188\" /> 我想实现的是