📅  最后修改于: 2023-12-03 14:57:54.705000             🧑  作者: Mango
在 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 代码片段:
```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' );