wordpress需要页面中渲染多个分类的名称以及名称对应的文章列表
渲染效果如下:
完整示例代码
<?php
$category_name = get_cat_name(14);
echo '<h3>' . esc_html($category_name) . '</h3>';
?>
<div class="list">
<?php
$args = array(
'category__in' => array(14), // 指定分类ID
'post_status' => 'publish', // 只选择已发布的文章
'posts_per_page' => -1, // 获取所有符合条件的文章
);
$posts = get_posts($args);
if ($posts) {
foreach ($posts as $post) {
setup_postdata($post);
// 获取文章的特色图像URL
$img_url = get_the_post_thumbnail_url($post->ID, 'full');
// 文章标题
$title = get_the_title($post->ID);
// 文章链接
$link = get_permalink($post->ID);
// 输出HTML结构
echo '<div class="listItem">';
echo '<img src="' . esc_url($img_url) . '" alt="">';
echo '<div class="listItemBottom">';
echo '<p>' . esc_html($title) . '</p>';
echo '<a href="' . esc_url($link) . '">点击查看详情</a>';
echo '</div>';
echo '</div>';
}
wp_reset_postdata();
}
?>
</div>
获取分类名称
首先,我们使用get_cat_name
函数来获取分类的名称。这个函数需要一个参数,即分类的ID。在这个例子中,我们获取ID为14的分类名称。
$category_name = get_cat_name(14);
echo '<h3>' . esc_html($category_name) . '</h3>';
esc_html
函数确保输出的分类名称是安全的,防止XSS攻击。
设置查询参数
接下来,我们设置一个参数数组$args
,用于定义我们的查询条件。在这个例子中,我们只想获取分类ID为14的文章,这些文章必须是已发布的,并且我们想获取所有符合条件的文章。
$args = array(
'category__in' => array(14),
'post_status' => 'publish',
'posts_per_page' => -1,
);
获取文章列表
使用get_posts
函数根据我们设置的参数获取文章列表。然后,我们检查是否有文章返回,如果有,我们就遍历这些文章。
$posts = get_posts($args);
if ($posts) {
foreach ($posts as $post) {
setup_postdata($post);
// ...后续代码...
}
wp_reset_postdata();
}
输出文章信息
在遍历文章的过程中,我们获取每篇文章的特色图像URL、标题和链接,并构建HTML结构来展示这些信息。
foreach ($posts as $post) {
setup_postdata($post);
$img_url = get_the_post_thumbnail_url($post->ID, 'full');
$title = get_the_title($post->ID);
$link = get_permalink($post->ID);
echo '<div class="listItem">';
echo '<img src="' . esc_url($img_url) . '" alt="">';
echo '<div class="listItemBottom">';
echo '<p>' . esc_html($title) . '</p>';
echo '<a href="' . esc_url($link) . '">点击查看详情</a>';
echo '</div>';
echo '</div>';
}
esc_url
函数确保输出的URL是安全的,防止XSS攻击。
完整的文章列表展示
最后,我们将所有的文章信息以列表的形式展示出来。每个列表项包含了文章的特色图像、标题和一个链接,用户可以点击这个链接查看文章的详细内容。
<div class="list">
<!-- 这里是循环输出的文章列表项 -->
</div>
通过上述步骤,我们可以在WordPress中轻松地获取指定分类的名称,并展示该分类下所有文章的列表。这对于创建分类页面或者在主题中展示特定分类的文章非常有用。