????
| Current Path : /home2/morganrand/www/wp-content/themes/wanderfuls-2/framework/classes/widgets/ |
| Current File : /home2/morganrand/www/wp-content/themes/wanderfuls-2/framework/classes/widgets/simple-menu.php |
<?php
/**
* Simple Menu custom widget
*
* Learn more: http://codex.wordpress.org/Widgets_API
*
* @package Wanderfuls WordPress Theme
* @subpackage Widgets
*/
// Exit if accessed directly
if ( ! defined( 'ABSPATH' ) ) {
exit;
}
// Start class
if ( ! class_exists( 'TB_Simple_Menu' ) ) {
class TB_Simple_Menu extends WP_Widget {
/**
* Register widget with WordPress.
*
* @since 1.0.0
*/
function __construct() {
parent::__construct(
'tb_simple_menu',
TB_THEME_BRANDING . ' - '. __( 'Simple Menu', 'tb' ),
array( 'description' => __( 'Displays a custom menu without any toggles or styling.', 'tb' ) )
);
}
/**
* Front-end display of widget.
*
* @see WP_Widget::widget()
* @since 1.0.0
*
* @param array $args Widget arguments.
* @param array $instance Saved values from database.
*/
function widget( $args, $instance ) {
// Set vars
$title = isset( $instance['title'] ) ? apply_filters( 'widget_title', $instance['title'] ) : __( 'Recent Posts', 'tb' );
$nav_menu = ! empty( $instance['nav_menu'] ) ? wp_get_nav_menu_object( $instance['nav_menu'] ) : false;
// Important hook
echo $args['before_widget'];
// Display title
if ( $title ) {
echo $args['before_title'] . $title . $args['after_title'];
}
if ( $nav_menu ) {
echo wp_nav_menu( array(
'fallback_cb' => '',
'menu' => $nav_menu
)
);
}
// Important hook
echo $args['after_widget'];
}
/**
* Sanitize widget form values as they are saved.
*
* @see WP_Widget::update()
* @since 1.0.0
*
* @param array $new_instance Values just sent to be saved.
* @param array $old_instance Previously saved values from database.
*
* @return array Updated safe values to be saved.
*/
function update( $new_instance, $old_instance ) {
$instance = array();
$instance['title'] = ( ! empty( $new_instance['title'] ) ) ? strip_tags( $new_instance['title'] ) : '';
$instance['nav_menu'] = ( ! empty( $new_instance['nav_menu'] ) ) ? strip_tags( $new_instance['nav_menu'] ) : '';
return $instance;
}
/**
* Back-end widget form.
*
* @see WP_Widget::form()
* @since 1.0.0
*
* @param array $instance Previously saved values from database.
*/
public function form( $instance ) {
// Vars
$title = isset( $instance['title'] ) ? $instance['title'] : __( 'Browse', 'tb' );
$nav_menu = isset( $instance['nav_menu'] ) ? $instance['nav_menu'] : ''; ?>
<p>
<label for="<?php echo $this->get_field_id('title'); ?>"><?php _e('Title:', 'tb'); ?></label>
<input class="widefat" id="<?php echo $this->get_field_id('title'); ?>" name="<?php echo $this->get_field_name('title','tb'); ?>" type="text" value="<?php echo $title; ?>" />
</p>
<p>
<label for="<?php echo $this->get_field_id('nav_menu'); ?>"><?php _e('Select Menu:','tb'); ?></label>
<select id="<?php echo $this->get_field_id('nav_menu'); ?>" name="<?php echo $this->get_field_name('nav_menu'); ?>">
<?php
// Get all menus
$menus = get_terms( 'nav_menu', array(
'hide_empty' => true
) );
// Loop through menus to add options
if ( ! empty( $menus ) ) {
$nav_menu = $nav_menu ? $nav_menu : '';
foreach ( $menus as $menu ) {
echo '<option value="' . $menu->term_id . '"' . selected( $nav_menu, $menu->term_id, false ) . '>'. $menu->name . '</option>';
}
} ?>
</select>
</p>
<?php
}
}
}
// Register the TB_Tabs_Widget custom widget
if ( ! function_exists( 'register_tb_simple_menu' ) ) {
function register_tb_simple_menu() {
register_widget( 'TB_Simple_Menu' );
}
}
add_action( 'widgets_init', 'register_tb_simple_menu' );