自定义发布类型自定义存档页面不起作用

时间:2014-10-23 作者:OllieRussell8

我已经为公文包循环创建了自定义帖子类型和分类:

// Portfolio CPT
function portfolio_cpt() {
  $labels = array(
    \'name\'               => _x( \'Potfolio Items\', \'post type general name\' ),
    \'singular_name\'      => _x( \'Portfolio item\', \'post type singular name\' ),
    \'menu_name\'          => \'Portfolio Items\'
  );
  $args = array(
    \'labels\'        => $labels,
    \'description\'   => \'Portfolio items\',
    \'public\'        => true,
    \'menu_position\' => 5,
    \'supports\'      => array( \'title\', \'editor\', \'thumbnail\', \'excerpt\', \'comments\' ),
    \'has_archive\'   => true,
  );
  register_post_type( \'portfolio\', $args ); 
}
add_action( \'init\', \'portfolio_cpt\' );

function portfolio_tax() {
  $labels = array(
    \'name\'              => _x( \'Portfolio Categories\', \'taxonomy general name\' ),
    \'singular_name\'     => _x( \'Portfolio Category\', \'taxonomy singular name\' ),
    \'menu_name\'         => __( \'Portfolio Categories\' ),
  );
  $args = array(
    \'labels\' => $labels,
    \'hierarchical\' => true,
  );
  register_taxonomy( \'portfolio_category\', \'portfolio\', $args );
}
add_action( \'init\', \'portfolio_tax\', 0 );
这段代码位于单个帖子页面中,因此当我单击一个类别时,它会将我发送到类别存档页面:

<?php

$taxonomy = \'portfolio_category\';
$terms = get_terms($taxonomy);

if ( $terms && !is_wp_error( $terms ) ) :
?>
    <ul>
        <?php foreach ( $terms as $term ) { ?>
            <li><a href="<?php echo get_term_link($term->slug, $taxonomy); ?>"><?php echo $term->name; ?></a></li>
        <?php } ?>
    </ul>
<?php endif;?>
然后创建了一个名为archive-portfolio.php 列出与特定类别相关的职位。

问题是,它似乎仍在使用默认的存档模板,这意味着我无法编辑/设置页面样式

有什么想法吗?

1 个回复
SO网友:RachieVee

听起来,如果“公文包”自定义帖子类型的存档列出了所有公文包帖子,那么它就可以工作,但如果单击帖子中的自定义分类法,它就会转到默认存档。php。

因为这是自定义分类法,所以它不会使用您的归档公文包。php,因为所有这些都是应用于所有公文包帖子的列表,而不是它们的分类法。因此,您可能需要一个分类模板:

Custom Taxonomies Display on the Codex

如果你看看Template Hierarchy section on the Codex, 您将看到,当WordPress访问归档文件时,它会在默认归档之前查找多个文件。php。该顺序为:

分类学{分类学}{术语}。php分类法{分类法}。php分类法。phparchive.php <;--因为上面的模板不存在索引,所以使用默认值。php希望对您有所帮助!:-)

结束

相关推荐

Show Pages in Categories

通过将此代码添加到函数中,我创建了category函数。php:function page_category() { register_taxonomy_for_object_type(\'category\', \'page\'); } // Add to the admin_init hook of your theme functions.php file add_action( \'init\', \'page_category\' ); 但问

自定义发布类型自定义存档页面不起作用 - 小码农CODE - 行之有效找到问题解决它

自定义发布类型自定义存档页面不起作用

时间:2014-10-23 作者:OllieRussell8

我已经为公文包循环创建了自定义帖子类型和分类:

// Portfolio CPT
function portfolio_cpt() {
  $labels = array(
    \'name\'               => _x( \'Potfolio Items\', \'post type general name\' ),
    \'singular_name\'      => _x( \'Portfolio item\', \'post type singular name\' ),
    \'menu_name\'          => \'Portfolio Items\'
  );
  $args = array(
    \'labels\'        => $labels,
    \'description\'   => \'Portfolio items\',
    \'public\'        => true,
    \'menu_position\' => 5,
    \'supports\'      => array( \'title\', \'editor\', \'thumbnail\', \'excerpt\', \'comments\' ),
    \'has_archive\'   => true,
  );
  register_post_type( \'portfolio\', $args ); 
}
add_action( \'init\', \'portfolio_cpt\' );

function portfolio_tax() {
  $labels = array(
    \'name\'              => _x( \'Portfolio Categories\', \'taxonomy general name\' ),
    \'singular_name\'     => _x( \'Portfolio Category\', \'taxonomy singular name\' ),
    \'menu_name\'         => __( \'Portfolio Categories\' ),
  );
  $args = array(
    \'labels\' => $labels,
    \'hierarchical\' => true,
  );
  register_taxonomy( \'portfolio_category\', \'portfolio\', $args );
}
add_action( \'init\', \'portfolio_tax\', 0 );
这段代码位于单个帖子页面中,因此当我单击一个类别时,它会将我发送到类别存档页面:

<?php

$taxonomy = \'portfolio_category\';
$terms = get_terms($taxonomy);

if ( $terms && !is_wp_error( $terms ) ) :
?>
    <ul>
        <?php foreach ( $terms as $term ) { ?>
            <li><a href="<?php echo get_term_link($term->slug, $taxonomy); ?>"><?php echo $term->name; ?></a></li>
        <?php } ?>
    </ul>
<?php endif;?>
然后创建了一个名为archive-portfolio.php 列出与特定类别相关的职位。

问题是,它似乎仍在使用默认的存档模板,这意味着我无法编辑/设置页面样式

有什么想法吗?

1 个回复
SO网友:RachieVee

听起来,如果“公文包”自定义帖子类型的存档列出了所有公文包帖子,那么它就可以工作,但如果单击帖子中的自定义分类法,它就会转到默认存档。php。

因为这是自定义分类法,所以它不会使用您的归档公文包。php,因为所有这些都是应用于所有公文包帖子的列表,而不是它们的分类法。因此,您可能需要一个分类模板:

Custom Taxonomies Display on the Codex

如果你看看Template Hierarchy section on the Codex, 您将看到,当WordPress访问归档文件时,它会在默认归档之前查找多个文件。php。该顺序为:

分类学{分类学}{术语}。php分类法{分类法}。php分类法。phparchive.php <;--因为上面的模板不存在索引,所以使用默认值。php希望对您有所帮助!:-)