admin管理员组

文章数量:1289548

Is there any way to disable emoji on specific pages?

function disable_emoji_feature() {

    // Prevent Emoji from loading on the front-end
    remove_action( 'wp_head', 'print_emoji_detection_script', 7 );
    remove_action( 'wp_print_styles', 'print_emoji_styles' );

    // Remove from admin area also
    remove_action( 'admin_print_scripts', 'print_emoji_detection_script' );
    remove_action( 'admin_print_styles', 'print_emoji_styles' );

    // Remove from RSS feeds also
    remove_filter( 'the_content_feed', 'wp_staticize_emoji');
    remove_filter( 'comment_text_rss', 'wp_staticize_emoji');

    // Remove from Embeds
    remove_filter( 'embed_head', 'print_emoji_detection_script' );

    // Remove from emails
    remove_filter( 'wp_mail', 'wp_staticize_emoji_for_email' );

    // Disable from TinyMCE editor. Currently disabled in block editor by default
    add_filter( 'tiny_mce_plugins', 'disable_emojis_tinymce' );


    add_filter( 'option_use_smilies', '__return_false' );


 }
add_action('init', 'disable_emoji_feature');

Is there any way to disable emoji on specific pages?

function disable_emoji_feature() {

    // Prevent Emoji from loading on the front-end
    remove_action( 'wp_head', 'print_emoji_detection_script', 7 );
    remove_action( 'wp_print_styles', 'print_emoji_styles' );

    // Remove from admin area also
    remove_action( 'admin_print_scripts', 'print_emoji_detection_script' );
    remove_action( 'admin_print_styles', 'print_emoji_styles' );

    // Remove from RSS feeds also
    remove_filter( 'the_content_feed', 'wp_staticize_emoji');
    remove_filter( 'comment_text_rss', 'wp_staticize_emoji');

    // Remove from Embeds
    remove_filter( 'embed_head', 'print_emoji_detection_script' );

    // Remove from emails
    remove_filter( 'wp_mail', 'wp_staticize_emoji_for_email' );

    // Disable from TinyMCE editor. Currently disabled in block editor by default
    add_filter( 'tiny_mce_plugins', 'disable_emojis_tinymce' );


    add_filter( 'option_use_smilies', '__return_false' );


 }
add_action('init', 'disable_emoji_feature');
Share Improve this question asked Jul 17, 2021 at 16:13 Ashis BiswasAshis Biswas 1153 bronze badges 1
  • how do you determine which pages you want to disable them on? IDs? Slugs? – Paul G. Commented Jul 17, 2021 at 17:01
Add a comment  | 

1 Answer 1

Reset to default 2

You'll need to adjust your hook so it runs on wp, not init so that you can query what page you're currently on. The code below gives you some examples of determining if you're on the page(s) in questions.

function disable_emoji_feature() {

    if ( is_page( 123 ) || is_page('the-page-slug' ) || is_page( array( 1, 2, 3 ) ) ) {

        // Prevent Emoji from loading on the front-end
        remove_action( 'wp_head', 'print_emoji_detection_script', 7 );
        remove_action( 'wp_print_styles', 'print_emoji_styles' );

        // Remove from admin area also
        remove_action( 'admin_print_scripts', 'print_emoji_detection_script' );
        remove_action( 'admin_print_styles', 'print_emoji_styles' );

        // Remove from RSS feeds also
        remove_filter( 'the_content_feed', 'wp_staticize_emoji' );
        remove_filter( 'comment_text_rss', 'wp_staticize_emoji' );

        // Remove from Embeds
        remove_filter( 'embed_head', 'print_emoji_detection_script' );

        // Remove from emails
        remove_filter( 'wp_mail', 'wp_staticize_emoji_for_email' );

        // Disable from TinyMCE editor. Currently disabled in block editor by default
        add_filter( 'tiny_mce_plugins', 'disable_emojis_tinymce' );

        add_filter( 'option_use_smilies', '__return_false' );
    }
}

add_action( 'wp', 'disable_emoji_feature' );

本文标签: How to disable emoji on specific page