自定义分类模板不起作用

时间:2014-10-09 作者:Mithun Sarker Shuvro

我创建了一个名为property, 和一个名为city 附加到此帖子类型。有几个城市(术语)如toronto, taiwan,dhaka.

我想创建一个模板,可以显示一个城市下的所有帖子。我已经创建了一个文件taxonomy-city.php, 但它不起作用。

这是我的代码taxonomy-city.php 文件

<?php
/*
 * Template name: City
*/
get_header();

?>
<div id="page_content">
        <div class="page-wrapper">

            <?php if (have_posts()) : ?><?php while (have_posts()) : the_post(); ?>
            <div id="page_content_wrapper">

                <div id="careers_table">
                    <p class="content_text">asdsd</p>

                </div>

                    <?php endwhile; ?>
                    <?php else : ?>
                            <div class="post">
                                <h3><?php _e(\'404 Error&#58; Not Found\', \'cmeasytheme\'); ?></h3>
                            </div>
                    <?php endif; ?> 

            </div>
            <div style="clear:both;"></div>
        </div>
        </div>
<?php get_footer(); ?>
它显示所有内容,但不打印循环内的任何内容。

我也访问了这些链接,但他们都没有提供任何帮助

1 个回复
最合适的回答,由SO网友:Mayeenul Islam 整理而成

首先,ataxonomy-{taxonomy}.php 文件是存档模板,不是自定义模板的好名称。因此,如果要继续使用自定义模板,请尝试使用以下内容命名文件template-cities.php 并将文件调用到页面。

否则,请简单taxonomy-{taxonomy}.php 存档模板,在您的情况下taxonomy-city.php 代码如下:

<?php get_header(); ?>
<div id="page_content">
    <div class="page-wrapper">
        <div id="page_content_wrapper">
            <?php if (have_posts()) : ?>
                <div id="careers_table">
                    <?php while (have_posts()) : the_post(); ?>
                        <p class="content_text"><?php the_title(); ?></p>
                    <?php endwhile; ?>
                    <?php // pagination code here ?>
                </div>
            <?php else : ?>
                <div class="post">
                    <h3><?php _e(\'No City Found\', \'cmeasytheme\'); ?></h3>
                </div>
            <?php endif; ?>
        </div> <!-- .page_content_wrapper -->
        <div style="clear:both;"></div>
    </div> <!-- .page-wrapper -->
</div> <!-- .page_content -->
<?php get_footer(); ?>
这样,就不需要创建任何页面并调用页面模板。

建议

虽然建议与WordPress无关,但与良好实践相关:

请尝试将类命名为以连字符分隔(-),而不是以下划线分隔(\\uu0)。很有阶级感page_content_wrapper 可能是page-content-wrapper.<div style="clear:both;"></div> 可能是这样的<div class="clearfix"></div> 你可以.clearfix{clear:both} 在外部CSS文件中

  • 使用重要的注释,以便可以跟踪收尾div等。
  • 结束

    相关推荐

    1 post, 2 templates

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