You are here:  Home » PHP » 如何在WordPress中按类别显示最近的帖子

您是否曾想在WordPress侧边栏中展示您最近发布的每个帖子的帖子?最近,我们的一位用户要求我们提供一种简单的方法显示WordPress侧边栏小部件中特定类别的最新帖子。在本文中,我们将介绍如何在WordPress侧边栏中按类别显示最近的帖子。

Posts by Category

视频教程

订阅WPBeginner

如果您不喜欢视频或需要更多说明,请继续阅读。

有两种方式在WordPress中按类别显示最近的帖子。第一种方法相当简单且初学者友好,因为我们将使用插件窗口小部件中按类别显示最近的帖子(无需编码)。

第二种方法为我们的高级DIY用户使用代码片段,因此您可以在没有插件的情况下显示特定类别的最新帖子。

使用代码方法的唯一好处是您不依赖于插件,并且您还有一些自定义选项。然而,插件方法很简单,并且有大多数自定义选项可以满足95%的人,例如显示帖子缩略图,显示帖子摘录和控制摘录长度,显示发布日期和评论数量等。

说到这里,让我们来看看你如何能够通过类别post widget插件在你的WordPress边栏中按类别显示最近的帖子。

按类别显示最近的帖子(插件方法)

您需要做的第一件事是安装并激活Category Posts Widget插件。

激活后,您需要访问外观»窗口小部件,您将在可用窗口小部件列表中看到新的“类别帖子”窗口小部件。

只需将“类别帖子”窗口小部件拖放到要按类别显示最近帖子的侧边栏即可。

Category posts widget settings

小部件选项非常自我解释。首先,您需要为类别帖子部分提供标题并选择一个类别。之后,您可以选择其他显示选项,如帖子数,摘录,精选图像等。

完成后,单击“保存”按钮存储窗口小部件设置。您现在可以访问您的网站,按类别查看最近的帖子。

按类别显示最近的帖子没有插件(代码片段)

在此方法中,我们将使用代码段来显示类别中的最新帖子。

首先,您需要在主题的functions.php文件或特定于站点的插件中添加此代码。


function wpb_postsbycategory() {
// the query
$the_query = new WP_Query( array( "category_name" => "announcements", "posts_per_page" => 10 ) ); 

// The Loop
if ( $the_query->have_posts() ) {
	$string .= "<ul class="postsbycategory widget_recent_entries">";
	while ( $the_query->have_posts() ) {
		$the_query->the_post();
			if ( has_post_thumbnail() ) {
			$string .= "<li>";
			$string .= "<a href="" . get_the_permalink() ."" rel="bookmark">" . get_the_post_thumbnail($post_id, array( 50, 50) ) . get_the_title() ."</a></li>";
			} else { 
			// if no featured image is found
			$string .= "<li><a href="" . get_the_permalink() ."" rel="bookmark">" . get_the_title() ."</a></li>";
			}
			}
	} else {
	// no posts found
}
$string .= "</ul>";

return $string;

/* Restore original Post Data */
wp_reset_postdata();
}
// Add a shortcode
add_shortcode("categoryposts", "wpb_postsbycategory");

// Enable shortcodes in text widgets
add_filter("widget_text", "do_shortcode");

确保使用您自己的类别slug替换“announcements”

代码只是查询WordPress以从指定的类别中检索10个帖子。然后它会在项目符号列表中显示帖子。如果帖子有特色图片(缩略图后),那么它也会显示特色图片。

最后,我们创建了一个短代码“categoryposts”并在文本小部件中启用了短代码。

使用此代码段有三种方法按类别显示最近的帖子。

首先,您只需将以下代码粘贴到所需模板文件位置的任何位置(例如footer.php),single.php等。

<?php wpb_postsbycategory() ?>

第二种和第三种方法依赖于在小部件区域或帖子/页面内使用短代码

只需访问外观»窗口小部件并将文本小部件添加到侧边栏。接下来在文本小部件中添加 [categoryposts] shortcode并保存。您现在可以预览您的网站,以便在侧栏中按类别查看最近的帖子。

如果您想按特定帖子或页面上的类别显示最近的帖子,只需将短代码粘贴到帖子内容区域。

默认情况下,您的列表可能看起来不太好。您将需要使用CSS来设置类别帖子列表的样式。您可以使用以下代码作为主题或子主题样式表的起点。

ul.postsbycategory {
list-style-type: none;
}

.postsbycategory img {
float:left; 
padding:3px;
margin:3px;
border: 3px solid #EEE;
}

Posts from a category displayed with thumbnails

这就是全部,我们希望本文能帮助您在WordPress侧栏中按类别显示最近的帖子。您可能还想查看这些最想要的WordPress类别黑客和插件

如果您喜欢这篇文章,请订阅我们的YouTube频道WordPress视频教程。您也可以在Twitter和Google+上找到我们。

评论被关闭。