• 开启全站HTTPS。2017-04-29
  • 本站为非盈利性站点,所得收入全部用于网站服务器及其他费用。2015-10-15
  •    2年前 (2016-05-02)  WordPress教程 |   抢沙发  12 
    文章评分 0 次,平均分 0.0

    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’,
    ‘:mad:’ => ‘icon_mad.gif’,
    ‘:sad:’ => ‘icon_sad.gif’,
    ‘8-)’ => ‘icon_cool.gif’,
    ‘8-O’ => ‘icon_eek.gif’,
    ‘:-(‘ => ‘icon_sad.gif’,
    ‘:-)’ => ‘icon_smile.gif’,
    ‘:-?’ => ‘icon_confused.gif’,
    ‘:-D’ => ‘icon_biggrin.gif’,
    ‘:-P’ => ‘icon_razz.gif’,
    ‘:-o’ => ‘icon_surprised.gif’,
    ‘:-x’ => ‘icon_mad.gif’,
    ‘:-|’ => ‘icon_neutral.gif’,
    ‘;-)’ => ‘icon_wink.gif’,
    // This one transformation breaks regular text with frequency.
    // ‘8)’ => ‘icon_cool.gif’,
    ‘8O’ => ‘icon_eek.gif’,
    ‘:(‘ => ‘icon_sad.gif’,
    ‘:)’ => ‘icon_smile.gif’,
    ‘:?’ => ‘icon_confused.gif’,
    ‘:D’ => ‘icon_biggrin.gif’,
    ‘:P’ => ‘icon_razz.gif’,
    ‘:o’ => ‘icon_surprised.gif’,
    ‘:x’ => ‘icon_mad.gif’,
    ‘:|’ => ‘icon_neutral.gif’,
    ‘;)’ => ‘icon_wink.gif’,
    ‘:!:’ => ‘icon_exclaim.gif’,
    ‘:?:’ => ‘icon_question.gif’,
    );
    }
    smilies_reset();

    最后,想补充的是,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 ) );

    其实就是删除这个样式。这样就不会对我们现有的表情产生任何影响了。

     

    除特别注明外,本站所有文章均为小浩博客原创,转载请注明出处来自https://www.xhsay.com/comment-on-the-failure-to-solve-the-expression.html

    关于
    小浩博客(www.xhsay.com)是由Tovey建立的个人站点,主要致力于整合并分享各种互联网及网站建设的资源。

    发表评论

    表情 格式

    暂无评论

    切换注册

    登录

    忘记密码 ?

    您也可以使用第三方帐号快捷登录

    切换登录

    注册