返回

如何在 WordPress 中使用排除或元键检索文章?

php

通过排除或元键检索 WordPress 文章

前言

在 WordPress 中获取特定文章可以让你定制网站内容和展示,满足特定需求。本文将指导你如何使用 post__not_inmeta_query 参数从 WordPress 中获取不在特定数组内或带有特定元键的文章。

1. 排除特定文章

使用 post__not_in 参数

要排除特定文章,你可以使用 post__not_in 参数。它接受一个包含要排除的文章 ID 的数组作为参数。示例代码:

$array = [1, 2, 3];

$args = [
    'post__not_in' => $array,
    'post_type' => 'post',
    'order' => 'DESC',
];

$query = new WP_Query($args);

2. 查找特定元键的文章

使用 meta_query 参数

要查找具有特定元键的文章,可以使用 meta_query 参数。它接受一个包含元查询数组的参数,指定要查询的元键和值。示例代码:

$args = [
    'meta_query' => [
        [
            'key' => 'my_meta_key',
            'value' => 'my_meta_value',
            'compare' => '=',
        ],
    ],
    'post_type' => 'post',
    'order' => 'DESC',
];

$query = new WP_Query($args);

3. 结合查询

使用 meta_querypost__not_in

为了同时使用这两个查询,你可以将它们结合在 meta_query 数组中,使用 relation 参数指定它们之间的关系(例如 ANDOR)。示例代码:

$array = [1, 2, 3];

$args = [
    'meta_query' => [
        'relation' => 'AND',
        [
            'key' => 'my_meta_key',
            'value' => 'my_meta_value',
            'compare' => '=',
        ],
    ],
    'post__not_in' => $array,
    'post_type' => 'post',
    'order' => 'DESC',
];

$query = new WP_Query($args);

结论

通过掌握 post__not_inmeta_query 参数,你可以灵活地检索符合特定条件的 WordPress 文章。这些查询对于定制网站内容、增强搜索功能以及根据元数据筛选内容至关重要。

常见问题解答

  1. 如何排除多个特定文章?
    使用 post__not_in 参数,将要排除的文章 ID 放在一个数组中。

  2. 如何查找具有特定元值的任何文章?
    meta_query 中使用 keyvalue 参数,将 compare 设置为 =.

  3. 如何结合多个元查询条件?
    meta_query 数组中使用 relation 参数,将其设置为 ANDOR

  4. 如何按照元值对文章排序?
    meta_query 中使用 orderbyorder 参数。

  5. 如何获得特定元键下的所有文章?
    meta_query 中仅使用 key 参数,不指定 valuecompare.