因此,我正在使用购买的插件版本(WP目录,抱歉,我不能发布超过2个链接)作为我的网站代码的基础,我正在调整它,以便它可以用于我尝试创建的网站。问题是,不是默认值categories
作为字段,插件的作者编写了一个分类法wpccategories
职位类别。所以我的帖子都是商店的产品,我想向客户展示产品的替代品。我使用一个查询,从同一个产品中查询出3个其他产品wpccategories
所以用同样的term->slug
作为term->slug
当然不包括产品本身。否则,产品的替代品将是产品本身。
我完成了这项工作,一切都很好(将显示下面的代码),但是,大多数产品都有多个wpccategories
其中一些类别的产品只有不到3种可供选择。所以我想要的是如果我们先说wpccategories
没有足够的产品显示为替代品,系统会查看第二个(等等)wpccategories
寻找替代品。
我现在就是这样做的(PHP):
global $post;
$id1 -> current_id;
$terms = get_the_terms($id1, \'wpccategories\');
$exclude = array($id);
foreach ($terms as $term) {
}
$args = array(
\'taxonomy\' => \'wpccategories\',
\'post_type\'=> \'wpcproduct\',
\'post__not_in\' => $exclude,
\'term\' => $term->slug,
\'order\' => \'ASC\',
\'orderby\' => \'menu_order\',
\'posts_per_page\' => 3,
\'paged\' => $paged,
);
products = new WP_Query($args);
while($products->have_posts()): $products->the_post();
在此之后,我将所有字段分配给变量,并使用它们在网站上生成变量,但我想你知道这是如何工作的。
所以我的问题是,我到底该如何解决它\'term\'=> $term->slug
我得到的是\'terms\'=> something
或者我已经试过了\'tax_query\' => array(array(foo))
如中所述https://codex.wordpress.org/Class_Reference/WP_Query . 不知何故,我就是无法做到这一点,到目前为止,我所做的一切都只是给出了所有帖子的所有条款,而不是当前帖子的所有条款。
还有一点,我的代码中有一个空的foreach语句:foreach ($terms as $term) { }
有没有更整洁的方法?在谷歌上搜索,但什么都找不到。
如果您无法想象我现在正在做什么,请检查:http://www.bgc-testomgeving.nl/sem/
非常感谢您的帮助,因为有点卡住了。