array( 'link' => esc_url( 'https://catchthemes.com/themes/blakely/#theme-instructions' ), 'text' => esc_html__( 'Theme Instructions', 'blakely' ), ), 'support' => array( 'link' => esc_url( 'https://catchthemes.com/support/' ), 'text' => esc_html__( 'Support', 'blakely' ), ), 'changelog' => array( 'link' => esc_url( 'https://catchthemes.com/themes/blakely/#changelog' ), 'text' => esc_html__( 'Changelog', 'blakely' ), ), 'facebook' => array( 'link' => esc_url( 'https://www.facebook.com/catchthemes/' ), 'text' => esc_html__( 'Facebook', 'blakely' ), ), 'twitter' => array( 'link' => esc_url( 'https://twitter.com/catchthemes/' ), 'text' => esc_html__( 'Twitter', 'blakely' ), ), 'gplus' => array( 'link' => esc_url( 'https://plus.google.com/+Catchthemes/' ), 'text' => esc_html__( 'Google+', 'blakely' ), ), 'pinterest' => array( 'link' => esc_url( 'http://www.pinterest.com/catchthemes/' ), 'text' => esc_html__( 'Pinterest', 'blakely' ), ), ); foreach ( $important_links as $important_link ) { echo '

' . $important_link['text'] . '

'; } } } // Custom control for dropdown category multiple select. class Blakely_Multi_Cat extends WP_Customize_Control { public $type = 'dropdown-categories'; public function render_content() { $dropdown = wp_dropdown_categories( array( 'name' => $this->id, 'echo' => 0, 'hide_empty' => false, 'show_option_none' => false, 'hide_if_empty' => false, 'show_option_all' => esc_html__( 'All Categories', 'blakely' ), ) ); $dropdown = str_replace( 'get_link(), $dropdown ); printf( '', $this->label, $dropdown ); echo '

' . esc_html__( 'Hold down the Ctrl (windows) / Command (Mac) button to select multiple options.', 'blakely' ) . '

'; } } // Custom control for dropdown Jetpack Portfolio Type taxonomy multiple select. class Blakely_Multi_Cat_Project_Type extends WP_Customize_Control { public $type = 'dropdown-project-types'; public function render_content() { $taxonomy = 'jetpack-portfolio-type'; if ( ! taxonomy_exists( $taxonomy ) ) { echo '

' . esc_html__( 'CPT Project Type does not exist. Make sure Essential Content Types plugin is activated with Portfolio CPT enabled.', 'blakely' ) . '

'; return; } $dropdown = wp_dropdown_categories( array( 'name' => $this->id, 'echo' => 0, 'hide_empty' => false, 'show_option_none' => false, 'hide_if_empty' => false, 'show_option_all' => esc_html__( 'All Categories', 'blakely' ), 'taxonomy' => $taxonomy, ) ); $dropdown = str_replace( 'get_link(), $dropdown ); printf( '', $this->label, $dropdown ); echo '

' . esc_html__( 'Hold down the Ctrl (windows) / Command (Mac) button to select multiple options.', 'blakely' ) . '

'; } } // Custom control for any note, use label as output description. class Blakely_Note_Control extends WP_Customize_Control { public $type = 'description'; public function render_content() { echo '

' . $this->label . '

'; } } class Blakely_Sortable_Custom_Control extends WP_Customize_Control { public $type = 'sortable'; public $sortable_sections =array(); /** * Constructor. * * @since 1.0.0 * @uses WP_Customize_Control::__construct() * * @param WP_Customize_Manager $manager Customizer bootstrap instance. * @param string $id Control ID. * @param array $args Optional. Arguments to override class property defaults. */ public function __construct( $manager, $id, $args = array() ) { // Calls the parent __construct parent::__construct( $manager, $id, $args ); // Set Sortable Sections $sortable_sections = blakely_get_sortable_sections(); $this->sortable_sections = apply_filters( 'customizer_sortable_sections', $sortable_sections, $id ); } /** * Render the control's content. */ public function render_content() { $sortable_sections = $this->sortable_sections; $sortable_sections = array_merge( array_flip( explode( ',', $this->value() ) ), $sortable_sections ); ?> link(); ?> value="value() ); ?>" />