用于获取插件数组的WP查询

时间:2015-07-28 作者:Callum Bonnyman

因此,我将使用一个模板,其中帖子具有自定义字段中定义的相关产品(woocommerce)。我刚刚得到了大量的蛞蝓,我不知道如何查询蛞蝓数组。以下是我得到的:

$args = array(
    \'post_type\' => \'product\',
    \'posts_per_page\' => 12,
    \'tax_query\' => array(
        \'taxonomy\' => \'product_cat\',
        \'field\' => \'slug\',
        \'terms\' => $products_used
    )
);
我知道你可以用身份证,但我需要用鼻涕虫。是否可以使用WP\\u查询,或者我应该自己编写查询以节省压力?

1 个回复
SO网友:Pieter Goosen

只运行一个普通的tax_query 并设置field 参数到slug 在查询中。我想你已经有办法得到鼻涕虫阵列了

需要PHP5.4+)

$args = [
    \'post_type\'      => \'product\',
    \'posts_per_page\' => 12,
    \'tax_query\'      => [
        [
            \'taxonomy\' => \'TAXONOMY_NAME\',
            \'field\'    => \'slug\',
            \'terms\'    => [\'something\', \'something-again\', \'something-else\'],
        ]
    ],
];
$loop = new WP_Query( $args );
根据评论,这些段塞实际上是后段塞,而不是术语段塞。在这种情况下,您需要使用get_page_by_path(). 您需要有一个Slug数组,然后使用foreach 循环查询帖子

您可以尝试以下操作:(只要确保帖子类型正确,我已经使用了product 此处

$slugs_array = [\'something\', \'something-again\', \'something-else\'];
foreach ( $slugs_array as $v ) {
    $post = get_page_by_path( $v, OBJECT, \'product\' );
    // If we don\'t have a valid post object, continue
    if ( !$post ) 
        continue;

    // Setup postdata to make template tags available   
    setup_postdata( $post );

    the_title();
}
wp_reset_postdata();

结束

相关推荐

$wpdb returns duplicate posts

我创建了一个短代码,显示用户上次登录后创建的帖子。这个短代码工作得很好,但我不知道为什么,但我得到了7个重复的帖子。就像测试一样,我创建了一个名为“示例文章”的帖子,当我呼出帖子的标题时,我得到了这个结果。Sample Article Sample Article Sample Article Sample Article Sample Article Sample Article Sample Article Sample ArticleShortcodefunction latest_posts_af