设为首页 - 加入收藏 ASP站长网(Aspzz.Cn)- 科技、建站、经验、云计算、5G、大数据,站长网!
热搜: 数据 手机 公司
当前位置: 首页 > 教程 > 正文

WordPress 4.2 评论表情失效处理方法

发布时间:2022-06-22 11:06 所属栏目:61 来源:互联网
导读:WordPress更新至4.2版本后调整了某些函数,听到最多的疑问便是评论表情都失效了,其实也不是啥太大的问题,只不过Wordpress更新至4.2以后评论表情函数名进行了变更而已,才导致了很多博客的表情全部都是叉叉,其实解决方法有很多种。 今天介绍一种简单的方法帮助
  WordPress更新至4.2版本后调整了某些函数,听到最多的疑问便是评论表情都失效了,其实也不是啥太大的问题,只不过Wordpress更新至4.2以后评论表情函数名进行了变更而已,才导致了很多博客的表情全部都是叉叉,其实解决方法有很多种。

       今天介绍一种简单的方法帮助大家解决评论表情失效的问题.
 
  将以下代码直接丢进主题functions.php即可:
 
  /**
  * Disable the emoji's
  */
  function disable_emojis() {
  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_action( 'admin_print_styles', 'print_emoji_styles' );
  remove_filter( 'the_content_feed', 'wp_staticize_emoji' );
  remove_filter( 'comment_text_rss', 'wp_staticize_emoji' );
  remove_filter( 'wp_mail', 'wp_staticize_emoji_for_email' );
  add_filter( 'tiny_mce_plugins', 'disable_emojis_tinymce' );
  }
  add_action( 'init', 'disable_emojis' );
  /**
  * Filter function used to remove the tinymce emoji plugin.
  *
  * @param array $plugins
  * @return array Difference betwen the two arrays
  */
  function disable_emojis_tinymce( $plugins ) {
  return array_diff( $plugins, array( 'wpemoji' ) );
  }
  function smilies_reset() {
  global $wpsmiliestrans;
  // don't bother setting up smilies if they are disabled
  if ( !get_option( 'use_smilies' ) )
  return;
  $wpsmiliestrans = array(
  ':mrgreen:' => 'icon_mrgreen.gif',
  ':neutral:' => 'icon_neutral.gif',
  ':twisted:' => 'icon_twisted.gif',
  ':arrow:' => 'icon_arrow.gif',
  ':shock:' => 'icon_eek.gif',
  ':smile:' => 'icon_smile.gif',
  ':???:' => 'icon_confused.gif',
  ':cool:' => 'icon_cool.gif',
  ':evil:' => 'icon_evil.gif',
  ':grin:' => 'icon_biggrin.gif',
  ':idea:' => 'icon_idea.gif',
  ':oops:' => 'icon_redface.gif',
  ':razz:' => 'icon_razz.gif',
  ':roll:' => 'icon_rolleyes.gif',
  ':wink:' => 'icon_wink.gif',
  ':cry:' => 'icon_cry.gif',
  ':eek:' => 'icon_surprised.gif',
  ':lol:' => 'icon_lol.gif',

  最后,想补充的是,Wordpress 4.2修改了translate_smiley函数,使得输出的表情带样式(style),具体为style="height: 1em; max-height: 1em;",这可能会对我们的表情产生影响(我的是被压扁了),因为这个函数本身没有过滤器,所以无法添加过滤,对输出再解码也影响性能,只能修改源文件,来达到目的,具体位置在/wp-includes/formatting.php的第2114行,如下:
 
  return sprintf( '<img src="%s" alt="%s" class="wp-smiley" style="height: 1em; max-height: 1em;" />', esc_url( $src_url ), esc_attr( $smiley ) );
  //修改为:
  return sprintf( '<img src="%s" alt="%s" class="wp-smiley" />', esc_url( $src_url ), esc_attr( $smiley ) );
  其实就是删除这个样式,这样就不会对我们现有的表情产生任何影响了.
 
 

(编辑:ASP站长网)

    网友评论
    推荐文章
      热点阅读