[ Index ] |
WordPress Cross Reference |
[Summary view] [Print] [Text view]
1 <?php 2 /** 3 * Customize Section Class. 4 * 5 * @package WordPress 6 * @subpackage Customize 7 * @since 3.4.0 8 */ 9 class WP_Customize_Section { 10 public $manager; 11 public $id; 12 public $priority = 10; 13 public $capability = 'edit_theme_options'; 14 public $theme_supports = ''; 15 public $title = ''; 16 public $description = ''; 17 public $controls; 18 19 /** 20 * Constructor. 21 * 22 * @since 3.4.0 23 * 24 * @param WP_Customize_Manager $manager 25 * @param string $id An specific ID of the section. 26 * @param array $args Section arguments. 27 */ 28 function __construct( $manager, $id, $args = array() ) { 29 $keys = array_keys( get_class_vars( __CLASS__ ) ); 30 foreach ( $keys as $key ) { 31 if ( isset( $args[ $key ] ) ) 32 $this->$key = $args[ $key ]; 33 } 34 35 $this->manager = $manager; 36 $this->id = $id; 37 38 $this->controls = array(); // Users cannot customize the $controls array. 39 40 return $this; 41 } 42 43 /** 44 * Check if the theme supports the section and check user capabilities. 45 * 46 * @since 3.4.0 47 * 48 * @return bool False if theme doesn't support the section or user doesn't have the capability. 49 */ 50 public final function check_capabilities() { 51 if ( $this->capability && ! call_user_func_array( 'current_user_can', (array) $this->capability ) ) 52 return false; 53 54 if ( $this->theme_supports && ! call_user_func_array( 'current_theme_supports', (array) $this->theme_supports ) ) 55 return false; 56 57 return true; 58 } 59 60 /** 61 * Check capabilities and render the section. 62 * 63 * @since 3.4.0 64 */ 65 public final function maybe_render() { 66 if ( ! $this->check_capabilities() ) 67 return; 68 69 do_action( 'customize_render_section', $this ); 70 do_action( 'customize_render_section_' . $this->id ); 71 72 $this->render(); 73 } 74 75 /** 76 * Render the section. 77 * 78 * @since 3.4.0 79 */ 80 protected function render() { 81 ?> 82 <li id="accordion-section-<?php echo esc_attr( $this->id ); ?>" class="control-section accordion-section"> 83 <h3 class="accordion-section-title" tabindex="0"><?php echo esc_html( $this->title ); ?></h3> 84 <ul class="accordion-section-content"> 85 <?php if ( ! empty( $this->description ) ) : ?> 86 <li><p class="description"><?php echo $this->description; ?></p></li> 87 <?php endif; ?> 88 <?php 89 foreach ( $this->controls as $control ) 90 $control->maybe_render(); 91 ?> 92 </ul> 93 </li> 94 <?php 95 } 96 }
title
Description
Body
title
Description
Body
title
Description
Body
title
Body
Generated: Tue Mar 25 01:41:18 2014 | WordPress honlapkészítés: online1.hu |