data = Avada()->settings->get_all(); add_action( 'add_meta_boxes', array( $this, 'add_meta_boxes' ), 11 ); add_action( 'save_post', array( $this, 'save_meta_boxes' ) ); add_action( 'admin_enqueue_scripts', array( $this, 'admin_script_loader' ), 99 ); } /** * Load backend scripts. * * @access public */ public function admin_script_loader() { $screen = get_current_screen(); if ( isset( $screen->post_type ) && in_array( $screen->post_type, apply_filters( 'avada_hide_page_options', array() ) ) ) { return; } $theme_info = wp_get_theme(); wp_enqueue_script( 'jquery.biscuit', Avada::$template_dir_url . '/assets/admin/js/jquery.biscuit.js', array( 'jquery' ), $theme_info->get( 'Version' ) ); wp_register_script( 'avada_upload', Avada::$template_dir_url . '/assets/admin/js/upload.js', array( 'jquery' ), $theme_info->get( 'Version' ) ); wp_enqueue_script( 'avada_upload' ); wp_enqueue_script( 'media-upload' ); wp_enqueue_script( 'thickbox' ); wp_enqueue_style( 'thickbox' ); wp_enqueue_script( 'jquery-ui-core' ); wp_enqueue_script( 'jquery-ui-tabs' ); wp_enqueue_script( 'jquery-ui-widget' ); wp_enqueue_script( 'jquery-ui-button' ); // Select field assets. wp_dequeue_script( 'tribe-events-select2' ); wp_enqueue_style( 'select2-css', Avada::$template_dir_url . '/assets/admin/css/select2.css', array(), '4.0.3', 'all' ); wp_enqueue_script( 'selectwoo-js', Avada::$template_dir_url . '/assets/admin/js/selectWoo.full.min.js', array( 'jquery' ), '1.0.2' ); // Range field assets. wp_enqueue_style( 'avadaredux-nouislider-css', FUSION_LIBRARY_URL . '/inc/redux/framework/FusionReduxCore/inc/fields/slider/vendor/nouislider/fusionredux.jquery.nouislider.css', array(), '5.0.0', 'all' ); wp_enqueue_script( 'avadaredux-nouislider-js', Avada::$template_dir_url . '/assets/admin/js/jquery.nouislider.min.js', array( 'jquery' ), '5.0.0', true ); wp_enqueue_script( 'wnumb-js', Avada::$template_dir_url . '/assets/admin/js/wNumb.js', array( 'jquery' ), '1.0.2', true ); // Color fields. wp_enqueue_script( 'wp-color-picker' ); wp_enqueue_style( 'wp-color-picker' ); wp_enqueue_script( 'wp-color-picker-alpha', Avada::$template_dir_url . '/assets/admin/js/wp-color-picker-alpha.js', array( 'wp-color-picker' ) ); // General JS for fields. wp_enqueue_script( 'avada-fusion-options', Avada::$template_dir_url . '/assets/admin/js/avada-fusion-options.js', array( 'jquery' ), $theme_info->get( 'Version' ) ); } /** * Adds the metaboxes. * * @access public */ public function add_meta_boxes() { $post_types = get_post_types( array( 'public' => true, ) ); $disallowed = array( 'page', 'post', 'attachment', 'avada_portfolio', 'themefusion_elastic', 'product', 'wpsc-product', 'slide', 'tribe_events' ); $disallowed = array_merge( $disallowed, apply_filters( 'avada_hide_page_options', array() ) ); foreach ( $post_types as $post_type ) { if ( in_array( $post_type, $disallowed ) ) { continue; } $this->add_meta_box( 'post_options', 'Avada Options', $post_type ); } $this->add_meta_box( 'post_options', 'Fusion Page Options', 'avada_faq' ); $this->add_meta_box( 'post_options', 'Fusion Page Options', 'post' ); $this->add_meta_box( 'page_options', 'Fusion Page Options', 'page' ); $this->add_meta_box( 'portfolio_options', 'Fusion Page Options', 'avada_portfolio' ); $this->add_meta_box( 'es_options', 'Elastic Slide Options', 'themefusion_elastic' ); $this->add_meta_box( 'woocommerce_options', 'Fusion Page Options', 'product' ); $this->add_meta_box( 'slide_options', 'Slide Options', 'slide' ); $this->add_meta_box( 'events_calendar_options', 'Events Calendar Options', 'tribe_events' ); } /** * Adds a metabox. * * @access public * @param string $id The metabox ID. * @param string $label The metabox label. * @param string $post_type The post-type. */ public function add_meta_box( $id, $label, $post_type ) { add_meta_box( 'pyre_' . $id, $label, array( $this, $id ), $post_type, 'advanced', 'high' ); } /** * Saves the metaboxes. * * @access public * @param string|int $post_id The post ID. */ public function save_meta_boxes( $post_id ) { if ( defined( 'DOING_AUTOSAVE' ) && DOING_AUTOSAVE ) { return; } $fusion_meta = array_intersect_key( $_POST, array_flip( preg_grep( '/^pyre_/', array_keys( $_POST ) ) ) ); // WPCS: CSRF ok. foreach ( $fusion_meta as $key => $value ) { update_post_meta( $post_id, $key, $value ); } } /** * Handle rendering options for pages. * * @access public */ public function page_options() { $this->render_option_tabs( array( 'sliders', 'page', 'header', 'footer', 'sidebars', 'background', 'pagetitlebar' ) ); } /** * Handle rendering options for posts. * * @access public */ public function post_options() { $this->render_option_tabs( array( 'post', 'sliders', 'page', 'header', 'footer', 'sidebars', 'background', 'pagetitlebar' ) ); } /** * Handle rendering options for portfolios. * * @access public */ public function portfolio_options() { $this->render_option_tabs( array( 'portfolio_post', 'sliders', 'page', 'header', 'footer', 'sidebars', 'background', 'pagetitlebar' ) ); } /** * Handle rendering options for woocommerce. * * @access public */ public function woocommerce_options() { $this->render_option_tabs( array( 'page', 'header', 'footer', 'sidebars', 'sliders', 'background', 'pagetitlebar' ), 'product' ); } /** * Handle rendering options for ES. * * @access public */ public function es_options() { include 'options/options_es.php'; } /** * Handle rendering options for slides. * * @access public */ public function slide_options() { include 'options/options_slide.php'; } /** * Handle rendering options for events. * * @access public */ public function events_calendar_options() { $this->render_option_tabs( array( 'sliders', 'page', 'header', 'footer', 'sidebars', 'background', 'pagetitlebar' ) ); } /** * Handle rendering options. * * @access public * @param array $requested_tabs The requested tabs. * @param string $post_type The post-type. */ public function render_option_tabs( $requested_tabs, $post_type = 'default' ) { $screen = get_current_screen(); $tabs_names = array( 'sliders' => esc_html__( 'Sliders', 'Avada' ), 'page' => esc_html__( 'Page', 'Avada' ), 'post' => ( 'avada_faq' === $screen->post_type ) ? esc_html__( 'FAQ', 'Avada' ) : esc_html__( 'Post', 'Avada' ), 'header' => esc_html__( 'Header', 'Avada' ), 'footer' => esc_html__( 'Footer', 'Avada' ), 'sidebars' => esc_html__( 'Sidebars', 'Avada' ), 'background' => esc_html__( 'Background', 'Avada' ), 'pagetitlebar' => esc_html__( 'Page Title Bar', 'Avada' ), 'portfolio_post' => esc_html__( 'Portfolio', 'Avada' ), 'product' => esc_html__( 'Product', 'Avada' ), ); $tabs = array( 'requested_tabs' => $requested_tabs, 'tabs_names' => $tabs_names, 'tabs_path' => array(), ); $tabs = apply_filters( 'avada_metabox_tabs', $tabs, $post_type ); ?>
' . esc_attr( 'Reset to default.', 'Avada' ) . '' . esc_attr( 'Using default value.', 'Avada' ) . ''; } ?> ' . esc_attr( 'Reset to default.', 'Avada' ) . '' . esc_attr( 'Using default value.', 'Avada' ) . ''; } ?> ID, 'pyre_' . $id, true ) ) ? $default : get_post_meta( $post->ID, 'pyre_' . $id, true ); ?> ID, 'pyre_' . $id, true ); $value = ( metadata_exists( 'post', $post->ID, 'pyre_' . $id ) ) ? $db_value : $default; $rows = 10; if ( 'heading' === $id || 'caption' === $id ) { $rows = 5; } elseif ( 'page_title_custom_text' == $id || 'page_title_custom_subheader' == $id ) { $rows = 1; } ?> settings->get( 'dependencies_status' ) ) { return ''; } $data_dependency = ''; if ( 0 < count( $dependency ) ) { $data_dependency .= '