Skip to content

Instantly share code, notes, and snippets.

@Kwpolska
Created September 14, 2016 18:07
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save Kwpolska/45efc2474832e510da84841da2628c4b to your computer and use it in GitHub Desktop.
Save Kwpolska/45efc2474832e510da84841da2628c4b to your computer and use it in GitHub Desktop.
WordPress Meta2 widget: a meta widget with less useless cruft.
<?php
/*
Plugin Name: Meta2 Widget
Description: Meta2 Widget.
*/
class WP_Widget_Meta2 extends WP_Widget {
/**
* Sets up a new Meta widget instance.
*
* @since 2.8.0
* @access public
*/
public function __construct() {
$widget_ops = array(
'classname' => 'widget_meta2',
'description' => __( 'Login links.' ),
'customize_selective_refresh' => true,
);
parent::__construct( 'meta2', __( 'Meta2' ), $widget_ops );
}
/**
* Outputs the content for the current Meta widget instance.
*
* @since 2.8.0
* @access public
*
* @param array $args Display arguments including 'before_title', 'after_title',
* 'before_widget', and 'after_widget'.
* @param array $instance Settings for the current Meta widget instance.
*/
public function widget( $args, $instance ) {
/** This filter is documented in wp-includes/widgets/class-wp-widget-pages.php */
//$title = apply_filters( 'widget_title', empty($instance['title']) ? __( 'Meta' ) : $instance['title'], $instance, $this->id_base );
echo $args['before_widget'];
//if ( $title ) {
//echo $args['before_title'] . $title . $args['after_title'];
//}
?>
<ul>
<?php wp_register(); ?>
<li><?php wp_loginout(); ?></li>
<?php
wp_meta();
?>
</ul>
<?php
echo $args['after_widget'];
}
/**
* Handles updating settings for the current Meta widget instance.
*
* @since 2.8.0
* @access public
*
* @param array $new_instance New settings for this instance as input by the user via
* WP_Widget::form().
* @param array $old_instance Old settings for this instance.
* @return array Updated settings to save.
*/
public function update( $new_instance, $old_instance ) {
$instance = $old_instance;
$instance['title'] = sanitize_text_field( $new_instance['title'] );
return $instance;
}
/**
* Outputs the settings form for the Meta widget.
*
* @since 2.8.0
* @access public
*
* @param array $instance Current settings.
*/
public function form( $instance ) {
$instance = wp_parse_args( (array) $instance, array( 'title' => '' ) );
$title = sanitize_text_field( $instance['title'] );
?>
<p><label for="<?php echo $this->get_field_id('title'); ?>"><?php _e('Title:'); ?></label> <input class="widefat" id="<?php echo $this->get_field_id('title'); ?>" name="<?php echo $this->get_field_name('title'); ?>" type="text" value="<?php echo esc_attr($title); ?>" /></p>
<?php
}
}
function meta2_load_widget() {
register_widget('WP_Widget_Meta2');
}
add_action('widgets_init', 'meta2_load_widget');
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment