hi Lou Yang,
我碰到一个需求,我已经尝试了各种方法但都没成功,所以想来找你寻求帮助。
我的情况是这样的:
1. 我有一个CPT叫“马尔代夫酒店”,然后我创建一个叫做“推荐分类”的archive。你可以访问 hidden link
2. 我还有一个CPT叫“马尔代夫套餐”,你可以访问 hidden link
3. 我已经把“马尔代夫酒店”和“马尔代夫套餐”做了relationship.
我的需求是:
我想在“马尔代夫套餐”页面做一个查询过滤器,并且希望可以显示“马尔代夫酒店”中的“推荐分类”(请看screenshot-1.jpg).
换句话说,我是希望可以完成screenshot-2.jpg的需求。
如果我的描述不清楚,我可以再说弄得详细一些。另外,如果你需要后台WP的后台账号,我也可以提供(其实我的另外一个ticket已经提供过给你了)
谢谢你
Ben
Ben, 你好,
我假设是这样的情况:
1) 两个custom post types:
- 马尔代夫酒店
- 马尔代夫套餐
2) 一个custom taxonomy:
推荐分类(注册在CPT "马尔代夫酒店")
3) 一个post relationship:
many-to-many relationship "马尔代夫酒店" 和 “马尔代夫套餐”
如上所述,taxonomy“推荐分类”不在CPT“马尔代夫套餐”上,所以不能完成你的要求。因为Toolset Views是基于WP_Query来查询数据库的,如果你需要通过“推荐分类”来搜索“马尔代夫酒店”,那就需要把taxonomy“推荐分类”注册到CPT“马尔代夫酒店”上。
我建议:
1) 把taxonomy“推荐分类”注册到CPT“马尔代夫酒店”上
2) 编辑每篇“马尔代夫酒店”文章,并设置好“推荐分类”
然后你就可以通过“推荐分类”来搜索“马尔代夫酒店”了
谢谢回复。
你的3个假设完全是正确的。
但需求上可能我之前描述的不清楚。我再尝试描述一下:
因为taxonomy“推荐分类”是注册在"酒店"上,并且"酒店" 和 “套餐”是many-to-many relationship,所以我的想法是custom post type“套餐”就应该可以利用“酒店”那边已经设置好的“推荐分类”的书籍。
我这样考虑是,我只用在"酒店"那里设置“推荐分类”就可以了,我只想设置一次,不想在“套餐”那里重复设置了,而是让系统利用relationship来调用相关的信息。
其实我已经成功在 “套餐”的Views那里获取并显示了“酒店”的“推荐分类”,现在我的难点是不知道如何在查询过滤器那里体现出来。请看附件 screenshot-3.jpg。
谢谢
Toolset Views是不能实现你的要求的,如我上面提到的:
如果你需要通过“推荐分类”来搜索“马尔代夫酒店”,那就需要把taxonomy“推荐分类”注册到CPT“马尔代夫酒店”上
就算你使用其它方法实现了:“在查询过滤器那里体现出来”,Views也不能在搜索结果上输出你想要的结果。
因为“套餐”文章里面没有“推荐分类”,你可能会得到No items found的结果。
简单的办法就是:
我建议:
1) 把taxonomy“推荐分类”注册到“马尔代夫酒店”和“马代套餐”两个CPT上
2) 编辑每篇“马尔代夫酒店”文章,并设置好“推荐分类”
好的,明白了。我最初的想法也是把taxonomy“推荐分类”注册到“马尔代夫酒店”和“马代套餐”两个CPT上,只是我想既然这个两个CTP有关系,所以就想尝试一下。我现在明白了是Toolset Views是不能实现我的要求。
我会根据你的建议去操作的。再次感谢!