📜  过滤文章 WordPress mis en avant - PHP (1)

📅  最后修改于: 2023-12-03 14:57:54.705000             🧑  作者: Mango

过滤 WordPress mis en avant - PHP 主题

在 WordPress 主题开发中,过滤文章是一个常见的需求。"mis en avant" 是法语中的一个短语,意思是将某些文章突出显示或置顶显示。本文将介绍如何在 WordPress 主题中实现过滤文章的功能。

过滤方式

要过滤文章,你可以使用 WordPress 提供的 pre_get_posts 钩子。该钩子允许你在主题中获取文章查询对象之前修改查询参数。

以下是一个示例代码片段,可以将指定的文章 ID 添加到查询结果的开头:

function filter_featured_posts( $query ) {
    if ( ! is_admin() && $query->is_main_query() && $query->is_home() ) {
        $featured_ids = array( 1, 2, 3 ); // 需要突出显示的文章 ID
        $query->set( 'post__in', $featured_ids );
    }
}
add_action( 'pre_get_posts', 'filter_featured_posts' );

请将上述代码添加到主题的 functions.php 文件中。

上述代码中,我们使用了 is_home() 条件来仅应用于主页。你可以根据自己的需要修改这个条件。

返回的 Markdown 代码片段

以下是上述代码部分的 Markdown 代码片段:

```php
function filter_featured_posts( $query ) {
    if ( ! is_admin() && $query->is_main_query() && $query->is_home() ) {
        $featured_ids = array( 1, 2, 3 ); // 需要突出显示的文章 ID
        $query->set( 'post__in', $featured_ids );
    }
}
add_action( 'pre_get_posts', 'filter_featured_posts' );