📜  PHP 在 WordPress 中按类别显示帖子 - PHP (1)

📅  最后修改于: 2023-12-03 15:03:41.673000             🧑  作者: Mango

PHP 在 WordPress 中按类别显示帖子

在 WordPress 上按类别显示帖子是一个常见的需求,可以帮助网站的访客轻松地找到他们感兴趣的主题。在 PHP 中,我们可以使用 WordPress 提供的函数实现这个功能。

获取帖子

我们可以使用 get_posts() 函数获取按类别分类的帖子。该函数接受一个数组参数,该数组包含过滤和排序条件。以下是获取所有“科技”类别的帖子的示例代码:

$category_tech = get_category_by_slug('tech');
$tech_posts = get_posts(array(
    'category' => $category_tech->term_id
));

此代码将检索具有“科技”类别的所有帖子。变量 $category_tech 获取类别对象,然后我们可以使用 $category_tech->term_id 获取类别的 ID,并将其传递给 get_posts() 函数。

显示帖子

我们可以在 WordPress 主题中使用默认的循环来显示帖子。以下是将按类别分类的帖子循环并显示它们的示例代码:

<ul>
    <?php foreach ($tech_posts as $post) : setup_postdata($post); ?>
        <li><?php the_title(); ?></li>
    <?php endforeach; ?>
</ul>

此代码将创建一个无序列表,并在其中显示所有来自“科技”类别的帖子。在 foreach 循环中,我们设置了 $post 变量,然后使用 the_title() 函数在列表项中显示帖子标题。

添加更多过滤条件

get_posts() 函数可以使用各种其他过滤条件,以根据您的需要检索帖子。以下是另外三个示例:

  • 检索特定数目的帖子:

    $tech_posts = get_posts(array(
        'category' => $category_tech->term_id,
        'posts_per_page' => 10
    ));
    
  • 按发布日期排序:

    $tech_posts = get_posts(array(
        'category' => $category_tech->term_id,
        'orderby' => 'date'
    ));
    
  • 指定显示的帖子类型(例如,仅显示文章):

    $tech_posts = get_posts(array(
        'category' => $category_tech->term_id,
        'post_type' => 'post'
    ));
    
总结

按类别显示 WordPress 帖子是一个非常有用和常见的功能,有助于用户发现他们所感兴趣的主题。使用 PHP 和 WordPress 提供的函数,我们可以很容易地实现此功能。