自定义分类和帖子类型的存档页面URL

时间:2021-11-03 作者:user761076

我创建了一个自定义帖子类型和自定义分类法。

我可以访问此自定义帖子类型的存档页面,显示此类型的所有条目,但我无法获取特定分类术语的url。

当我访问URL时http://example.com/chat/ 我明白了archive.php 模板和所有聊天记录都会列出,但当我访问http://example.com/chat-category/category-1 (which is actually the URL shown in my wp-admin for this chat-category) 我拿到了404和archive.php 甚至没有调用模板。此外,创建模板taxonomy-chat-category.php 没用,我也得了404。

自定义分类法中是否有特定类别/术语的正确URL?

我能想到的解决方案是添加一个查询变量,如?chat-category=category-1 并在中修改查询archive.php 如果存在这个var,但我更喜欢som友好的URL解决方案。

这是我的代码:

    $labels = [
                    \'name\'              => _x( \'Categorías de chat\', \'taxonomy general name\', \'textdomain\' ),
                    \'singular_name\'     => _x( \'Categoría de chat\', \'taxonomy singular name\', \'textdomain\' ),
                    \'search_items\'      => __( \'Buscar categorías de chat\', \'textdomain\' ),
                    \'all_items\'         => __( \'Todas las categorías de chat\', \'textdomain\' ),
                    \'parent_item\'       => __( \'Categoría de chat padre\', \'textdomain\' ),
                    \'parent_item_colon\' => __( \'Categoría de chat padre:\', \'textdomain\' ),
                    \'edit_item\'         => __( \'Editar categoría de chat\', \'textdomain\' ),
                    \'update_item\'       => __( \'Actualizar categoría de chat\', \'textdomain\' ),
                    \'add_new_item\'      => __( \'Nueva categoría de chat\', \'textdomain\' ),
                    \'new_item_name\'     => __( \'Nuevo nombre de categoría de chat\', \'textdomain\' ),
                    \'menu_name\'         => __( \'Categoría de chat\', \'textdomain\' ),
               ];

    $args = [
        \'hierarchical\'      => true,
        \'labels\'            => $labels,
        \'show_ui\'           => true,
        \'show_admin_column\' => true,
        \'query_var\'         => true,
        \'rewrite\'           => array( \'slug\' => \'chat-category\' ),
        ];
 
    register_taxonomy(\'chat-category\',  [\'chat\'], $args );
    unset($args);

    $args = [
                \'labels\' => [\'name\' => __( \'chats\' ),
                             \'singular_name\' => __( \'chat\' )
                            ],
                \'can_export\'          => true,
                \'capability_type\'     => \'post\',
                \'custom-fields\'       => true,
                \'exclude_from_search\' => false,
                \'has_archive\'         => true,
                \'hierarchical\'        => true,
                \'menu_icon\'           => \'dashicons-video-alt2\',
                \'menu_position\'       => 2,
                \'public\'              => true,
                \'publicly_queryable\'  => true,
                \'taxonomies\'          => [\'chat-category\'],
                \'rewrite\'             => [\'slug\' => \'chat\'],
                \'supports\'            => [ \'author\', \'title\', \'editor\', \'thumbnail\', \'comments\'],
                \'show_ui\'             => true,
                \'show_in_menu\'        => true,
                \'show_in_nav_menus\'   => true,
                \'show_in_admin_bar\'   => true,
            ];
    register_post_type( \'chat\', $args);

1 个回复
最合适的回答,由SO网友:user761076 整理而成

嗯,在永久链接选项重置(再次保存永久链接选项)后,urlhttp://example.com/chat-category/category-1 工作正常。

相关推荐