我有此WP\\U查询:
new WP_Query(
array(
\'post_type\' => \'product_variation\',
\'post_status\' => \'publish\',
\'posts_per_page\' => -1,
\'tax_query\' => array(
array(
\'taxonomy\' => \'product_cat\',
\'field\' => \'slug\',
\'terms\' => array( \'archive\', \'membership\' ),
\'operator\' => \'NOT IN\',
),
),
\'fields\' => \'ids\',
)
);
问题是
product_cat
分类是在父产品上设置的,而不是在变体上设置的。也就是说,我需要获取其父项不在指定类别中的所有变体,或者换句话说:获取子帖子,但对父帖子运行税务查询。
我知道这可以通过MySQL实现,但我想知道是否有一种干净的方法可以通过WP\\U查询实现。
谢谢
最合适的回答,由SO网友:Reuven Karasik 整理而成
我的解决方案最终将其分为两个查询:
获取我要忽略的所有父产品的ID从ID列表中获取所有不是post\\u父产品的变体
$archived_products = wc_get_products(
array(
\'type\' => array( \'variable\', \'variable-subscription\' ),
\'paginate\' => false,
\'limit\' => -1,
\'category\' => array( \'archive\', \'membership\' ),
\'return\' => \'ids\',
)
);
$my_query->set( \'post_parent__not_in\', $archived_products );