以输出最新文章为例:
<?php
function recentlypost_load_widget() {
	register_widget( 'recentlypost_widget' );
}
add_action( 'widgets_init', 'recentlypost_load_widget' );
// Creating the widget 
class recentlypost_widget extends WP_Widget {
	function __construct() {
		parent::__construct(
			// Base ID of your widget
			'recentlypost_widget',
			// Widget name will appear in UI
			__( '小工具名称', 'text domain' ),
			// Widget description
			array( 'description' => __( '小工具说明文', 'text domain' ), )
		);
	}
	// Creating widget front-end
	public function widget( $args, $instance ) {
		$title = apply_filters( 'widget_title', $instance[ 'title' ] );
		// before and after widget arguments are defined by themes
		echo $args[ 'before_widget' ];
		if ( !empty( $title ) )
			echo $args[ 'before_title' ] . $title . $args[ 'after_title' ];
		// This is where you run the code and display the output
		?>
    <div class="recently-posts-current-category section-content">
        <!-- 想要输出的内容或者代码写这里 -->
    </div>
    <?php
		echo $args[ 'after_widget' ];
	}
	// Widget Backend 
	public function form( $instance ) {
		if ( isset( $instance[ 'title' ] ) ) {
			$title = $instance[ 'title' ];
		} else {
			$title = __( '表单默认文本', 'text domain' );
		}
		// Widget admin form
		?>
        <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
	}
	// Updating widget replacing old instances with new
	public function update( $new_instance, $old_instance ) {
		$instance = array();
		$instance[ 'title' ] = ( !empty( $new_instance[ 'title' ] ) ) ? strip_tags( $new_instance[ 'title' ] ) : '';
		return $instance;
	}
} // Class wpb_widget ends here
?>
    
评论区
发表新的留言
您可以留言提出您的疑问或建议。
您的留言得到回复时,会通过您填写的邮箱提醒您。