自定义分类归档页面错误

时间:2016-03-06 作者:Ramnath

通过在我的子主题的函数中添加以下代码,我成功地为引用创建了自定义分类法“Authors”。php:

/** * Add custom taxonomies */
function add_custom_taxonomies() {
    // Add new "Authors" taxonomy to Posts
    register_taxonomy(\'author\', \'post\', array(
        \'hierarchical\' => true,
        \'labels\' => array( \'name\' => _x( \'Authors\', \'taxonomy general name\' ),
        \'singular_name\' => _x( \'author\', \'taxonomy singular name\' ),
        \'search_items\' => __( \'Search Authors\' ),
        \'all_items\' => __( \'All Authors\' ),
        \'parent_item\' => __( \'Parent author\' ),
        \'parent_item_colon\' => __( \'Parent author:\' ),
        \'edit_item\' => __( \'Edit author\' ),
        \'update_item\' => __( \'Update author\' ),
        \'add_new_item\' => __( \'Add New author\' ),
        \'new_item_name\' => __( \'New author Name\' ),
        \'menu_name\' => __( \'Authors\' ), ),
        \'rewrite\' => array(
              \'slug\' => \'authors\',
              \'with_front\' => false,
              \'hierarchical\' => true
        ),
    ));
}
add_action( \'init\', \'add_custom_taxonomies\', 0 );
然后,我从我的WP管理员中添加了一个“作者”。接下来,我添加了一篇文章,作者是印度著名科学家阿卜杜勒·卡拉姆。这篇文章清楚地显示了超链接作者的名字(在父主题的single.php中添加了一些代码)。

接下来,我复制了父主题的存档。php给分类法作者。php列出所有“作者”。还创建了另一个存档副本。php给分类学作者AbdulKalam。php显示所有标记有作者AbdulKalam的帖子。

问题是,每当我浏览示例时,都会看到一个404错误页面。com/作者/或示例。com/authors/abdulkalam/。我冲过permalinks大约10-15次,但运气不好。

我做错了什么?

附言:我尝试过其他分类法名称,例如个性,但它们也不起作用!虽然“作者”可能已经存在,也可能不起作用,“作者”应该起作用。

1 个回复
SO网友:Milo

问题是:

register_taxonomy(\'author\', \'post\', array( //tax args here... ));
第一个参数是分类名称,您已将其设置为author. 如果没有显式声明值,WordPress将使用该值作为分类查询变量。当查询此分类时,author 用于将请求的术语slug传递给查询。

问题是WordPress已经使用author 通过用户ID查询用户。访问这些术语页会导致WordPress尝试查询用户ID为0的帖子,而用户ID始终为404(任何非数字字符串都被解释为无效,并变为整数0)。

将名称更改为其他名称:

register_taxonomy(\'something_unique\', \'post\', array( //tax args here... ));
或者,显式设置query_var 除了author.

register_taxonomy(\'author\', \'post\', array(
    \'query_var\' => \'something_unique\',
    // the rest of your tax args...
));

相关推荐

如何将Archives.php中的循环修改为每个页面有11个帖子和CSS样式

我在档案中编辑了我的循环。php,以便使用分页和类别帖子列表小部件。我基本上是根据随机代码和想法拼凑起来的,现在离默认的post查询还很远,我很难回到原点。我需要回到原点的原因是我需要两件事:1) 当我的帖子有两个分类标签时,我的代码把我的分类帖子搞乱了。当这种情况发生时,他们被放在错误的类别中(或者根本没有被放在)。2) 通过这种自定义编码,我也丢失了对“标记”的查询,因此标记页面无法正常工作。我需要回到原点,这样我可以设置标签和分类帖子,以便正确显示,但在正确的范围内<li>这是我的风格。