Advertisement
arie_cristianD

override_customizer

Jul 24th, 2023
49
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
PHP 20.28 KB | None | 0 0
  1. <?php
  2. /**
  3.  * @author : Jegtheme
  4.  */
  5.  
  6. namespace JNews;
  7.  
  8. use JNews\Customizer\AdsOption;
  9. use JNews\Customizer\ArchiveOption;
  10. use JNews\Customizer\BlockOption;
  11. use JNews\Customizer\CategoryOption;
  12. use JNews\Customizer\CodeOption;
  13. use JNews\Customizer\FontOption;
  14. use JNews\Customizer\FooterOption;
  15. use JNews\Customizer\HeaderOption;
  16. use JNews\Customizer\ImageOption;
  17. use JNews\Customizer\LayoutOption;
  18. use JNews\Customizer\OtherOption;
  19. use JNews\Customizer\SchemeStyleOption;
  20. use JNews\Customizer\SearchOption;
  21. use JNews\Customizer\SingleOption;
  22. use JNews\Customizer\SocialOption;
  23. use JNews\Walker\CategoryWalker;
  24.  
  25. /**
  26.  * Class Theme JNews Customizer
  27.  */
  28. class Customizer {
  29.     /**
  30.      * @var Customizer
  31.      */
  32.     private static $instance;
  33.  
  34.     /**
  35.      * Package name
  36.      *
  37.      * @var string
  38.      */
  39.     private static $package = 'JNews';
  40.  
  41.     /**
  42.      * @var Customizer
  43.      */
  44.     private $customizer = null;
  45.  
  46.     /**
  47.      * Section of Customizer
  48.      */
  49.     private $list_section = array(
  50.         'jnews_ads_amp_section',
  51.         'jnews_autoload_section',
  52.         'jnews_frontend_submit_section',
  53.         'jnews_preview_slider_section',
  54.         'jnews_preview_slider_ads_section',
  55.         'jnews_instagram_feed_section',
  56.         'jnews_schema_setting',
  57.         'jnews_main_schema',
  58.         'jnews_article_schema',
  59.         'jnews_like_section',
  60.         'jnews_social_meta_section',
  61.         'jnews_paywall_section',
  62.         'jnews_podcast_general',
  63.         'jnews_podcast_template',
  64.         'jnews_podcast_category_template',
  65.         'jnews_podcast_powerpress',
  66.         'jnews_push_notification_section',
  67.         'jnews_review_section',
  68.         'jnews_social_login_section',
  69.         'jnews_social_like_section',
  70.         'jnews_select_share_section',
  71.         'jnews_tiktok_feed_section',
  72.         'jnews_video_buddypress',
  73.         'jnews_video_single_post',
  74.         'jnews_video_single_playlist',
  75.         'jnews_video_archive_history',
  76.         'jnews_global_weather_section',
  77.         'jnews_header_weather_section',
  78.     );
  79.  
  80.     /**
  81.      * @return Customizer
  82.      */
  83.     public static function getInstance() {
  84.         if ( null === static::$instance ) {
  85.             static::$instance = new static();
  86.         }
  87.  
  88.         return static::$instance;
  89.     }
  90.  
  91.     /**
  92.      * Construct
  93.      */
  94.     private function __construct() {
  95.         // Need to load Customizer early for this kind of request.
  96.         if ( isset( $_REQUEST['action'] ) && 'jnews_customizer_disable_panel' === $_REQUEST['action'] ) {
  97.             $this->customizer = jnews_customizer();
  98.         }
  99.  
  100.         if ( is_customize_preview() || ! is_admin() ) {
  101.             add_action( 'customize_preview_init', array( $this, 'preview_init' ) );
  102.             add_action( 'customize_controls_enqueue_scripts', array( $this, 'customize_control_js' ) );
  103.             if ( defined( 'JNEWS_ESSENTIAL' ) ) {
  104.                 add_filter( 'jeg_register_lazy_section', array( $this, 'register_lazy_section' ) );
  105.                 add_filter( 'jeg_customizer_get_lazy_options', array( $this, 'prepare_lazy_option' ) );
  106.  
  107.                 add_action( 'jeg_register_customizer_option', array( $this, 'load_customizer' ), 91 );
  108.  
  109.                 add_filter( 'jeg_font_typography', array( $this, 'load_custom_font' ), 80 );
  110.                 add_filter( 'jeg_font_typography', array( $this, 'load_typekit' ), 81 );
  111.                 add_filter( 'jeg_generate_inline_style', array( $this, 'custom_font_css' ) );
  112.                 add_filter( 'jeg_not_google_font', array( $this, 'exclude_font' ) );
  113.                 add_filter( 'jeg_fonts_option_setting', array( $this, 'font_option_setting' ) );
  114.  
  115.                 add_filter( 'jeg_register_lazy_section', array( $this, 'register_lazy_category' ) );
  116.                 add_filter( 'jeg_customizer_add_section', array( $this, 'prepare_add_section' ) );
  117.                 add_filter( 'jeg_customizer_add_field', array( $this, 'prepare_add_section' ) );
  118.             }
  119.         }
  120.  
  121.         if ( is_blog_admin() && defined( 'JNEWS_ESSENTIAL' ) && ! \JNews\Gutenberg::is_classic() ) {
  122.             add_filter( 'jeg_fonts_option_setting', array( $this, 'font_option_setting' ) );
  123.             add_filter( 'jeg_register_lazy_section', array( $this, 'register_lazy_section' ) );
  124.         }
  125.  
  126.         jnews_admin_topbar_menu( array( $this, 'admin_bar' ), 40 );
  127.     }
  128.  
  129.     public function prepare_lazy_option( $options ) {
  130.         if ( is_array( $options ) ) {
  131.             foreach ( $options as &$option ) {
  132.                 if ( isset( $option['type'] ) ) {
  133.                     $option['type'] = str_replace( 'jnews-', 'jeg-', $option['type'] );
  134.                 }
  135.             }
  136.         }
  137.  
  138.         return $options;
  139.     }
  140.  
  141.     public function prepare_add_section( $section ) {
  142.         if ( in_array( $section['id'], $this->list_section, true ) ) {
  143.             if ( ! ( function_exists( strtolower( self::$package ) . jnews_custom_text( 'evitca_si_' ) ) && call_user_func( array( call_user_func( strtolower( self::$package ) . jnews_custom_text( 'evitca_si_' ) ), 'is_' . jnews_custom_text( '_esnecil' ) . jnews_custom_text( 'detadilav' ) ) ) ) ) {
  144.                 $section['type'] = 'jnews-link-section';
  145.                 $section['url']  = jnews_custom_text( 'esnecil-etavitca' );
  146.             }
  147.         }
  148.  
  149.         if ( isset( $section['type'] ) ) {
  150.             $section['type'] = str_replace( 'jnews-', 'jeg-', $section['type'] );
  151.         }
  152.  
  153.         return $section;
  154.     }
  155.  
  156.     public function register_lazy_category( $result ) {
  157.         if ( apply_filters( 'jnews_load_detail_customizer_category', false ) ) {
  158.             $categories = get_categories(
  159.                 array(
  160.                     'hide_empty'   => false,
  161.                     'hierarchical' => true,
  162.                 )
  163.             );
  164.  
  165.             $walker = new CategoryWalker();
  166.             $walker->walk( $categories, 3 );
  167.  
  168.             foreach ( $walker->cache as $category ) {
  169.                 $section_id  = CategoryOption::get_section_id( $category );
  170.                 $category_id = $category->term_id;
  171.  
  172.                 $result[ $section_id ][] = array(
  173.                     'function'  => array( $this, 'category_builder' ),
  174.                     'parameter' => array( $category_id ),
  175.                 );
  176.             }
  177.         }
  178.  
  179.         return $result;
  180.     }
  181.  
  182.     public function category_builder( $category_id ) {
  183.         include_once JNEWS_THEME_CLASSPATH . 'Customizer/sections/single_category.php';
  184.  
  185.         return single_category_option( $category_id );
  186.     }
  187.  
  188.  
  189.     public function register_lazy_section( $result ) {
  190.         $array = array(
  191.             'global_layout',
  192.             'global_sidefeed',
  193.             'global_color',
  194.             'global_browser',
  195.             'global_post_date',
  196.             'global_cpt',
  197.             'global_speed',
  198.             'header_builder',
  199.             'header_desktop_option',
  200.             'header_desktop_sticky',
  201.             'header_mobile_option',
  202.             'header_social_icon',
  203.             'header_date',
  204.             'header_button',
  205.             'header_vertical_menu',
  206.             'header_html',
  207.             'header_language',
  208.             'header_nav_icon',
  209.             'header_cart_detail',
  210.             'header_cart_icon',
  211.             'header_login',
  212.             'header_search_icon',
  213.             'header_search_form',
  214.             'header_main_menu',
  215.             'header_top_bar_menu',
  216.             'header_logo',
  217.             'header_drawer_container',
  218.             'header_dark_mode',
  219.             'footer_layout',
  220.             'footer_global',
  221.             'single_breadcrumb',
  222.             'single_post',
  223.             'single_related',
  224.             'single_comment',
  225.             'single_mobile_truncate',
  226.             'single_video_following',
  227.             'image_global',
  228.             'image_library',
  229.             'image_popup',
  230.             'image_gif',
  231.             'social_icon',
  232.             'search_option',
  233.             'search_live',
  234.             'archive_index',
  235.             'archive_global',
  236.             'archive_search',
  237.             'archive_author',
  238.             'archive_attachment',
  239.             'archive_notfound',
  240.             'archive_woocommerce',
  241.             'archive_bbpress',
  242.             'font_global',
  243.             'font_google',
  244.             'font_additional',
  245.             'font_typekit',
  246.             'global_loader',
  247.             'global_gdpr',
  248.             'global_query',
  249.             'global_wpblocks',
  250.             'global_analytic',
  251.             'global_api',
  252.             'block',
  253.             'category_global',
  254.             'ads_header',
  255.             'ads_article',
  256.             'ads_archive',
  257.             'ads_sidefeed',
  258.             'ads_global',
  259.             'ads_mobile',
  260.             'scheme_style',
  261.         );
  262.        
  263.         $path = JNEWS_THEME_CLASSPATH . 'Customizer/sections/';
  264.         foreach ( $array as $id ) {
  265.             if($id == 'single_related'){
  266.                 $childPath = get_stylesheet_directory() .'/class/Customizer/sections/';
  267.                 $childPath = "{$childPath}{$id}.php";
  268.                 if(file_exists($childPath)){
  269.                     $result[ "jnews_{$id}_section" ][] = $childPath;
  270.                 }else {
  271.                     $result[ "jnews_{$id}_section" ][] = "{$path}{$id}.php";
  272.                 }
  273.             }else {
  274.                 $result[ "jnews_{$id}_section" ][] = "{$path}{$id}.php";
  275.             }
  276.         }  
  277.  
  278.         return $result;
  279.     }
  280.  
  281.     public function font_option_setting() {
  282.         return array(
  283.             'jnews_body_font',
  284.             'jnews_header_font',
  285.             'jnews_main_menu_font',
  286.             'jnews_block_heading_font',
  287.             'jnews_h1_font',
  288.             'jnews_p_font',
  289.             'jnews_header_logo_text_font',
  290.             'jnews_sticky_logo_text_font',
  291.             'jnews_mobile_logo_text_font',
  292.             'jnews_other_font',
  293.         );
  294.     }
  295.  
  296.     public function preview_init() {
  297.         add_action( 'wp_enqueue_scripts', array( $this, 'load_script' ), 99 );
  298.     }
  299.  
  300.     public function customize_control_js() {
  301.         wp_enqueue_style( 'jnews-additional-customizer', get_parent_theme_file_uri( 'assets/css/admin/additional-customizer.css' ) );
  302.  
  303.         wp_enqueue_script( 'jquery-ui-sortable' );
  304.         wp_enqueue_script( 'jnews-extend-control', get_parent_theme_file_uri( 'assets/js/admin/extend-control.js' ), array( 'jquery' ), null, true );
  305.     }
  306.  
  307.     public function load_script() {
  308.         wp_enqueue_style( 'jnews-customizer-redirect', get_parent_theme_file_uri( 'assets/css/admin/theme-customizer.css' ) );
  309.         wp_enqueue_style( 'vex', get_parent_theme_file_uri( 'assets/css/admin/vex.css' ) );
  310.  
  311.         wp_enqueue_script( 'vex', get_parent_theme_file_uri( 'assets/js/admin/vex.combined.min.js' ), array( 'jquery' ), null, true );
  312.         wp_enqueue_script(
  313.             'jnews-partial-refresh',
  314.             get_parent_theme_file_uri( 'assets/js/admin/partial.refresh.js' ),
  315.             array(
  316.                 'jquery',
  317.                 'customize-preview',
  318.             ),
  319.             null,
  320.             true
  321.         );
  322.         wp_enqueue_script( 'jnews-post-message', get_parent_theme_file_uri( 'assets/js/admin/post.message.js' ), array( 'jquery' ), null, true );
  323.     }
  324.  
  325.     public function load_customizer() {
  326.         $this->customizer = jnews_customizer();
  327.  
  328.         new LayoutOption( $this->customizer, 171 );
  329.         new HeaderOption( $this->customizer, 172 );
  330.         new FooterOption( $this->customizer, 173 );
  331.         new SingleOption( $this->customizer, 174 );
  332.         new ImageOption( $this->customizer, 175 );
  333.         new SocialOption( $this->customizer, 176 );
  334.         new SearchOption( $this->customizer, 177 );
  335.         new CategoryOption( $this->customizer, 180 );
  336.         new ArchiveOption( $this->customizer, 185 );
  337.         new FontOption( $this->customizer, 191 );
  338.         new OtherOption( $this->customizer, 192 );
  339.         new AdsOption( $this->customizer, 193 );
  340.         new BlockOption( $this->customizer, 193 );
  341.         new CodeOption( $this->customizer, 195 );
  342.         new SchemeStyleOption( $this->customizer, 199 );
  343.     }
  344.  
  345.     public function exclude_font( $output ) {
  346.         $excluded_font = array();
  347.         $output        = is_array( $output ) ? $output : array();
  348.  
  349.         // type kit
  350.         $typekit_font = get_theme_mod( 'jnews_type_kit', array() );
  351.         if ( is_array( $typekit_font ) ) {
  352.             foreach ( $typekit_font as $font ) {
  353.                 $excluded_font[] = $font['font_name'];
  354.             }
  355.         }
  356.  
  357.         $upload_font = get_theme_mod( 'jnews_additional_font', array() );
  358.         if ( is_array( $upload_font ) ) {
  359.             foreach ( $upload_font as $font ) {
  360.                 $excluded_font[] = $font['font_name'];
  361.             }
  362.         }
  363.  
  364.         $excluded_font           = array_merge( $excluded_font, array( 'Georgia', 'Helvetica', 'Monaco' ) );
  365.         $output['excluded_font'] = $excluded_font;
  366.  
  367.         return $output;
  368.     }
  369.  
  370.     public function load_typekit( $fonts ) {
  371.         $custom_fonts = get_theme_mod( 'jnews_type_kit', array() );
  372.  
  373.         if ( ! empty( $custom_fonts ) ) {
  374.             $custom_fonts_final = array();
  375.  
  376.             foreach ( $custom_fonts as $font ) {
  377.                 $custom_fonts_final[] = array(
  378.                     'family'      => $font['font_name'],
  379.                     'label'       => $font['font_name'],
  380.                     'subsets'     => array(),
  381.                     'is_standard' => true,
  382.                     'variants'    => array(),
  383.                     'type'        => 'typekit',
  384.                 );
  385.             }
  386.  
  387.             $merged = array_merge( $custom_fonts_final, $fonts );
  388.  
  389.             return $merged;
  390.         } else {
  391.             return $fonts;
  392.         }
  393.     }
  394.  
  395.     public function load_custom_font( $fonts ) {
  396.         $custom_fonts = get_theme_mod( 'jnews_additional_font', array() );
  397.  
  398.         if ( ! empty( $custom_fonts ) ) {
  399.             $custom_fonts_final = array();
  400.             $variants           = array();
  401.  
  402.             foreach ( $custom_fonts as $font ) {
  403.                 $variants[ $font['font_name'] ][] = array(
  404.                     'id'    => $font['font_weight'] . $font['font_style'],
  405.                     'label' => $font['font_weight'] . ' - ' . ucfirst( $font['font_style'] ),
  406.                 );
  407.             }
  408.  
  409.             foreach ( $variants as $font => $variant ) {
  410.                 $custom_fonts_final[] = array(
  411.                     'family'      => $font,
  412.                     'label'       => $font,
  413.                     'subsets'     => array(),
  414.                     'is_standard' => true,
  415.                     'variants'    => $variant,
  416.                     'type'        => 'custom',
  417.                 );
  418.             }
  419.  
  420.             $merged = array_merge( $custom_fonts_final, $fonts );
  421.  
  422.             return $merged;
  423.         } else {
  424.             return $fonts;
  425.         }
  426.     }
  427.  
  428.     public function custom_font_css( $generated_style ) {
  429.         $custom_font_style = '';
  430.         $custom_fonts      = get_theme_mod( 'jnews_additional_font', array() );
  431.  
  432.         foreach ( $custom_fonts as $font ) {
  433.             if ( ! empty( $font['font_name'] ) ) {
  434.                 $font_src = array();
  435.  
  436.                 if ( ! empty( $font['eot'] ) ) {
  437.                     $font_src[] = "url('" . wp_get_attachment_url( $font['eot'] ) . "#iefix') format('embedded-opentype')";
  438.                 }
  439.  
  440.                 if ( ! empty( $font['woff'] ) ) {
  441.                     $font_src[] = "url('" . wp_get_attachment_url( $font['woff'] ) . "') format('woff')";
  442.                 }
  443.  
  444.                 if ( ! empty( $font['ttf'] ) ) {
  445.                     $font_src[] = "url('" . wp_get_attachment_url( $font['ttf'] ) . "') format('truetype')";
  446.                 }
  447.  
  448.                 if ( ! empty( $font['eot'] ) ) {
  449.                     $font_src[] = "url('" . wp_get_attachment_url( $font['svg'] ) . "') format('svg')";
  450.                 }
  451.  
  452.                 $src                = 'src: ' . implode( ',', $font_src ) . ' ;';
  453.                 $custom_font_style .= " @font-face { font-family: '" . $font['font_name'] . "'; " . $src . " font-weight: {$font['font_weight']}; font-style: {$font['font_style']}; } ";
  454.             }
  455.         }
  456.  
  457.         return $custom_font_style . $generated_style;
  458.     }
  459.  
  460.     public function admin_bar( $admin_bar ) {
  461.         if ( ! current_user_can( 'manage_options' ) ) {
  462.             return;
  463.         }
  464.  
  465.         $admin_bar->add_menu(
  466.             array(
  467.                 'id'    => 'jnews',
  468.                 'title' => '<span class="ab-icon"></span>JNews',
  469.                 'href'  => admin_url( 'admin.php?page=' . 'jnews' ),
  470.             )
  471.         );
  472.  
  473.         $submenus = $this->get_submenus();
  474.  
  475.         foreach ( $submenus as $menu ) {
  476.             $admin_bar->add_menu(
  477.                 array(
  478.                     'parent' => $menu['parent'],
  479.                     'id'     => $menu['id'],
  480.                     'title'  => $menu['title'],
  481.                     'href'   => $menu['href'],
  482.                 )
  483.             );
  484.         }
  485.     }
  486.  
  487.     protected function get_submenus() {
  488.         $revert_dashboard = apply_filters( 'jnews_revert_dashboard', false );
  489.         $admin_url        = defined( 'JNEWS_ESSENTIAL' ) ? 'admin.php' : 'themes.php';
  490.  
  491.         $admin_page_url     = 'admin.php?page=';
  492.         $customize_page_url = 'customize.php?autofocus';
  493.         $get_permalink      = get_permalink();
  494.  
  495.         $label = array(
  496.             array(
  497.                 'id'     => 'jnews_dashboard',
  498.                 'parent' => 'jnews',
  499.                 'title'  => esc_html__( 'Dashboard', 'jnews' ),
  500.                 'href'   => $revert_dashboard ? admin_url( $admin_page_url . 'jnews' ) : admin_url( $admin_url . '?page=jnews' ),
  501.             ),
  502.             array(
  503.                 'id'     => 'jnews_import',
  504.                 'parent' => 'jnews',
  505.                 'title'  => esc_html__( 'Import Demo & Style', 'jnews' ),
  506.                 'href'   => $revert_dashboard ? admin_url( $admin_page_url . 'jnews_import' ) : admin_url( $admin_url . '?page=jnews&tab=jnews_import' ),
  507.             ),
  508.             array(
  509.                 'id'     => 'jnews_plugin',
  510.                 'parent' => 'jnews',
  511.                 'title'  => esc_html__( 'Install Plugin', 'jnews' ),
  512.                 'href'   => $revert_dashboard ? admin_url( $admin_page_url . 'jnews_plugin' ) : admin_url( $admin_url . '?page=jnews&tab=jnews_plugin' ),
  513.             ),
  514.             array(
  515.                 'id'     => 'jnews_customize',
  516.                 'parent' => 'jnews',
  517.                 'title'  => esc_html__( 'Customize Style', 'jnews' ),
  518.                 'href'   => admin_url( 'customize.php?url=' . $get_permalink ),
  519.             ),
  520.             array(
  521.                 'id'     => 'jnews_system',
  522.                 'parent' => 'jnews',
  523.                 'title'  => esc_html__( 'System Status', 'jnews' ),
  524.                 'href'   => $revert_dashboard ? admin_url( $admin_page_url . 'jnews_system' ) : admin_url( $admin_url . '?page=jnews&tab=jnews_system' ),
  525.             ),
  526.             array(
  527.                 'id'     => 'jnews_documentation',
  528.                 'parent' => 'jnews',
  529.                 'title'  => esc_html__( 'Video Documentation', 'jnews' ),
  530.                 'href'   => $revert_dashboard ? admin_url( $admin_page_url . 'jnews_documentation' ) : admin_url( $admin_url . '?page=jnews&tab=jnews_documentation' ),
  531.             ),
  532.             array(
  533.                 'id'     => 'jnews_customize_layout',
  534.                 'parent' => 'jnews_customize',
  535.                 'title'  => '<i class="fa fa-magic"></i> ' . esc_html__( 'Layout, Color & Scheme', 'jnews' ),
  536.                 'href'   => admin_url( $customize_page_url . '[panel]=jnews_layout_panel&url=' . $get_permalink ),
  537.             ),
  538.             array(
  539.                 'id'     => 'jnews_customize_header',
  540.                 'parent' => 'jnews_customize',
  541.                 'title'  => '<i class="fa fa-list-alt"></i> ' . esc_html__( 'Header Option', 'jnews' ),
  542.                 'href'   => admin_url( $customize_page_url . '[panel]=jnews_header&url=' . $get_permalink ),
  543.             ),
  544.             array(
  545.                 'id'     => 'jnews_customize_footer',
  546.                 'parent' => 'jnews_customize',
  547.                 'title'  => '<i class="fa fa-th-list"></i> ' . esc_html__( 'Footer Option', 'jnews' ),
  548.                 'href'   => admin_url( $customize_page_url . '[panel]=jnews_footer&url=' . $get_permalink ),
  549.             ),
  550.             array(
  551.                 'id'     => 'jnews_customize_single_post',
  552.                 'parent' => 'jnews_customize',
  553.                 'title'  => '<i class="fa fa-newspaper-o"></i> ' . esc_html__( 'Single Post Option', 'jnews' ),
  554.                 'href'   => admin_url( $customize_page_url . '[panel]=jnews_single_post_panel&url=' . $get_permalink ),
  555.             ),
  556.             array(
  557.                 'id'     => 'jnews_customize_image',
  558.                 'parent' => 'jnews_customize',
  559.                 'title'  => '<i class="fa fa-picture-o"></i> ' . esc_html__( 'Image & Gallery Option', 'jnews' ),
  560.                 'href'   => admin_url( $customize_page_url . '[panel]=jnews_image_panel&url=' . $get_permalink ),
  561.             ),
  562.             array(
  563.                 'id'     => 'jnews_customize_social',
  564.                 'parent' => 'jnews_customize',
  565.                 'title'  => '<i class="fa fa-share-alt"></i> ' . esc_html__( 'Social, Like & View', 'jnews' ),
  566.                 'href'   => admin_url( $customize_page_url . '[panel]=jnews_social_panel&url=' . $get_permalink ),
  567.             ),
  568.             array(
  569.                 'id'     => 'jnews_customize_search',
  570.                 'parent' => 'jnews_customize',
  571.                 'title'  => '<i class="fa fa-search"></i> ' . esc_html__( 'Search Option', 'jnews' ),
  572.                 'href'   => admin_url( $customize_page_url . '[panel]=jnews_search_panel&url=' . $get_permalink ),
  573.             ),
  574.             array(
  575.                 'id'     => 'jnews_customize_category',
  576.                 'parent' => 'jnews_customize',
  577.                 'title'  => '<i class="fa fa-briefcase"></i> ' . esc_html__( 'Category Template', 'jnews' ),
  578.                 'href'   => admin_url( $customize_page_url . '[panel]=jnews_category_panel&url=' . $get_permalink ),
  579.             ),
  580.             array(
  581.                 'id'     => 'jnews_customize_other_template',
  582.                 'parent' => 'jnews_customize',
  583.                 'title'  => '<i class="fa fa-archive"></i> ' . esc_html__( 'Other Template', 'jnews' ),
  584.                 'href'   => admin_url( $customize_page_url . '[panel]=jnews_archive&url=' . $get_permalink ),
  585.             ),
  586.             array(
  587.                 'id'     => 'jnews_customize_font',
  588.                 'parent' => 'jnews_customize',
  589.                 'title'  => '<i class="fa fa-font"></i> ' . esc_html__( 'Font Option', 'jnews' ),
  590.                 'href'   => admin_url( $customize_page_url . '[panel]=jnews_font&url=' . $get_permalink ),
  591.             ),
  592.             array(
  593.                 'id'     => 'jnews_customize_addtional',
  594.                 'parent' => 'jnews_customize',
  595.                 'title'  => '<i class="fa fa-cogs"></i> ' . esc_html__( 'Additional Option', 'jnews' ),
  596.                 'href'   => admin_url( $customize_page_url . '[panel]=jnews_global_panel&url=' . $get_permalink ),
  597.             ),
  598.             array(
  599.                 'id'     => 'jnews_customize_ads',
  600.                 'parent' => 'jnews_customize',
  601.                 'title'  => '<i class="fa fa-usd"></i> ' . esc_html__( 'Advertisement Option', 'jnews' ),
  602.                 'href'   => admin_url( $customize_page_url . '[panel]=jnews_ads&url=' . $get_permalink ),
  603.             ),
  604.             array(
  605.                 'id'     => 'jnews_customize_block',
  606.                 'parent' => 'jnews_customize',
  607.                 'title'  => '<i class="fa fa-files-o"></i> ' . esc_html__( 'Global Block Option', 'jnews' ),
  608.                 'href'   => admin_url( $customize_page_url . '[section]=jnews_block_section&url=' . $get_permalink ),
  609.             ),
  610.             array(
  611.                 'id'     => 'jnews_customize_css',
  612.                 'parent' => 'jnews_customize',
  613.                 'title'  => '<i class="fa fa-code"></i> ' . esc_html__( 'Additional CSS', 'jnews' ),
  614.                 'href'   => admin_url( $customize_page_url . '[section]=custom_css&url=' . $get_permalink ),
  615.             ),
  616.             array(
  617.                 'id'     => 'jnews_customize_script',
  618.                 'parent' => 'jnews_customize',
  619.                 'title'  => '<i class="fa fa-code"></i> ' . esc_html__( 'Additional JavaScript', 'jnews' ),
  620.                 'href'   => admin_url( $customize_page_url . '[section]=jnews_code_section&url=' . $get_permalink ),
  621.             ),
  622.         );
  623.  
  624.         return $label;
  625.     }
  626.  
  627. }
  628.  
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement