高级定制字段:Single-books.php起作用,books.php不起作用

时间:2014-01-22 作者:MBWD

我正在使用CPT UI创建帖子类型(books)。我正在调试模式下运行。这一切都是在默认情况下发生的,Wordpress 3.8,2212主题。

我在ACF中创建了一个名为Books的字段组,并添加了三个字段:book\\u title、book\\u author、pub\\u year。我将字段组设置为显示post type是否为books。然后我复制了页面。php,重命名为books。php,并将默认标题替换为模板名称:Books。我创建了一个名为Book Entries的新页面,并将模板样式设置为Books。我在菜单中添加了这一页。我在书中添加了必要的php脚本。php显示post数据。然后,我使用“添加图书”使用自定义字段输入四个不同的示例图书标题并保存它们。我可以在一本书上单独查看它们。php,但当我去图书条目时,我看到。。。无post数据。我看到了所有其他内容,如标题、页眉、页脚、侧栏、评论,但没有帖子数据。

以下是书籍代码。php:

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

get_header(); ?>

    <div id="primary" class="site-content">
        <div id="content" role="main">
<?php if ( have_posts() ) : ?>
                <h1><?php the_field(\'book_title\'); ?></h1>
                <h2><?php the_field(\'book_author\'); ?></h2>
                <p><?php the_field(\'pub_year\'); ?></p>
            <?php while ( have_posts() ) : the_post(); ?>

                <?php get_template_part( \'content\', \'page\' ); ?>

                <?php comments_template( \'\', true ); ?>
            <?php endwhile; // end of the loop. ?>
<?php endif; wp_reset_postdata(); ?>

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

<?php get_sidebar(); ?>
<?php get_footer(); ?>

2 个回复
SO网友:Rajeev Vyas

尝试下面的代码,也请记住可以省略get_template_part( \'content\', \'page\' ); 如果您不想要内容页。显示书籍的php模板。您可以创建自己的文件,如内容手册。php和更改get_template_part 以包含新模板。

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

get_header(); ?>

    <div id="primary" class="site-content">
        <div id="content" role="main">
<?php get_posts(array(\'post_type\'=>\'books\')); ?>
<?php if ( have_posts() ) : ?>

            <?php while ( have_posts() ) : the_post(); ?>

                <h1><?php the_field(\'book_title\'); ?></h1>
                <h2><?php the_field(\'book_author\'); ?></h2>
                <p><?php the_field(\'pub_year\'); ?></p>
                <?php get_template_part( \'content\', \'page\' ); ?>
                <?php comments_template( \'\', true ); ?>
            <?php endwhile; // end of the loop. ?>
<?php endif; wp_reset_postdata(); ?>

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

<?php get_sidebar(); ?>
<?php get_footer(); ?>

SO网友:Milo

对您的书籍的查询。php文件包含与模板关联的页面,WordPress无法知道您希望在该查询中看到您的图书cpt数据。

与其创建页面和自定义模板,不如将您的cpt设置为具有存档页面。注册帖子类型时,将has\\u archive设置为true可以实现这一点。然后,您可以创建图书存档。php模板和WordPress将自动使用它来显示归档文件,无需单独的页面。

结束

相关推荐