Fix File
•
/
home
/
sportsfe...
/
httpdocs
/
clone
/
wp-conte...
/
plugins
/
accelera...
/
template...
/
customiz...
•
File:
customizer.php
•
Content:
<?php // Exit if accessed directly if ( ! defined( 'ABSPATH' ) ) { exit; } use AMPforWP\AMPVendor\AMP_Customizer_Design_Settings; class AMPFORWP_Customizer_Design_Contols extends AMP_Customizer_Design_Settings { const NEW_COLOR_SCHEME = 'light'; public static function init() { add_action( 'amp_customizer_init', array( __CLASS__, 'init_customizer' ) ); add_filter( 'amp_customizer_get_settings', array( __CLASS__, 'append_settings' ) ); } public static function init_customizer() { add_action( 'amp_customizer_register_settings', array( __CLASS__, 'register_customizer_settings' ) ); add_action( 'amp_customizer_register_ui', array( __CLASS__, 'register_customizer_ui' ) ); add_action( 'amp_customizer_enqueue_preview_scripts', array( __CLASS__, 'enqueue_customizer_preview_scripts' ) ); } public static function register_customizer_settings( $wp_customize ) { /* Add Settings */ $wp_customize->add_setting( 'ampforwp_design[elements]', /* option name */ array( 'default' => self::ampforwp_controls_default(), // 'sanitize_callback' => 'ampforwp_sanitize_controller', 'transport' => 'postMessage', 'type' => 'option', 'capability' => 'manage_options', 'priority' => 10, ) ); } public static function register_customizer_ui( $wp_customize ) { /* Load custom controls */ require_once( AMPFORWP_PLUGIN_DIR . 'templates/customizer/customizer-controls.php' ); /* Add Control for the settings. */ $choices = array(); $services = self::ampforwp_controls(); foreach( $services as $key => $val ){ $choices[$key] = $val['label']; } $wp_customize->add_control( new AMPFORWP_Customize_Control_Sortable_Checkboxes( $wp_customize, 'ampforwp_controls', array( 'section' => 'amp_design', 'settings' => 'ampforwp_design[elements]', 'label' => esc_html__( 'Design Manager', 'accelerated-mobile-pages' ), 'description' => esc_html__( 'Enable and reorder Design Elements.', 'accelerated-mobile-pages' ), 'choices' => $choices, 'priority' => 9, ) ) ); } public static function enqueue_customizer_preview_scripts() { wp_register_script( 'ampforwp-customizer-design-preview', plugin_dir_url( __FILE__ ) . 'assets/customizer-preview.js', array( 'amp-customizer' ), false, true ); global $redux_builder_amp; $ampforwp_customizer_settings = array( 'design_type' => $redux_builder_amp['amp-design-selector'] ); wp_localize_script( 'ampforwp-customizer-design-preview', 'ampforwp_customizer_settings', $ampforwp_customizer_settings ); wp_enqueue_script( 'ampforwp-customizer-design-preview' ); } public static function append_settings( $settings ) { $settings = wp_parse_args( $settings, array( 'color_scheme_new' => self::NEW_COLOR_SCHEME, ) ); $theme_colors = self::get_colors_for_color_scheme( $settings['color_scheme'] ); return array_merge( $settings, $theme_colors, array( 'link_color' => $settings['header_background_color'], // 'amp_design_type' => $settings['ampforwp_design[amp_design_type]'], ) ); } /** * Sanitize Sharing Services * @since 0.1.0 */ private function ampforwp_sanitize_controller( $input ){ /* Var */ $output = array(); /* Get valid services */ $valid_services = self::ampforwp_controls(); // var_dump($valid_services); /* Make array */ $services = explode( ',', $input ); /* Bail. */ if( ! $services ){ return null; } /* Loop and verify */ foreach( $services as $service ){ /* Separate service and status */ $service = explode( ':', $service ); if( isset( $service[0] ) && isset( $service[1] ) ){ if( array_key_exists( $service[0], $valid_services ) ){ $status = $service[1] ? '1' : '0'; $output[] = trim( $service[0] . ':' . $status ); } } } return trim( esc_attr( implode( ',', $output ) ) ); } /** * Services * list of available sharing services */ static public function ampforwp_controls(){ $services = array(); /* Meta info */ $services['meta_info'] = array( 'id' => 'meta_info', 'label' => esc_html__( 'Meta info', 'accelerated-mobile-pages' ), ); /* title */ $services['title'] = array( 'id' => 'title', 'label' => esc_html__( 'Title', 'accelerated-mobile-pages' ), ); /* Breadcrumbs */ $services['bread_crumbs'] = array( 'id' => 'bread_crumbs', 'label' => esc_html__( 'Breadcrumb', 'accelerated-mobile-pages' ), ); /* Featured Image */ $services['featured_image'] = array( 'id' => 'featured_image', 'label' => esc_html__( 'Featured Image', 'accelerated-mobile-pages' ), ); /* The Content */ $services['content'] = array( 'id' => 'content', 'label' => esc_html__( 'The Content', 'accelerated-mobile-pages' ), ); /* Meta Taxonomy */ $services['meta_taxonomy'] = array( 'id' => 'meta_taxonomy', 'label' => esc_html__( 'Categories and Tags', 'accelerated-mobile-pages'), ); /* Social Icons */ $services['social_icons'] = array( 'id' => 'social_icons', 'label' => esc_html__( 'Social Icons', 'accelerated-mobile-pages' ), ); /* Comments */ $services['comments'] = array( 'id' => 'comments', 'label' => esc_html__( 'Comments', 'accelerated-mobile-pages' ), ); /* Related Posts */ $services['related_posts'] = array( 'id' => 'related_posts', 'label' => esc_html__( 'Related Posts', 'accelerated-mobile-pages' ), ); return apply_filters( 'ampforwp_controls', $services ); } /** * Utility: Default Services to use in customizer default value * @return string */ static public function ampforwp_controls_default(){ $default = array(); $services = self::ampforwp_controls(); foreach( $services as $service ){ $default[] = $service['id'] . ':1'; /* activate all as default. */ } return apply_filters( 'ampforwp_controls_default', implode( ',', $default ) ); } } // Add New Contols and Settings in Customizer // add_action( 'amp_init', array( 'AMPFORWP_Customizer_Design_Contols', 'init' ) ); add_action( 'amp_init', function(){ AMPFORWP_Customizer_Design_Contols::init(); } ); /* Register Customizer Scripts */ add_action( 'customize_controls_enqueue_scripts', 'ampforwp_customize_register_scripts', 0 ); define( 'AMPFORWP_SHARE_URL', trailingslashit( plugin_dir_url( __FILE__ ) ) ); /** * Register Scripts * so we can easily load this scripts multiple times when needed (?) */ function ampforwp_customize_register_scripts(){ /* CSS */ wp_register_style( 'ampforwp-share-customize', AMPFORWP_SHARE_URL . 'assets/customizer-control.css' ); /* JS */ wp_register_script( 'ampforwp-share-customize', AMPFORWP_SHARE_URL . 'assets/customizer-control.js', array( 'jquery', 'jquery-ui-sortable', 'customize-controls' ) ); global $redux_builder_amp; $ampforwp_customizer_settings = array( 'design_type' => $redux_builder_amp['amp-design-selector'] ); wp_localize_script( 'ampforwp-share-customize', 'ampforwp_customizer_settings', $ampforwp_customizer_settings ); }
•
Search:
•
Replace:
Function
Edit by line
Download
Information
Rename
Copy
Move
Delete
Chmod
List