Code Coverage |
||||||||||
Classes and Traits |
Functions and Methods |
Lines |
||||||||
Total | |
0.00% |
0 / 1 |
|
0.00% |
0 / 3 |
CRAP | |
0.00% |
0 / 14 |
WP_Customize_Nav_Menus_Panel | |
0.00% |
0 / 1 |
|
0.00% |
0 / 3 |
12 | |
0.00% |
0 / 14 |
render_screen_options | |
0.00% |
0 / 1 |
2 | |
0.00% |
0 / 4 |
|||
wp_nav_menu_manage_columns | |
0.00% |
0 / 1 |
2 | |
0.00% |
0 / 8 |
|||
content_template | |
0.00% |
0 / 1 |
2 | |
0.00% |
0 / 2 |
<?php | |
/** | |
* Customize API: WP_Customize_Nav_Menus_Panel class | |
* | |
* @package WordPress | |
* @subpackage Customize | |
* @since 4.4.0 | |
*/ | |
/** | |
* Customize Nav Menus Panel Class | |
* | |
* Needed to add screen options. | |
* | |
* @since 4.3.0 | |
* | |
* @see WP_Customize_Panel | |
*/ | |
class WP_Customize_Nav_Menus_Panel extends WP_Customize_Panel { | |
/** | |
* Control type. | |
* | |
* @since 4.3.0 | |
* @access public | |
* @var string | |
*/ | |
public $type = 'nav_menus'; | |
/** | |
* Render screen options for Menus. | |
* | |
* @since 4.3.0 | |
* @access public | |
*/ | |
public function render_screen_options() { | |
// Essentially adds the screen options. | |
add_filter( 'manage_nav-menus_columns', array( $this, 'wp_nav_menu_manage_columns' ) ); | |
// Display screen options. | |
$screen = WP_Screen::get( 'nav-menus.php' ); | |
$screen->render_screen_options( array( 'wrap' => false ) ); | |
} | |
/** | |
* Returns the advanced options for the nav menus page. | |
* | |
* Link title attribute added as it's a relatively advanced concept for new users. | |
* | |
* @since 4.3.0 | |
* @access public | |
* | |
* @return array The advanced menu properties. | |
*/ | |
public function wp_nav_menu_manage_columns() { | |
return array( | |
'_title' => __( 'Show advanced menu properties' ), | |
'cb' => '<input type="checkbox" />', | |
'link-target' => __( 'Link Target' ), | |
'attr-title' => __( 'Title Attribute' ), | |
'css-classes' => __( 'CSS Classes' ), | |
'xfn' => __( 'Link Relationship (XFN)' ), | |
'description' => __( 'Description' ), | |
); | |
} | |
/** | |
* An Underscore (JS) template for this panel's content (but not its container). | |
* | |
* Class variables for this panel class are available in the `data` JS object; | |
* export custom variables by overriding WP_Customize_Panel::json(). | |
* | |
* @since 4.3.0 | |
* @access protected | |
* | |
* @see WP_Customize_Panel::print_template() | |
*/ | |
protected function content_template() { | |
?> | |
<li class="panel-meta customize-info accordion-section <# if ( ! data.description ) { #> cannot-expand<# } #>"> | |
<button type="button" class="customize-panel-back" tabindex="-1"> | |
<span class="screen-reader-text"><?php _e( 'Back' ); ?></span> | |
</button> | |
<div class="accordion-section-title"> | |
<span class="preview-notice"> | |
<?php | |
/* Translators: %s is the site/panel title in the Customizer. */ | |
printf( __( 'You are customizing %s' ), '<strong class="panel-title">{{ data.title }}</strong>' ); | |
?> | |
</span> | |
<button type="button" class="customize-help-toggle dashicons dashicons-editor-help" aria-expanded="false"> | |
<span class="screen-reader-text"><?php _e( 'Help' ); ?></span> | |
</button> | |
<button type="button" class="customize-screen-options-toggle" aria-expanded="false"> | |
<span class="screen-reader-text"><?php _e( 'Menu Options' ); ?></span> | |
</button> | |
</div> | |
<# if ( data.description ) { #> | |
<div class="description customize-panel-description">{{{ data.description }}}</div> | |
<# } #> | |
<div id="screen-options-wrap"> | |
<?php $this->render_screen_options(); ?> | |
</div> | |
</li> | |
<?php | |
} | |
} |