wordpress获取指定分类的名称和下面的文章列表

wordpress yekong

wordpress需要页面中渲染多个分类的名称以及名称对应的文章列表

渲染效果如下:

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中轻松地获取指定分类的名称,并展示该分类下所有文章的列表。这对于创建分类页面或者在主题中展示特定分类的文章非常有用。

喜欢