【问题标题】:Wordpress Query on custom fields自定义字段上的 Wordpress 查询
【发布时间】:2014-05-02 05:34:29
【问题描述】:

我的网站有 woocommerce 插件,所以 post_type 是产品。每个产品都有多个由另一个插件使用的自定义字段(Compare Products Pro)。

现在我们想通过 URL 查询产品,例如:www.domain.com/?post_type=product&custom_field=value

这可能吗?怎么做?

任何帮助都将受到高度评价!

【问题讨论】:

  • 您到底想达到什么目的?构建基于$_GET 变量的查询?还是根据自定义字段查询帖子?
  • 所以自定义字段之一是品牌。我知道这更像是一种分类法,但我们必须与品牌进行比较,以提高自定义字段。现在我们想通过 url 查询,所以如果我们想要一个包含所有“本田”产品的列表,我希望能够像这样查询:www.domain.com/?post_type=products&_woo_compare_field-15=Honda

标签: wordpress


【解决方案1】:

您可以在查询参数中添加类似这样的内容:

'post_type' => $_GET['post_type'],
'meta_query' => array(
    array(
       'key' => '_woo_compare_field-',
       'value' => $_GET['_woo_compare_field-'],
       'compare' => '=',
    )

),

但它非常静态,不适用于不同的元键值对。

您可以将它们分配给一个数组并像这样附加该数组

    $meta_queries = array(
        'relation' => 'AND',
    );

    foreach($_GET as $key => $value) {
        $result = array(
            'key' => $key,
            'value' => $value,
            'compare' => '=',
        );
        $meta_queries[] = $result;
    }

并将 $meta_queries 数组附加到 wordpress 查询参数。

但这意味着您的所有 get 变量都用作元键值对。你当然可以为此写一些逻辑,但它永远不会漂亮

【讨论】:

    猜你喜欢
    • 2019-11-14
    • 1970-01-01
    • 2015-10-24
    • 1970-01-01
    • 1970-01-01
    • 2018-02-04
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多