从公文包类型中删除您的代码。注册post类型和分类法的php(第9行之后)。
使用以下代码(在portfolio type.php中)注册post类型“portfolio”
function portfolio_register() {
$labels = array(
\'name\' => _x(\'Portfolio\', \'post type general name\'),
\'singular_name\' => _x(\'Portfolio Item\', \'post type singular name\'),
\'add_new\' => _x(\'Add New\', \'portfolio item\'),
\'add_new_item\' => __(\'Add New Portfolio Item\'),
\'edit_item\' => __(\'Edit Portfolio Item\'),
\'new_item\' => __(\'New Portfolio Item\'),
\'view_item\' => __(\'View Portfolio Item\'),
\'search_items\' => __(\'Search Portfolio Items\'),
\'not_found\' => __(\'Nothing found\'),
\'not_found_in_trash\' => __(\'Nothing found in Trash\'),
\'parent_item_colon\' => \'\'
);
$args = array(
\'labels\' => $labels,
\'public\' => true,
\'publicly_queryable\' => true,
\'show_ui\' => true,
\'query_var\' => true,
\'rewrite\' => true,
\'capability_type\' => \'post\',
\'hierarchical\' => false,
\'menu_position\' => 8,
\'supports\' => array(\'title\',\'editor\',\'thumbnail\')
);
register_post_type( \'portfolio\' , $args );
}
add_action(\'init\', \'portfolio_register\');
使用以下代码(在portfolio type.php中)为post类型“portfolio”注册分类法“portfolio\\u categories”,使其具有层次结构(如类别)
function create_portfolio_taxonomies() {
$labels = array(
\'name\' => _x( \'Categories\', \'taxonomy general name\' ),
\'singular_name\' => _x( \'Category\', \'taxonomy singular name\' ),
\'search_items\' => __( \'Search Categories\' ),
\'all_items\' => __( \'All Categories\' ),
\'parent_item\' => __( \'Parent Category\' ),
\'parent_item_colon\' => __( \'Parent Category:\' ),
\'edit_item\' => __( \'Edit Category\' ),
\'update_item\' => __( \'Update Category\' ),
\'add_new_item\' => __( \'Add New Category\' ),
\'new_item_name\' => __( \'New Category Name\' ),
\'menu_name\' => __( \'Categories\' ),
);
$args = array(
\'hierarchical\' => true, // Set this to \'false\' for non-hierarchical taxonomy (like tags)
\'labels\' => $labels,
\'show_ui\' => true,
\'show_admin_column\' => true,
\'query_var\' => true,
\'rewrite\' => array( \'slug\' => \'categories\' ),
);
register_taxonomy( \'portfolio_categories\', array( \'portfolio\' ), $args );
}
add_action( \'init\', \'create_portfolio_taxonomies\', 0 );
然后使用以下代码检索模板文件(如index.php)中的分类术语
<?php
$taxonomy = \'portfolio_categories\';
$terms = get_terms($taxonomy); // Get all terms of a 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;?>
?>
如果您需要任何澄清,请告诉我。