如何向自定义分类添加自定义内容

时间:2014-12-04 作者:Resolution

我目前正在学习Wordpress。

所以我的主题有一个自定义的帖子类型,叫做portfolio. 我正在使用此联机代码向此公文包自定义类型添加自定义分类:

function add_custom_taxonomies() {
  // Add new "Locations" taxonomy
  register_taxonomy(\'location\', \'portfolio_page\', array(
    // Hierarchical taxonomy (like categories)
    \'hierarchical\' => true,
    // This array of options controls the labels displayed in the WordPress Admin UI
    \'labels\' => array(
      \'name\' => _x( \'Locations\', \'taxonomy general name\' ),
      \'singular_name\' => _x( \'Location\', \'taxonomy singular name\' ),
      \'search_items\' =>  __( \'Search Locations\' ),
      \'all_items\' => __( \'All Locations\' ),
      \'parent_item\' => __( \'Parent Location\' ),
      \'parent_item_colon\' => __( \'Parent Location:\' ),
      \'edit_item\' => __( \'Edit Location\' ),
      \'update_item\' => __( \'Update Location\' ),
      \'add_new_item\' => __( \'Add New Location\' ),
      \'new_item_name\' => __( \'New Location Name\' ),
      \'menu_name\' => __( \'Locations\' ),
    ),
    // Control the slugs used for this taxonomy
    \'rewrite\' => array(
      \'with_front\' => false, // Don\'t display the category base before "/locations/"
      \'hierarchical\' => true // This will allow URL\'s like "/locations/boston/cambridge/"
    ),
  ));
}
add_action( \'init\', \'add_custom_taxonomies\', 0 );
因此,上面的代码成功地在公文包下添加了子菜单位置。我在我的主题中创建了一个模板文件,并将其命名为taxonomy-location.php 使用此非常简单的代码进行测试:

<?php

    echo \'test\';
然而,当我访问上述位置选项卡时,内容总是像Add New Summary 有一些字段,如name, slug, description 就像你如何添加一个新的类别或标签,但我想看到的是这个词test 根据我刚才创建的模板。那么,我的方法有什么问题,Wordpress无法显示正确的模板?

2 个回复
SO网友:Pieter Goosen

分层自定义分类法的工作方式与内置分类法的工作方式完全相同category. 另一方面,非层次分类法的工作方式与内置分类法完全相同post_tag

您必须以与在类别屏幕后端添加“类别”相同的方式向分类法添加术语。

模板taxonomy-locations.php 如果任何属于分类法的术语locations 已选择或正在查看。

你必须记住,就像内置的分类法一样category, 您不能直接访问分类名称,这将立即导致显示404,因为没有分类的现有索引页

SO网友:Kamil

如果在创建新的分类法或cpt后没有看到模板内容,可能可以尝试刷新永久链接设置。Wordpress需要抓取系统中的所有新项目,并为模板创建新的url段塞(即:公文包、位置)。

结束

相关推荐

1 post, 2 templates

我想能够呈现两种不同的风格(2个模板)后。例如,假设我有post ID 133,我希望有两个url来访问它,因此它会呈现不同模板应用的位置。洛雷姆。com/render1/133。com/render2/1333,例如。。。或者可能是这样的:洛雷姆。com/post/133和lorem。com/post/133?模板=2您将如何操作?