HEX
Server: nginx/1.26.1
System: Linux 850a3e23ecee 5.15.0-122-generic #132-Ubuntu SMP Thu Aug 29 13:45:52 UTC 2024 x86_64
User: (1000)
PHP: 8.2.27
Disabled: NONE
Upload Files
File: /var/www/html/wp-content/themes/flatsome/inc/extensions/flatsome-shortcode-insert/tinymce.php
<?php

/* NEW */
add_action('admin_head', 'ux_shortcode_button');
function ux_shortcode_button() {
    global $typenow;
    // check user permissions
    if ( !current_user_can('edit_posts') && !current_user_can('edit_pages') ) {
    return;
    }
    // verify the post type
    if( ! in_array( $typenow, array( 'post', 'page', 'blocks', 'product' ) ) )
        return;
    // check if WYSIWYG is enabled
    if ( get_user_option('rich_editing') == 'true') {
        add_filter("mce_external_plugins", "ux_shortcode_add_tinymce_plugin");
        add_filter('mce_buttons', 'ux_shortcode_insert_button');
    }
}

function ux_shortcode_add_tinymce_plugin($plugin_array) {
    $plugin_array['ux_shortcode_insert'] = get_template_directory_uri().'/inc/extensions/flatsome-shortcode-insert/shortcode_insert.js';
    return $plugin_array;
}

function ux_shortcode_insert_button($buttons) {
   array_push($buttons, "ux_shortcode_insert");
   return $buttons;
}

function ux_shortcode_css() {
    // TODO: Only Load on Edit Page
    wp_enqueue_style('ux_shortcode_insert_css', get_template_directory_uri().'/inc/extensions/flatsome-shortcode-insert/style.css');
}

add_action('admin_enqueue_scripts', 'ux_shortcode_css');