WordPress近期文章小工具详解

WordPress近期文章小工具可以在侧边栏展示网站的最新文章,今天我们就来看看近期文章小工具的相关细节。

WordPress近期文章小工具
图1 WordPress近期文章小工具

WordPress近期文章小工具使用介绍

在网站【后台-外观-小工具】中找到近期文章小工具,将它拖到想要展示的侧边栏中。

WordPress近期文章小工具设置
图2 WordPress近期文章小工具设置

我们可以设置小工具的标题,显示文章的数量,已经是否显示文章日期,设置好后保存。然后我们看看前端展示。

近期文章小工具前端预览
图3 近期文章小工具前端预览

上图的标题设置是近期文章,文章数量是5,并且显示了文章日期。

WordPress近期文章小工具源码介绍

源码位置:wp-includes\widgets\class-wp-widget-recent-posts.php
源代码:(since 4.4.0)

 'widget_recent_entries',
			'description' => __( 'Your site’s most recent Posts.' ),
			'customize_selective_refresh' => true,
		);
		parent::__construct( 'recent-posts', __( 'Recent Posts' ), $widget_ops );
		$this->alt_option_name = 'widget_recent_entries';
	}

	/**
	 * Outputs the content for the current Recent Posts 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 Recent Posts widget instance.
	 */
	public function widget( $args, $instance ) {
		if ( ! isset( $args['widget_id'] ) ) {
			$args['widget_id'] = $this->id;
		}

		$title = ( ! empty( $instance['title'] ) ) ? $instance['title'] : __( 'Recent Posts' );

		/** This filter is documented in wp-includes/widgets/class-wp-widget-pages.php */
		$title = apply_filters( 'widget_title', $title, $instance, $this->id_base );

		$number = ( ! empty( $instance['number'] ) ) ? absint( $instance['number'] ) : 5;
		if ( ! $number )
			$number = 5;
		$show_date = isset( $instance['show_date'] ) ? $instance['show_date'] : false;

		/**
		 * Filter the arguments for the Recent Posts widget.
		 *
		 * @since 3.4.0
		 *
		 * @see WP_Query::get_posts()
		 *
		 * @param array $args An array of arguments used to retrieve the recent posts.
		 */
		$r = new WP_Query( apply_filters( 'widget_posts_args', array(
			'posts_per_page'      => $number,
			'no_found_rows'       => true,
			'post_status'         => 'publish',
			'ignore_sticky_posts' => true
		) ) );

		if ($r->have_posts()) :
		?>
		
		
		
    have_posts() ) : $r->the_post(); ?>

id="get_field_id( 'show_date' ); ?>" name="get_field_name( 'show_date' ); ?>" />

还可以分享文章给好友:

发表评论

电子邮件地址不会被公开。 必填项已用*标注

此站点使用Akismet来减少垃圾评论。了解我们如何处理您的评论数据