类别/分类的主页

时间:2013-06-12 作者:a_fan

我不知道为什么WP主题不支持分类法主页。我的意思是应该有一个单独的模板example.com/location/ (这可能会显示可用的分类术语列表等)除了example.com/location/newyork/ 其中位置是一种分类法。

拥有分类学主页的最佳方式是什么?slug=位置和自定义模板的页面?

2 个回复
最合适的回答,由SO网友:Bainternet 整理而成

/location页面不存在,因为WordPress不仅仅是根据URL结构创建页面。如果需要在其中显示内容,可以创建一个名为“位置”的“页面”。

如果要在位置分类中列出可用的术语,可以创建custom page template 例如:

<?php
/**
 * Template Name: Locations archive
 *
 * @package WordPress
 * @subpackage Twenty_Twelve
 * @since Twenty Twelve 1.0
 */

get_header(); ?>

    <div id="primary">
        <div id="content" role="main">

            <?php while ( have_posts() ) : the_post(); ?>
                <?php get_template_part( \'content\', \'page\' ); ?>
            <?php endwhile; // end of the loop. 
            $taxonomy = \'locations\';
            $terms = get_terms($taxonomy,array(
                \'orderby\'       => \'name\', 
                \'order\'         => \'ASC\',
                \'hide_empty\'    => true    
            ));

            if ( count($terms) > 0 ){
                echo "<ul>";
                foreach ( $terms as $term ) {
                    echo \'<li><a href="\'.get_term_link($term->slug, $taxonomy).\'">\'.$term->name.\'</a></li>\';
                    //do other stuff for each term
                }
                echo "</ul>";
            }
            ?>

        </div><!-- #content -->
    </div><!-- #primary -->

<?php get_footer(); ?>
这将列出位置分类法中的所有术语,并链接到每个术语的存档。

SO网友:Christopher

分类法实际上有这样的归档页面,就像类别一样。您只需确保在注册分类法时,您是在启用重写和slug的情况下注册的。例如:

// Control the slugs used for this taxonomy
    \'rewrite\' => array(
        \'slug\' => \'locations\', // This controls the base slug that will display before each term
        \'with_front\' => false, // Don\'t display the category base before "/locations/"
        \'hierarchical\' => true // This will allow URL\'s like "/locations/boston/cambridge/"
    ),
发件人Smashing Magazine

如果他们没有立即出现,请务必访问settings > permalinks 重置重写。

要创建特定于特定分类法的模板,请在案例位置复制archive.php 并重命名副本taxonomy-location.php. 这将为您提供一个特定于该分类法的模板。如果要创建特定于单个术语的模板,请将其重命名taxonomy-location-newyork.php.

结束

相关推荐