以输出最新文章为例:
<?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 ?>
评论区
发表新的留言
您可以留言提出您的疑问或建议。
您的留言得到回复时,会通过您填写的邮箱提醒您。