Server : Apache System : Linux ls31.server.ly 3.10.0-962.3.2.lve1.5.68.el7.x86_64 #1 SMP Wed Apr 6 11:12:23 UTC 2022 x86_64 User : medchoco ( 2906) PHP Version : 8.3.16 Disable Function : mail Directory : /home/medchoco/www/wp-content/themes/puca/inc/widgets/ |
Upload File : |
<?php class puca_Tbay_Custom_Menu extends Tbay_Widget { public function __construct() { parent::__construct( 'tbay_custom_menu', esc_html__('Tbay Custom Menu Widget', 'puca'), array( 'description' => esc_html__( 'Show custom menu', 'puca' ), ) ); $this->widgetName = 'custom_menu'; } public function getTemplate() { $this->template = 'custom-menu.php'; } public function widget( $args, $instance ) { $this->display($args, $instance); } public function form( $instance ) { $defaults = array( 'title' => 'Custom Menu', 'nav_menu' => '' ); $instance = wp_parse_args((array) $instance, $defaults); // Widget admin form $custom_menus = array(); $menus = get_terms( 'nav_menu', array( 'hide_empty' => false ) ); if ( is_array( $menus ) && ! empty( $menus ) ) { foreach ( $menus as $single_menu ) { if ( is_object( $single_menu ) && isset( $single_menu->name, $single_menu->slug ) ) { $custom_menus[ $single_menu->name ] = $single_menu->slug; } } } ?> <p> <label for="<?php echo esc_attr($this->get_field_id( 'title' )); ?>"><?php esc_html_e( 'Title:', 'puca' ); ?></label> <input class="widefat" id="<?php echo esc_attr($this->get_field_id( 'title' )); ?>" name="<?php echo esc_attr($this->get_field_name( 'title' )); ?>" type="text" value="<?php echo esc_attr( $instance['title'] ); ?>" /> </p> <p> <label for="<?php echo esc_attr($this->get_field_id('nav_menu')); ?>"> <?php echo esc_html__('Menu:', 'puca' ); ?> </label> <br> <select id="<?php echo esc_attr($this->get_field_id('nav_menu')); ?>" name="<?php echo esc_attr($this->get_field_name('nav_menu')); ?>"> <?php foreach ( $custom_menus as $key => $value ) { ?> <option value="<?php echo esc_attr( $value ); ?>" <?php selected($instance['nav_menu'],$value); ?> ><?php echo esc_html( $key ); ?></option> <?php } ?> </select> </p> <?php } public 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; } }