我怀疑您试图做的是实现相关帖子,并且您使用post meta来指示哪些帖子与当前帖子相关。
因此,如果我有一个手提包,并且有5个相关产品,那么这个手提包产品就有包含这5个产品ID的post meta。
虽然这类工作很有效,但它无法扩展,也无法执行。
而是使用自定义分类法。执行以下操作:
当产品被保存/删除时,在新的分类法中创建和删除一个术语,其slug类似于“X”,其中X是产品的ID。将贴子标题命名为漂亮的名字,以便用户知道他们现在在产品贴子中选择的内容。要设置相关贴子,请检查前端新的相关产品分类中相关的贴子,要确定哪些贴子相关,请使用wp_get_object_terms
获取产品在相关帖子分类中的所有术语在每个术语上循环,提取slug,它也是相关产品的ID,并将其传递到get\\u post()中,以获得一个post对象,如您通常所做的那样显示此post对象,作为奖励,如果您的产品与X相关,则可能是与X相关的其他产品,因此这些产品也可能相关。
这样做的缺点是,您需要为每个产品手动设置相关内容。但是,您可以使用启发式方法绕过此问题:
如果两种产品属于同一子类别,则它们可能相关
所以,要展示所有相关产品,只需展示共享最深产品类别的产品即可。关于如何在网站上找到最深层次的类别,存在一些问题