Willkommen bei WordPress. Dies ist dein erster Beitrag. Bearbeite oder lösche ihn und beginne mit dem Schreiben!
Hallo Welt!
von raredesign | Dez 3, 2019 | Allgemein | 0 Kommentare
Cokiee Shell
Current Path : /var/www/web28/html/wp-content/themes/Avada/includes/ |
Current File : //var/www/web28/html/wp-content/themes/Avada/includes/class-avada-taxonomy-meta.php |
<?php /** * Handler for Taxonomy Meta * * @author ThemeFusion * @copyright (c) Copyright by ThemeFusion * @link https://avada.com * @package Avada * @subpackage Core * @since 5.3 */ // Do not allow directly accessing this file. if ( ! defined( 'ABSPATH' ) ) { exit( 'Direct script access denied.' ); } /** * Handle taxonomy meta. */ class Avada_Taxonomy_Meta { /** * Holds meta box object * * @var object * @access protected */ protected $fusion_meta_box; /** * Holds meta box fields. * * @access protected * @since 5.3 * @var array */ protected $meta_fields = []; /** * Type of form; edit or new term. * * @access protected * @since 5.3 * @var string */ protected $form_type; /** * Construct the object and init hooks * * @access public * @since 5.3 * @param array $config Configuration data. */ public function __construct( $config ) { // Return if not admin. if ( ! is_admin() ) { return; } // Set config values. $this->fusion_meta_box = $config; // Add Actions. add_action( 'admin_init', [ $this, 'init_hooks' ] ); // Add styles and scripts. add_action( 'admin_print_styles', [ $this, 'add_scripts_styles' ] ); } /** * Taxonomy options map. * * @access public * @since 6.0 * @return array */ public static function avada_taxonomy_map() { // Allow regular logic to be skipped. $custom_options = apply_filters( 'before_avada_taxonomy_map', [] ); if ( ! empty( $custom_options ) || false === $custom_options ) { return $custom_options; } // Regular PTB TO. $page_title_option_name = 'page_title_bar'; if ( get_the_id() === (int) get_option( 'page_for_posts' ) ) { // Blog page PTB. $page_title_option_name = 'blog_show_page_title_bar'; } elseif ( ( isset( $_GET['taxonomy'] ) && ( 'post_tag' === $_GET['taxonomy'] || 'category' === $_GET['taxonomy'] ) ) || ( function_exists( 'fusion_is_preview_frame' ) && fusion_is_preview_frame() && is_single() ) ) { // phpcs:ignore WordPress.Security.NonceVerification // Blog archive/post PTB. $page_title_option_name = 'blog_page_title_bar'; } $page_title_option = Avada()->settings->get( $page_title_option_name ); // Check if we have a template override. $template_override = false; $ptb_override = false; if ( class_exists( 'Fusion_Template_Builder' ) ) { $template_override = Fusion_Template_Builder::get_instance()->get_override( 'content' ); $ptb_override = Fusion_Template_Builder::get_instance()->get_override( 'page_title_bar' ); } // Dependency check that page title bar not hidden. $page_title_dependency = [ [ 'field' => 'page_title', 'value' => 'no', 'comparison' => '!=', ], ]; if ( 'hide' === $page_title_option ) { $page_title_dependency[] = [ 'field' => 'page_title', 'value' => 'default', 'comparison' => '!=', ]; } // Dependency check that background is used. $page_title_bg_dependency = $page_title_dependency; $page_title_bg_dependency[] = [ 'field' => 'page_title', 'value' => 'yes_without_bar', 'comparison' => '!=', ]; if ( 'content_only' === $page_title_option ) { $page_title_bg_dependency[] = [ 'field' => 'page_title', 'value' => 'default', 'comparison' => '!=', ]; } // Get array of available sliders. $active_slider_types = avada_get_available_sliders_dropdown(); $sliders_array = avada_get_available_sliders_array(); $sections = []; $sections['taxonomy_options'] = [ 'label' => esc_html__( 'Avada Taxonomy Options', 'Avada' ), 'id' => 'taxonomy_options', 'class' => 'avada-tax-heading avada-tax-heading-edit', 'icon' => 'fusiona-page-options', 'fields' => [ 'fusion_tax_heading' => [ 'id' => 'fusion_tax_heading', 'label' => esc_html__( 'Avada Taxonomy Options', 'Avada' ), 'class' => 'avada-tax-heading avada-tax-heading-edit', 'type' => 'header', ], ], ]; $sections['taxonomy_options']['fields']['featured_image'] = [ 'id' => 'featured_image', 'label' => esc_html__( 'Featured Image', 'Avada' ), /* translators: Additional description (defaults). */ 'description' => esc_html__( 'Select an featured image to represent the term. This can then be used in dynamic data and post cards.' ), 'type' => 'media', 'transport' => 'postMessage', ]; if ( function_exists( 'fusion_is_preview_frame' ) && fusion_is_preview_frame() ) { // Click here for Avada Slider, Revolution Slider or Layer Slider. $sections['taxonomy_options']['fields']['sliders_note'] = [ 'label' => '', 'description' => '<div class="fusion-redux-important-notice">' . avada_get_sliders_note( $sliders_array, $active_slider_types ) . '</div>', 'id' => 'sliders_note', 'type' => 'custom', ]; } $sections['taxonomy_options']['fields']['slider_type'] = [ 'id' => 'slider_type', 'label' => esc_html__( 'Slider Type ', 'Avada' ), 'choices' => $active_slider_types, 'default' => 'no', 'class' => 'avada-sliders-selection', 'description' => esc_html__( 'Select the type of slider that displays.', 'Avada' ), 'type' => 'select', 'transport' => 'postMessage', 'partial_refresh' => [ 'fusion_slider_change' => [ 'selector' => '#sliders-container', 'container_inclusive' => false, 'render_callback' => [ 'Avada_Partial_Refresh_Callbacks', 'avada_slider' ], ], ], ]; if ( class_exists( 'LS_Sliders' ) ) { $sections['taxonomy_options']['fields']['slider'] = [ 'id' => 'slider', 'label' => __( 'Select LayerSlider ', 'Avada' ), 'choices' => $sliders_array['layer_sliders'], 'default' => 0, 'class' => 'avada-sliders-group avada-layer-slider', 'description' => __( 'Select the unique name of the slider.', 'Avada' ), 'dependency' => [ [ 'field' => 'slider_type', 'value' => 'layer', 'comparison' => '==', ], ], 'type' => 'select', 'transport' => 'postMessage', 'partial_refresh' => [ 'fusion_slider_change' => [ 'selector' => '#sliders-container', 'container_inclusive' => false, 'render_callback' => [ 'Avada_Partial_Refresh_Callbacks', 'avada_slider' ], ], ], ]; } if ( method_exists( 'FusionCore_Plugin', 'get_fusion_sliders' ) ) { $sections['taxonomy_options']['fields']['wooslider'] = [ 'id' => 'wooslider', 'label' => __( 'Select Avada Slider ', 'Avada' ), 'choices' => $sliders_array['fusion_sliders'], 'default' => 0, 'class' => 'avada-sliders-group avada-flex-slider', 'description' => __( 'Select the unique name of the slider.', 'Avada' ), 'dependency' => [ [ 'field' => 'slider_type', 'value' => 'flex', 'comparison' => '==', ], ], 'type' => 'select', 'transport' => 'postMessage', 'partial_refresh' => [ 'fusion_slider_change' => [ 'selector' => '#sliders-container', 'container_inclusive' => false, 'render_callback' => [ 'Avada_Partial_Refresh_Callbacks', 'avada_slider' ], ], ], ]; } if ( function_exists( 'rev_slider_shortcode' ) ) { $sections['taxonomy_options']['fields']['revslider'] = [ 'id' => 'revslider', 'label' => esc_html__( 'Select Slider Revolution Slider', 'Avada' ), 'choices' => $sliders_array['rev_sliders'], 'default' => 0, 'class' => 'avada-sliders-group avada-rev-slider', 'description' => esc_html__( 'Select the unique name of the slider.', 'Avada' ), 'dependency' => [ [ 'field' => 'slider_type', 'value' => 'rev', 'comparison' => '==', ], ], 'type' => 'select', 'transport' => 'postMessage', 'partial_refresh' => [ 'fusion_slider_change' => [ 'selector' => '#sliders-container', 'container_inclusive' => false, 'render_callback' => [ 'Avada_Partial_Refresh_Callbacks', 'avada_slider' ], ], ], ]; } if ( true === taxonomy_exists( 'themefusion_es_groups' ) ) { $sections['taxonomy_options']['fields']['elasticslider'] = [ 'id' => 'elasticslider', 'label' => esc_html__( 'Select Elastic Slider', 'Avada' ), 'choices' => $sliders_array['elastic_sliders'], 'default' => 0, 'class' => 'avada-sliders-group avada-elastic-slider', 'description' => esc_html__( 'Select the unique name of the slider.', 'Avada' ), 'dependency' => [ [ 'field' => 'slider_type', 'value' => 'elastic', 'comparison' => '==', ], ], 'type' => 'select', 'transport' => 'postMessage', 'partial_refresh' => [ 'fusion_slider_change' => [ 'selector' => '#sliders-container', 'container_inclusive' => false, 'render_callback' => [ 'Avada_Partial_Refresh_Callbacks', 'avada_slider' ], ], ], ]; } $sections['taxonomy_options']['fields']['slider_position'] = [ 'id' => 'slider_position', 'label' => esc_html__( 'Slider Position', 'Avada' ), 'choices' => [ 'default' => esc_html__( 'Default', 'Avada' ), 'below' => esc_html__( 'Below', 'Avada' ), 'above' => esc_html__( 'Above', 'Avada' ), ], 'default' => 'default', 'class' => 'avada-sliders-group avada-slider-buttonset', /* translators: Additional description (defaults). */ 'description' => sprintf( esc_html__( 'Select if the slider shows below or above the header. Only works for top header position. %s', 'Avada' ), Avada()->settings->get_default_description( 'slider_position', '', 'select' ) ), 'to_default' => [ 'id' => 'slider_position', ], 'dependency' => [ [ 'field' => 'slider_type', 'value' => 'no', 'comparison' => '!=', ], ], 'type' => 'radio-buttonset', ]; $is_builder = isset( $_GET['builder'] ) && isset( $_GET['builder_id'] ); // phpcs:ignore WordPress.Security.NonceVerification.Recommended $sections['taxonomy_options']['fields']['slider_visibility'] = [ 'id' => 'slider_visibility', 'label' => esc_attr__( 'Slider Visibility', 'Avada' ), /* translators: Global Options link. */ 'description' => sprintf( esc_html__( 'Choose to show or hide the slider on small, medium or large screens. You can choose more than one at a time. Each of the 3 sizes has a custom width setting on the Responsive tab in the. %s.', 'Avada' ), '<a href="' . Avada()->settings->get_setting_link( 'visibility_small' ) . '" target="_blank" rel="noopener noreferrer">' . apply_filters( 'fusion_options_label', esc_html__( 'Element Options', 'Avada' ) ) . '</a>' ), 'value' => [ 'small-visibility' => $is_builder ? '<span class="fusiona-mobile"></span>|' . esc_attr__( 'Small Screen', 'Avada' ) : esc_attr__( 'Small Screen', 'Avada' ), 'medium-visibility' => $is_builder ? '<span class="fusiona-tablet"></span>|' . esc_attr__( 'Medium Screen', 'Avada' ) : esc_attr__( 'Medium Screen', 'Avada' ), 'large-visibility' => $is_builder ? '<span class="fusiona-desktop"></span>|' . esc_attr__( 'Large Screen', 'Avada' ) : esc_attr__( 'Large Screen', 'Avada' ), ], 'default' => 'small-visibility,medium-visibility,large-visibility', 'transport' => 'postMessage', 'output' => [ [ 'element' => 'helperElement', 'property' => 'dummy', 'callback' => [ 'change_slider_visibility', [ 'element' => '#sliders-container', ], ], 'sanitize_callback' => '__return_empty_string', ], ], 'dependency' => [ [ 'field' => 'slider_type', 'value' => 'no', 'comparison' => '!=', ], ], 'type' => 'checkbox-buttonset', ]; if ( ! $template_override ) { $sections['taxonomy_options']['fields']['main_padding'] = [ 'id' => 'main_padding', 'label' => esc_html__( 'Page Content Padding', 'Avada' ), /* translators: Additional description (defaults). */ 'description' => sprintf( esc_html__( 'In pixels ex: 20px. %s', 'Avada' ), Avada()->settings->get_default_description( 'main_padding', [ 'top', 'bottom' ] ) ), 'type' => 'dimensions', 'value' => [ 'top' => '', 'bottom' => '', ], 'location' => 'TAXO', 'css_vars' => [ [ 'name' => '--main_padding-top', 'element' => '#main', ], [ 'name' => '--main_padding-bottom', 'element' => '#main', ], ], ]; } $sections['taxonomy_options']['fields']['archive_header_bg_color'] = [ 'id' => 'archive_header_bg_color', 'label' => __( 'Header Background Color', 'Avada' ), /* translators: Additional description (defaults). */ 'description' => sprintf( esc_html__( 'Controls the background color for the header. Hex code or rgba value, ex: #000. %s', 'Avada' ), Avada()->settings->get_default_description( 'archive_header_bg_color' ) ), 'default' => Avada()->settings->get( 'archive_header_bg_color' ), 'type' => 'color-alpha', 'location' => 'TAXO', 'css_vars' => [ [ 'name' => '--header_bg_color', 'element' => '#side-header,.fusion-header', 'callback' => [ 'sanitize_color' ], ], [ 'name' => '--archive_header_bg_color', 'element' => '#side-header,.fusion-header', 'callback' => [ 'sanitize_color' ], ], ], 'output' => [ [ 'element' => 'helperElement', 'property' => 'dummy', 'callback' => [ 'toggle_class', [ 'condition' => [ '', 'header-not-opaque' ], 'element' => 'html, .avada-html-is-archive', 'className' => 'avada-header-color-not-opaque', ], ], 'sanitize_callback' => '__return_empty_string', ], ], ]; $sections['taxonomy_options']['fields']['mobile_archive_header_bg_color'] = [ 'id' => 'mobile_archive_header_bg_color', 'label' => esc_html__( 'Mobile Header Background Color', 'Avada' ), /* translators: Additional description (defaults). */ 'description' => sprintf( esc_html__( 'Controls the background color for the header on mobile devices. Hex code or rgba value, ex: #000. %s', 'Avada' ), Avada()->settings->get_default_description( 'mobile_archive_header_bg_color' ) ), 'default' => Avada()->settings->get( 'mobile_archive_header_bg_color' ), 'type' => 'color-alpha', 'location' => 'TAXO', 'css_vars' => [ [ 'name' => '--mobile_header_bg_color', 'callback' => [ 'sanitize_color' ], ], ], ]; if ( ! $ptb_override ) { $sections['taxonomy_options']['fields']['page_title_bar'] = [ 'id' => 'page_title_bar', 'label' => esc_html__( 'Page Title Bar', 'Avada' ), /* translators: Additional description (defaults). */ 'description' => sprintf( esc_html__( 'Choose to show or hide the page title bar. %s', 'Avada' ), Avada()->settings->get_default_description( $page_title_option_name, '', 'select' ) ), 'dependency' => [], 'type' => 'select', 'choices' => [ 'default' => esc_html__( 'Default', 'Avada' ), 'yes' => esc_html__( 'Show Bar and Content', 'Avada' ), 'yes_without_bar' => esc_html__( 'Show Content Only', 'Avada' ), 'no' => esc_html__( 'Hide', 'Avada' ), ], 'default' => 'default', // We're forcing a refresh here because the TO option varies // depending on the context of the current page, and also because // the actual values of TO options are completely different to those in the PO. 'transport' => 'refresh', 'to_default' => [ 'id' => $page_title_option_name, ], ]; $sections['taxonomy_options']['fields']['page_title_bg'] = [ 'id' => 'page_title_bg', 'label' => esc_html__( 'Page Title Bar Background', 'Avada' ), /* translators: Additional description (defaults). */ 'description' => sprintf( esc_html__( 'Select an image to use for the page title bar background. %s', 'Avada' ), Avada()->settings->get_default_description( 'page_title_bg', 'url' ) ), 'type' => 'media', 'dependency' => $page_title_bg_dependency, ]; $sections['taxonomy_options']['fields']['page_title_bg_retina'] = [ 'id' => 'page_title_bg_retina', 'label' => esc_html__( 'Page Title Bar Background Retina', 'Avada' ), /* translators: esc_html__ description (defaults). */ 'description' => sprintf( esc_html__( 'Select an image to use for retina devices. %s', 'Avada' ), Avada()->settings->get_default_description( 'page_title_bg_retina', 'url' ) ), 'type' => 'media', 'dependency' => [ [ 'field' => 'page_title_bg', 'value' => '', 'comparison' => '!=', ], ], $page_title_dependency, ]; $sections['taxonomy_options']['fields']['page_title_height'] = [ 'id' => 'page_title_height', 'label' => esc_html__( 'Page Title Bar Height', 'Avada' ), /* translators: percetange sign and additional description (defaults). */ 'description' => sprintf( esc_html__( 'Controls the height of the page title bar on desktop. Enter value including any valid CSS unit besides %1$s which does not work for page title bar, ex: 87px. %2$s', 'Avada' ), '%', Avada()->settings->get_default_description( 'page_title_height' ) ), 'type' => 'text', 'location' => 'TAXO', 'css_vars' => [ [ 'name' => '--page_title_height', 'element' => '.fusion-page-title-bar', ], ], 'dependency' => $page_title_dependency, ]; $sections['taxonomy_options']['fields']['page_title_mobile_height'] = [ 'id' => 'page_title_mobile_height', 'label' => esc_html__( 'Page Title Bar Mobile Height', 'Avada' ), /* translators: Percentage sign and additional description (defaults). */ 'description' => sprintf( esc_html__( 'Controls the height of the page title bar on mobile. Enter value including any valid CSS unit besides %1$s which does not work for page title bar, ex: 70px. %2$s', 'Avada' ), '%', Avada()->settings->get_default_description( 'page_title_mobile_height' ) ), 'type' => 'text', 'location' => 'TAXO', 'css_vars' => [ [ 'name' => '--page_title_mobile_height', ], ], 'dependency' => $page_title_dependency, ]; } return $sections; } /** * Add Meta Boxes for post types. * * @access public * @since 5.3 */ public function init_hooks() { // Loop through array and init hooks. foreach ( $this->fusion_meta_box['screens'] as $screen ) { // add fields to edit form. add_action( $screen . '_edit_form', [ $this, 'render_edit_form' ] ); // add fields to add new form. add_action( $screen . '_add_form_fields', [ $this, 'render_new_form' ] ); // this saves the edit fields. add_action( 'edited_' . $screen, [ $this, 'save_data' ] ); // this saves the add fields. add_action( 'created_' . $screen, [ $this, 'save_data' ] ); } } /** * Add styles and scripts. * * @access public * @since 5.3 */ public function add_scripts_styles() { $screen = get_current_screen(); // Add resources on required screens only. if ( 'edit-tags' === $screen->base || 'term' === $screen->base ) { $ver = Avada::get_theme_version(); if ( function_exists( 'AWB_Global_Colors' ) ) { AWB_Global_Colors()->enqueue(); } // Enqueu built-in script and styles for media JavaScript APIs. wp_enqueue_media(); wp_enqueue_script( 'avada-tax-meta-js', Avada::$template_dir_url . '/assets/admin/js/avada-tax-meta.js', [ 'jquery' ], $ver, true ); wp_enqueue_style( 'avada-tax-meta-css', Avada::$template_dir_url . '/assets/admin/css/avada-tax-meta.css', [], $ver ); wp_enqueue_script( 'selectwoo-js', Avada::$template_dir_url . '/assets/admin/js/selectWoo.full.min.js', [ 'jquery' ], $ver, false ); wp_enqueue_style( 'select2-css', Avada::$template_dir_url . '/assets/admin/css/select2.css', [], $ver, 'all' ); } } /** * Set type of the form. * * @access public * @since 5.3 * @param string $type Type of the form. */ public function set_form_type( $type ) { $this->form_type = $type; } /** * Callback function to show fields on term edit form. * * @access public * @since 5.3 * @param mixed $term_id ID of current term. */ public function render_edit_form( $term_id ) { $this->set_form_type( 'edit' ); $this->render_fields( $term_id ); } /** * Callback function to show fields on add new taxonomy term form. * * @access public * @since 5.3 * @param mixed $term_id ID of current term. */ public function render_new_form( $term_id ) { $this->set_form_type( 'new' ); $this->render_fields( $term_id ); } /** * Callback function to show fields in meta box. * * @access public * @since 5.3 * @param mixed $term_id ID of current term. */ public function render_fields( $term_id ) { // Check for Object. $term_id = is_object( $term_id ) ? $term_id->term_id : $term_id; if ( 'edit' === $this->form_type ) { // Check if we have a template override. $template_override = false; $ptb_override = false; $header_override = false; if ( class_exists( 'Fusion_Template_Builder' ) ) { $template_override = Fusion_Template_Builder::get_instance()->get_override( 'content' ); $ptb_override = Fusion_Template_Builder::get_instance()->get_override( 'page_title_bar' ); $header_override = Fusion_Template_Builder::get_instance()->get_override( 'header' ); } ?> <?php if ( $template_override || $ptb_override || $header_override ) : ?> <div class="notice notice-info"> <p><?php esc_html_e( 'This term uses a custom template for:', 'Avada' ); ?></p> <ul style="padding-left:1em;"> <?php if ( $template_override ) : ?> <li style="list-style-type:disc;"><?php echo esc_html( Fusion_Template_Builder::get_instance()->types['content']['label'] ); ?></li> <?php endif; ?> <?php if ( $ptb_override ) : ?> <li style="list-style-type:disc;"><?php echo esc_html( Fusion_Template_Builder::get_instance()->types['page_title_bar']['label'] ); ?></li> <?php endif; ?> <?php if ( $header_override ) : ?> <li style="list-style-type:disc;"><?php echo esc_html( Fusion_Template_Builder::get_instance()->types['header']['label'] ); ?></li> <?php endif; ?> </ul> </div> <?php endif; ?> <table class="avada-tax-meta-table"> <tr class="avada-tax-meta-spacer"><td colspan="2"><?php wp_nonce_field( basename( __FILE__ ), 'fusion_taxnonomy_meta_nonce' ); ?></td></tr> <?php } else { wp_nonce_field( basename( __FILE__ ), 'fusion_taxnonomy_meta_nonce' ); } foreach ( $this->meta_fields as $field ) { $name = $field['id']; // Field value. $meta = fusion_data()->term_meta( $term_id )->get( $name ); $meta = ( null === $meta ) ? '' : $meta; $meta = ( '' !== $meta ) ? $meta : ( ( isset( $field['default'] ) && 'color' !== $field['type'] ) ? $field['default'] : '' ); if ( 'image' !== $field['type'] ) { $meta = is_array( $meta ) ? array_map( 'esc_attr', $meta ) : esc_attr( $meta ); } if ( 'edit' === $this->form_type ) { ?> <tr class="form-field avada-tax-meta-field <?php echo esc_attr( $field['class'] ); ?>"> <?php } // Call Separated methods for displaying each type of field. call_user_func( [ $this, 'render_field_' . $field['type'] ], $field, is_array( $meta ) ? $meta : stripslashes( $meta ) ); if ( 'edit' === $this->form_type ) { ?> </tr> <?php } } if ( 'edit' === $this->form_type ) { ?> </table> <?php } } /** * Save Data from Metabox * * @access public * @since 5.3 * @param string $term_id ID of the current term. */ public function save_data( $term_id ) { // Return if inline save. if ( isset( $_REQUEST['action'] ) && 'inline-save-tax' === sanitize_text_field( wp_unslash( $_REQUEST['action'] ) ) ) { // phpcs:ignore WordPress.Security.NonceVerification return $term_id; } // Check revision, nonce, current taxonomy type, support of current taxonomy type and permission. if ( ! isset( $term_id ) || ( ! check_admin_referer( basename( __FILE__ ), 'fusion_taxnonomy_meta_nonce' ) ) || ( ! isset( $_POST['taxonomy'] ) ) || ( ! in_array( wp_unslash( $_POST['taxonomy'] ), $this->fusion_meta_box['screens'] ) ) || ( ! current_user_can( 'manage_categories' ) ) ) { // phpcs:ignore WordPress.PHP.StrictInArray return $term_id; } foreach ( $this->meta_fields as $field ) { $value = isset( $_POST[ $field['id'] ] ) ? wp_unslash( $_POST[ $field['id'] ] ) : ''; // phpcs:ignore WordPress.Security.ValidatedSanitizedInput if ( is_string( $value ) && 0 === strpos( $value, '{"' ) ) { $json = json_decode( $value, true ); if ( $json ) { $value = $json; }; } fusion_data()->term_meta( $term_id )->set( $field['id'], $value ); } // Reset all caches except demo_data, fb_pages and patcher_messages. fusion_reset_all_caches( [ 'demo_data' => false, 'fb_pages' => false, 'patcher_messages' => false, ] ); } /** * Add Text Field to meta box * * @access public * @since 5.3 * @param string $id ID of the field. * @param array $args field aruguments. */ public function text( $id, $args ) { $field = [ 'type' => 'text', 'id' => $id, 'default' => '', 'class' => '', 'desc' => '', 'style' => '', 'name' => 'Text Field', ]; $field = array_merge( $field, $args ); $this->meta_fields[] = $field; } /** * Add Text Field to meta box * * @access public * @since 5.3 * @param string $id ID of the field. * @param array $args field aruguments. */ public function dimensions( $id, $args ) { $field = [ 'type' => 'dimensions', 'id' => $id, 'default' => '', 'class' => '', 'desc' => '', 'style' => '', 'name' => 'Dimension Field', ]; $field = array_merge( $field, $args ); $this->meta_fields[] = $field; } /** * Add Select Field to meta box * * @access public * @since 5.3 * @param string $id ID of the field. * @param array $options Array of available options. * @param array $args Field aruguments. */ public function select( $id, $options, $args ) { $field = [ 'type' => 'select', 'id' => $id, 'default' => '', 'class' => '', 'desc' => '', 'style' => '', 'name' => 'Select Field', 'options' => $options, ]; $field = array_merge( $field, $args ); $this->meta_fields[] = $field; } /** * Add Radio Button Field to meta box * * @access public * @since 5.3 * @param string $id ID of the field. * @param array $options Array of available options. * @param array $args Field aruguments. */ public function radio_buttonset( $id, $options, $args ) { $field = [ 'type' => 'radio_buttonset', 'id' => $id, 'default' => '', 'class' => '', 'desc' => '', 'style' => '', 'name' => 'Radio Field', 'options' => $options, ]; $field = array_merge( $field, $args ); $this->meta_fields[] = $field; } /** * Add Checkboxn Field to meta box * * @access public * @since 7.4 * @param string $id ID of the field. * @param array $options Array of available options. * @param array $args Field aruguments. */ public function checkbox_buttonset( $id, $options, $args ) { $field = [ 'type' => 'checkbox_buttonset', 'id' => $id, 'default' => '', 'class' => '', 'desc' => '', 'style' => '', 'name' => 'Checkbox Field', 'options' => $options, ]; $field = array_merge( $field, $args ); $this->meta_fields[] = $field; } /** * Add Color Picket Field to meta box * * @access public * @since 5.3 * @param string $id ID of the field. * @param array $args Field aruguments. */ public function colorpicker( $id, $args ) { $field = [ 'type' => 'color', 'id' => $id, 'default' => '', 'class' => '', 'desc' => '', 'style' => '', 'name' => 'ColorPicker Field', ]; $field = array_merge( $field, $args ); $this->meta_fields[] = $field; } /** * Add Color Picket Field to meta box * * @access public * @since 5.3 * @param string $id ID of the field. * @param array $args Field aruguments. */ public function image( $id, $args ) { $field = [ 'type' => 'image', 'id' => $id, 'default' => '', 'class' => '', 'desc' => '', 'style' => '', 'url' => '', 'name' => 'Image Field', ]; $field = array_merge( $field, $args ); $this->meta_fields[] = $field; } /** * Add header to meta box * * @access public * @since 5.3 * @param string $id ID of the field. * @param array $args Field aruguments. */ public function header( $id, $args ) { $field = [ 'type' => 'header', 'id' => $id, 'value' => '', 'style' => '', 'default' => '', ]; $field = array_merge( $field, $args ); $this->meta_fields[] = $field; } /** * Render dependency markup. * * @since 5.3 * @param array $dependency dependence options. * @return string $data_dependence markup */ private function render_dependency( $dependency = [] ) { // Disable dependencies if 'dependencies_status' is set to 0. if ( '0' === Avada()->settings->get( 'dependencies_status' ) ) { return ''; } $data_dependency = ''; if ( 0 < count( $dependency ) ) { $data_dependency .= '<div class="avada-tax-dependency">'; foreach ( $dependency as $dependence ) { $data_dependency .= '<span class="hidden" data-value="' . $dependence['value'] . '" data-field="' . $dependence['field'] . '" data-comparison="' . $dependence['comparison'] . '"></span>'; } $data_dependency .= '</div>'; } return $data_dependency; } /** * Show Field Text. * * @access public * @since 5.3 * @param array $field Field data. * @param string $meta Meta data. */ public function render_field_text( $field, $meta ) { $this->render_field_start( $field, $meta ); ?> <input type="text" class="avada-tax-text" name="<?php echo esc_attr( $field['id'] ); ?>" id="<?php echo esc_attr( $field['id'] ); ?>" value="<?php echo esc_attr( $meta ); ?>" style="<?php echo esc_attr( $field['style'] ); ?>" size='30' /> <?php $this->render_field_end( $field, $meta ); } /** * Dimensions field. * * @since 6.2.0 * @param array $field Field data. * @param string $meta Meta data. */ public function render_field_dimensions( $field, $meta ) { $meta = (array) $meta; $this->render_field_start( $field, $meta ); ?> <div class="pyre_metabox_field"> <div class="pyre_field avada-dimension"> <?php foreach ( $field['default'] as $key => $default_val ) : ?> <?php $icon_class = 'fusiona-expand width'; if ( false !== strpos( $key, 'height' ) ) { $icon_class = 'fusiona-expand height'; } if ( false !== strpos( $key, 'top' ) ) { $icon_class = 'dashicons dashicons-arrow-up-alt'; } if ( false !== strpos( $key, 'right' ) ) { $icon_class = 'dashicons dashicons-arrow-right-alt'; } if ( false !== strpos( $key, 'bottom' ) ) { $icon_class = 'dashicons dashicons-arrow-down-alt'; } if ( false !== strpos( $key, 'left' ) ) { $icon_class = 'dashicons dashicons-arrow-left-alt'; } $meta[ $key ] = isset( $meta[ $key ] ) ? (string) $meta[ $key ] : ''; ?> <div class="fusion-builder-dimension"> <span class="add-on"><i class="<?php echo esc_attr( $icon_class ); ?>" aria-hidden="true"></i></span> <input type="text" name="<?php echo esc_attr( "{$field['id']}[{$key}]" ); ?>" id="pyre_<?php echo esc_attr( $key ); ?>" value="<?php echo esc_attr( $meta[ $key ] ); ?>" /> </div> <?php endforeach; ?> </div> </div> <?php $this->render_field_end( $field, $meta ); } /** * Show Field Select. * * @access public * @since 5.3 * @param array $field Field data. * @param string $meta Meta data. */ public function render_field_select( $field, $meta ) { if ( ! is_array( $meta ) ) { $meta = (array) $meta; } $this->render_field_start( $field, $meta ); ?> <select class="avada-tax-select" style="<?php echo esc_attr( $field['style'] ); ?>" name="<?php echo esc_attr( $field['id'] ); ?>" id="<?php echo esc_attr( $field['id'] ); ?>"> <?php foreach ( $field['options'] as $key => $value ) : ?> <option value="<?php echo esc_attr( $key ); ?>" <?php echo selected( in_array( $key, $meta ), true, false ); // phpcs:ignore WordPress.PHP.StrictInArray ?>><?php echo esc_attr( $value ); ?></option> <?php endforeach; ?> </select> <?php $this->render_field_end( $field, $meta ); } /** * Show Radio Buttonset Field. * * @access public * @since 5.3 * @param array $field Field data. * @param string $meta Meta data. */ public function render_field_radio_buttonset( $field, $meta ) { if ( empty( $meta ) ) { $meta = 'default'; } $this->render_field_start( $field, $meta ); ?> <div class="avada-tax-buttonset avada-buttonset"> <div class="avada-tax-button-set ui-buttonset radio"> <input type="hidden" id="<?php echo esc_attr( $field['id'] ); ?>" name="<?php echo esc_attr( $field['id'] ); ?>" value="<?php echo esc_attr( $meta ); ?>" class="button-set-value" /> <?php foreach ( $field['options'] as $key => $option ) : ?> <?php $selected = ( $key == $meta ) ? ' ui-state-active' : ''; // phpcs:ignore WordPress.PHP.StrictComparisons.LooseComparison ?> <a href="#" class="ui-button buttonset-item<?php echo esc_attr( $selected ); ?>" data-value="<?php echo esc_attr( $key ); ?>"><?php echo esc_attr( $option ); ?></a> <?php endforeach; ?> </div> </div> <?php $this->render_field_end( $field, $meta ); } /** * Show Checkbox buttonset Field. * * @access public * @since 7.3 * @param array $field Field data. * @param string $meta Meta data. */ public function render_field_checkbox_buttonset( $field, $meta ) { if ( empty( $meta ) ) { $meta = 'default'; } $meta = ! is_array( $meta ) ? explode( ',', $meta ) : $meta; $this->render_field_start( $field, $meta ); ?> <div class="avada-tax-buttonset avada-buttonset"> <div class="avada-tax-button-set ui-buttonset checkbox"> <input type="hidden" id="<?php echo esc_attr( $field['id'] ); ?>" name="<?php echo esc_attr( $field['id'] ); ?>" value="<?php echo esc_attr( implode( ',', $meta ) ); ?>" class="button-set-value" data-default="<?php echo esc_attr( implode( ',', $meta ) ); ?>" /> <?php foreach ( $field['options'] as $key => $option ) : ?> <?php $selected = in_array( $key, $meta, true ) ? ' ui-state-active' : ''; ?> <a href="#" class="ui-button buttonset-item<?php echo esc_attr( $selected ); ?>" data-value="<?php echo esc_attr( $key ); ?>"><?php echo esc_attr( $option ); ?></a> <?php endforeach; ?> </div> </div> <?php $this->render_field_end( $field, $meta ); } /** * Show Color Picker. * * @access public * @since 5.3 * @param array $field Field data. * @param string $meta Meta data. */ public function render_field_color( $field, $meta ) { $this->render_field_start( $field, $meta ); ?> <input class="avada-tax-color color-picker fusion_options" data-alpha="true" type="text" name="<?php echo esc_attr( $field['id'] ); ?>" value="<?php echo esc_attr( $meta ); ?>" data-default="<?php echo esc_attr( $field['default'] ); ?>" /> <?php $this->render_field_end( $field, $meta ); } /** * Show Image Field. * * @access public * @since 5.3 * @param array $field Field data. * @param string $meta Meta data. */ public function render_field_image( $field, $meta ) { $this->render_field_start( $field, $meta ); $image_url = ( isset( $meta['url'] ) && ! empty( $meta['url'] ) ) ? $meta['url'] : ''; $preview_style = 'max-width:100%'; ?> <span class="avada-tax-img-field <?php echo esc_attr( $field['id'] ); ?>"> <input type="text" name="<?php echo esc_attr( $field['id'] ); ?>[url]" value="<?php echo esc_attr( $image_url ); ?>" id="<?php echo esc_attr( $field['id'] ); ?>" class="avada-tax-image-url"/> <input class="button avada-tax-image-upload-clear<?php echo ( $image_url ) ? '' : ' hidden'; ?>" value="<?php esc_attr_e( 'Remove Image', 'Avada' ); ?>" type="button" /> <input class="button avada-tax-image-upload<?php echo ( $image_url ) ? ' hidden' : ''; ?>" value="<?php esc_attr_e( 'Upload Image', 'Avada' ); ?>" type="button" /> <input type="hidden" name="<?php echo esc_attr( $field['id'] ); ?>" value='<?php echo esc_attr( wp_json_encode( $meta ) ); ?>' id="<?php echo esc_attr( $field['id'] ); ?>" class="avada-tax-image" /> </span> <?php $this->render_field_end( $field, $meta ); } /** * Show header. * * @access public * @since 5.3 * @param array $field Field data. * @param array $meta Meta data. */ public function render_field_header( $field, $meta ) { ?> <?php if ( 'edit' === $this->form_type ) : ?> <td colspan="2"> <div class="avada-tax-meta-header"> <h3 style="<?php echo esc_attr( $field['style'] ); ?>"> <?php echo esc_attr( $field['value'] ); ?></h3> <span class="avada-tax-meta-handle toggle-indicator"></span> </div> </td> <?php elseif ( 'new' === $this->form_type ) : ?> <div class="form-field avada-tax-meta-field avada-tax-header"> <h3 style="<?php echo esc_attr( $field['style'] ); ?>"> <?php echo esc_attr( $field['value'] ); ?></h3> <span class="avada-tax-meta-handle toggle-indicator"></span> </div> <?php endif; ?> <?php } /** * Begin Field. * * @access public * @since 5.3 * @param array $field Field data. * @param string $meta Meta data. */ public function render_field_start( $field, $meta ) { ?> <?php if ( 'edit' === $this->form_type ) : ?> <th scope="row"> <?php else : ?> <div class="form-field avada-tax-meta-field <?php echo esc_attr( $field['class'] ); ?>" > <?php endif; ?> <?php if ( '' !== $field['name'] || false !== $field['name'] ) : ?> <label> <?php echo esc_attr( $field['name'] ); ?></label> <?php endif; ?> <?php if ( isset( $field['desc'] ) && '' !== $field['desc'] ) : ?> <?php if ( 'new' === $this->form_type ) : ?> <p class='description'><?php echo $field['desc']; // phpcs:ignore WordPress.Security.EscapeOutput ?> <?php elseif ( 'edit' === $this->form_type ) : ?> <p class='description'><?php echo $field['desc']; // phpcs:ignore WordPress.Security.EscapeOutput ?> <?php endif; ?> <?php endif; ?> <?php if ( isset( $field['dependency'] ) && is_array( $field['dependency'] ) ) { echo $this->render_dependency( $field['dependency'] ); // phpcs:ignore WordPress.Security.EscapeOutput.OutputNotEscaped } ?> <?php if ( 'color' === $field['type'] && isset( $field['default'] ) && '' !== $field['default'] ) : ?> <span class="tax-meta-default-reset"> <a href="#" id="default-<?php echo esc_attr( $field['id'] ); ?>" class="avada-range-default avada-hide-from-atts" type="radio" name="<?php echo esc_attr( $field['id'] ); ?>" value="" data-default="<?php echo esc_attr( $field['default'] ); ?>"> <?php esc_attr_e( 'Reset to default.', 'Avada' ); ?> </a> <span><?php esc_attr_e( 'Using default value.', 'Avada' ); ?></span> </span> <?php endif; ?> <?php if ( isset( $field['desc'] ) && '' !== $field['desc'] ) : ?> </p> <?php endif; ?> <?php if ( 'edit' === $this->form_type ) : ?> </th><td> <?php endif; ?> <?php } /** * End Field. * * @access public * @since 5.3 * @param array $field Field data. * @param string $meta Meta data. */ public function render_field_end( $field, $meta = null ) { if ( 'edit' === $this->form_type ) { ?> </td> <?php } else { ?> </div> <?php } } }
Cokiee Shell Web 1.0, Coded By Razor
Neueste Kommentare