我正在尝试获取与此网站完全相同的层次结构:https://theculturetrip.com/
在我看来,他们似乎有这样的类别层次结构:
-Continent
——-Country
————–City
-Food and Drink
-See and Do
-Art
-Literature
-etc.
如果你点击一个大陆,你会在一个页面上看到该大陆的帖子,按上述类别(食品和饮料、艺术、文学、see和do)排序。
然后,如果你点击一个国家,你会在一个页面上看到该国的帖子,这些帖子按上述相同类别(食品和饮料、艺术、文学、see和do)排序。
然后,如果你点击一个城市,你会在一个页面上看到该城市的帖子再次排序……按照上面相同的类别(食品和饮料、艺术、文学、see和do)。
如果你没有点击某个城市,而是点击了一个类别,如食品和饮料,你将被带到一个页面,其中显示了该城市的所有食品和饮料帖子(但不是所有食品和饮料帖子)。
所以我的问题是,他们使用的类别层次结构是否如我上面所述?或者是这样的:
-Continent
-Food and Drink for this Continent
-See and Do for this Continent
-Art for this Continent
-Literature for this Continent
-etc.
——-Country
——-Food and Drink for this Country
——-Art for this Country
——-Literature for this Country
——-etc. for this Country
————City
————Food and Drink for this Country
————See and Do for this Country
————Art for this Country
————Literature for this Country
————etc. for this Country
这将导致成百上千个类别,因为所有城市和国家都需要创建这一类别。还是更愿意为其中的每一个创建不同的页面?
我想以同样的方式建立我的网站,但我不知道如何最好地建立关系。
有人能帮忙解决这个问题吗?
谢谢
SO网友:Benoti
不止是类别custom taxonomy, 很容易将自定义分类添加到后期编辑屏幕,并根据自定义分类的任何逻辑检索这些自定义分类WP_Query.
例如:
function continent_init() {
// create a new taxonomy
register_taxonomy(
\'continent\',
\'post\',
array(
\'label\' => __( \'Continent\' ),
\'rewrite\' => array( \'slug\' => \'continent\' )
)
);
}
add_action( \'init\', \'continent_init\' );
要检索它的查询(a
[pre_get_posts][3]
将比这更好)
$args = array(
\'tax_query\' => array(
array(
\'taxonomy\' => \'continent\',
\'field\' => \'slug\',
\'terms\' => \'europe\'
)
)
);
$query = new WP_Query( $args );
希望有帮助