0

我已经在互联网上看到过这个问题,但到目前为止没有任何东西对我有用。

理想情况下,我希望以下工作:

http://example.com/mortgage-brokers<分类档案

http://example.com/mortgage-brokers/victoria< 分类术语

http://example.com/mortgage-brokers/victoria/melbourne< 二级分类术语

http://example.com/mortgage-brokers/victoria/melbourne/john-smith<单个“帖子”

我将“自定义帖子类型永久链接”插件设置为/%broker_locations%/%postname%/,并且我已将 CPT 和分类定义如下:

    $args = array(  
        'label' => __('Brokers'),  
        'singular_label' => __('Broker'),  
        'public' => true,  
        'show_ui' => true,  
        'capability_type' => 'post',  
        'hierarchical' => false,  
        'query_var' => true,
        'rewrite' => [
            'hierarchical' => false,  
            'slug' => 'mortgage-brokers',
            'with_front' => false
        ],  
        'supports' => array('title', 'editor', 'thumbnail', 'tag', 'comments'),
       );  

    register_post_type( 'broker' , $args );  


    register_taxonomy(  
        'broker_locations',
        'broker',
        array(  
            'hierarchical' => true,  
            'label' => 'Broker locations',
            'hierarchical' => true,
            'rewrite' => array(
                'hierarchical' => true,
                'with_front' => false
            )
        )  
    );  

使用上述配置,我可以让帖子永久链接正常工作,只要我不在分类定义中添加 slug 来“重写”,从而在 slug 中产生“broker_locations”,即:

http://example.com/mortgage-brokers/victoria/melbourne/john-smith<作品

http://example.com/mortgage-brokers/victoria/melbourne< 404s

http://example.com/mortgage-brokers/broker_locations/victoria/melbourne<“有效”,但不是必需的

我还能够获得嵌套分类档案或发布永久链接以正常工作(取决于在functions.php中首先定义的),但另一个总是404。

有谁知道发生了什么?我无法相信这么简单的事情有多么困难。

4

1 回答 1

1

如果有人遇到这个问题,我找到了答案: https ://wordpress.stackexchange.com/questions/196797/add-taxonomy-in-custom-permalink-structure/196799

该线程中的“AddWeb Solution Pvt Ltd”编写了他们自己的函数来解决这个问题。它有点手动,因为您必须指定帖子的深度,但它确实对我有用。

于 2017-09-27T01:58:05.407 回答