WordPress>具有自定义分类的自定义帖子类型>术语未链接到自定义存档页面

时间:2019-02-15 11:44:14

标签: php wordpress templates

我是Wordpress的新手,但到目前为止已有大约6个月的经验,所以我还不是一个完整的菜鸟!

我遇到了一个问题,但无法解决。任何帮助或见解都将非常欢迎我陪伴。

  • 我为“新闻”创建了自定义帖子类型-很好
  • 我为新闻项目创建了自定义分类法-很好
  • 我创建了一个“新闻中心”页面,其中显示新闻以及该新闻项附带的术语的链接-很好
  • 术语链接转到默认的archive.php-不好。

我希望术语链接转到一个页面,该页面可以拉入所有带有该术语标记的新闻。

这是我的CPT和分类法功能:

<?php
/**
* Register CPT News
*/

add_action( 'init', 'cpt_news' );
function cpt_news() {

   $labels = array(
       'name' => _x( 'News', 'post type general name' ),
       'singular_name' => _x( 'News', 'post type singular name' ),
       'menu_name' => _x( '+ News', 'admin menu' ),
       'name_admin_bar' => _x( 'News', 'add new on admin bar' ),
       'add_new' => _x( 'Add New', 'News' ),
       'add_new_item' => __( 'Add New News' ),
       'new_item' => __( 'New News' ),
       'edit_item' => __( 'Edit News' ),
       'view_item' => __( 'View News' ),
       'all_items' => __( 'All News' ),
       'search_items' => __( 'Search News' ),
       'parent_item_colon' => __( 'Parent News:' ),
       'not_found' => __( 'No News found.' ),
       'not_found_in_trash' => __( 'No News found in Trash.' ),
       'featured_image'     => 'Add Featured Image',
       'set_featured_image' => 'Select an image'

  );

  $args = array(
      'description' => __( 'News' ),
      'labels' => $labels,
      'supports' => array( 'title', 'editor', 'thumbnail', 'revisions',
                          //'author', 'excerpt', 'trackbacks', 'custom-fields',
                        ),
   // comments was removed to disable comments.
      'hierarchical' => false,
      'public' => true,
      'publicly_queryable' => true,
      'query_var' => true,
      'show_ui' => true,
      'show_in_menu' => true,
      'show_in_nav_menus' => true,
      'show_in_admin_bar' => true,
      'menu_position' => 2,
      'can_export' => true,
      'exclude_from_search' => false,
      'capability_type' => 'news', //page
      'has_archive'     => true,
      'map_meta_cap'    => true,
 );

  register_post_type( 'news_item', $args );

}


add_action( 'init', 'cpt_news_taxonomy' );
function cpt_news_taxonomy() {

   register_taxonomy( 'news_type', 'news_item',
     array(
        'labels' => array(
        'name' => _x( 'News Topic', 'taxonomy general name', 'text_domain' ),
        'add_new_item' => __( 'Add New Topic', 'text_domain' ),
        'new_item_name' => __( 'New Topic', 'text_domain' ),
     ),
       'exclude_from_search' => false,
       'has_archive' => true,
       'hierarchical' => true,
       'show_ui' => true,
       'show_tagcloud' => true,
   )
);

}
?>

当我单击标记为“志愿服务”的新闻项时,它会转到以下URL:/ news_type / volunteering /,即使我创建了archive-news_item-volunteering.php,它也会使用archive.php显示

我确定我确实缺少一些明显的东西!

2 个答案:

答案 0 :(得分:0)

根据Template Hierarchy上的Wordpress Codex页面,您创建一个名为taxonomy-news_type.php的模板文件。 WordPress将使用它来显示该分类法的档案。您还可以使用taxonomy-news_type-volunteering.php为分类法中的特定术语“志愿服务”创建模板。

答案 1 :(得分:0)

谢谢丹,这真是太钉了!我被默认为archive.php的事实所吸引,并走错了路。现在都在工作,谢谢!祝你有美好的一天! 杰森