您的问题是:
foreach post where A is true, that has a child where B is true
实际上是:
foreach post where A is true
that has a child where B is true
所以这不是您应该在1查询中执行的操作。相反,您需要执行n个查询,其中n=parentposts+1。1个查询以查找父项,然后查询每个父项以查找子项。
显然,这不会很快。
问题的根源是您的数据结构不合适。您尝试的是使用post meta重新创建分类法。
相反,创建一个称为“位置”的自定义分类法,并创建一个斯德哥尔摩术语。然后查询所有包含大小元的帖子,并添加\'Location\' => \'Stockholm\'
.
优点:
查询大大简化了,您可以免费获得一个运行良好、经过广泛测试的管理界面,它的速度非常快,您可以获得免费的档案,例如。com/location/stockholm/li>通过新模板与模板继承人紧密集成:taxonomy.php
, taxonomy-location.php
甚至taxonomy-location-stockholm.php
缺点:
如果遇到需要执行sql查询的情况,说明您做错了。