How to disable emoji on specific page?

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');

Topic emoji Wordpress

Category Web


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' );

About

Geeks Mental is a community that publishes articles and tutorials about Web, Android, Data Science, new techniques and Linux security.