我有两个自定义帖子类型,一个是产品,另一个是供应商。供应商CPT有名称、地址以及在那里销售的产品。产品CPT有产品名称、产品描述以及每个产品的供应商。
有没有办法让每个CPT互相更新?那么,如果我说这个供应商销售这个产品,它会自动更新产品,说它是由那个供应商销售的?
我有两个自定义帖子类型,一个是产品,另一个是供应商。供应商CPT有名称、地址以及在那里销售的产品。产品CPT有产品名称、产品描述以及每个产品的供应商。
有没有办法让每个CPT互相更新?那么,如果我说这个供应商销售这个产品,它会自动更新产品,说它是由那个供应商销售的?
我建议不要以这种方式更新这两种自定义帖子类型。最终,您将以两种不同的方式在数据库中存储相同的信息。
相反,选择一个作为此信息的主控者。例如,让我们选择供应商类型。对于每个供应商,您可以存储(作为post元数据)该供应商销售的每个产品的产品post ID。然后,如果您需要查找销售特定产品的供应商,您可以构造一个查询,在供应商中搜索销售该产品的供应商。
例如,假设post ID为123的供应商销售post ID为234的产品。您可以这样添加元数据:
add_post_meta(123, \'product\', 234);
要查找销售特定产品的所有供应商,您的查询可能如下所示:global $wpdb;
$selling_vendors = $wpdb->get_col(
$wpdb->prepare(
"SELECT post_id
FROM $wpdb->postmeta
WHERE meta_key = \'product\'
AND meta_value = %d",
$product_post_id
)
);
$product_post_id
将包含您要查询的产品的post ID。$selling_vendors
将为您提供一组销售该产品的供应商的post ID。