是否显示自定义发布类型的元数据?

时间:2014-04-18 作者:Tony Hardy

我正忙于学习Wordpress开发背后的一些基础知识,到目前为止,我进展得很好。然而,我遇到了一个绊脚石。

首先,我的测试地点是;http://popcorn.canny-creative.com而且,我的阅读设置设置为Wordpress,以便在主页上显示“您的最新帖子”。Settings

如果你查看链接,你会注意到“Hello World”和“Let\'s Get Chinese Food”的帖子中有“posted by…posted on…”元信息,以及在底部张贴。

问题是,《肖申克的救赎》(Shawshank Redemption)和《黑暗骑士》(The Dark Knight)的自定义帖子类型(movie\\U reviews)没有显示这些相同的值。

我使用下划线作为起点,我想我已经将其缩小到模板标记。php是获取此信息的来源。我认为自定义帖子类型没有以某种方式包括在内,对吗?

还有,这些信息是“后元数据”吗?还是我选错了?

非常感谢。

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

在单个自定义帖子类型上(for example), 您可以看到post meta。

但是,在主页存档循环中,您不能这样做,因为主题对此使用了不同的模板。退房Template Hierarchy.

s中的“主页”由“index.php”模板管理。其中我们看到:

get_template_part( \'content\', get_post_format() );
由于没有任何内容的自定义帖子格式模板(例如:content-gallery.php、content-quote.php等),我们知道要查看常规的旧内容。php

内容模板。php看起来像:

<?php
/**
 * @package _S
 */
?>

<article id="post-<?php the_ID(); ?>" <?php post_class(); ?>>
    <header class="entry-header">
        <h1 class="entry-title"><a href="<?php the_permalink(); ?>" title="<?php echo esc_attr( sprintf( __( \'Permalink to %s\', \'_S\' ), the_title_attribute( \'echo=0\' ) ) ); ?>" rel="bookmark"><?php the_title(); ?></a></h1>

        <?php if ( \'post\' == get_post_type() ) : ?>
        <div class="entry-meta">
            <?php _s_posted_on(); ?>
        </div><!-- .entry-meta -->
        <?php endif; ?>
    </header><!-- .entry-header -->

    <?php if ( is_search() ) : // Only display Excerpts for Search ?>
    <div class="entry-summary">
        <?php the_excerpt(); ?>
    </div><!-- .entry-summary -->
    <?php else : ?>
    <div class="entry-content">
        <?php the_content( __( \'Continue reading <span class="meta-nav">&rarr;</span>\', \'_S\' ) ); ?>
        <?php wp_link_pages( array( \'before\' => \'<div class="page-links">\' . __( \'Pages:\', \'_S\' ), \'after\' => \'</div>\' ) ); ?>
    </div><!-- .entry-content -->
    <?php endif; ?>

    <footer class="entry-meta">
        <?php if ( \'post\' == get_post_type() ) : // Hide category and tag text for pages on Search ?>
            <?php
                /* translators: used between list items, there is a space after the comma */
                $categories_list = get_the_category_list( __( \', \', \'_S\' ) );
                if ( $categories_list && _s_categorized_blog() ) :
            ?>
            <span class="cat-links">
                <?php printf( __( \'Posted in %1$s\', \'_S\' ), $categories_list ); ?>
            </span>
            <?php endif; // End if categories ?>

            <?php
                /* translators: used between list items, there is a space after the comma */
                $tags_list = get_the_tag_list( \'\', __( \', \', \'_S\' ) );
                if ( $tags_list ) :
            ?>
            <span class="sep"> | </span>
            <span class="tags-links">
                <?php printf( __( \'Tagged %1$s\', \'_S\' ), $tags_list ); ?>
            </span>
            <?php endif; // End if $tags_list ?>
        <?php endif; // End if \'post\' == get_post_type() ?>

        <?php if ( ! post_password_required() && ( comments_open() || \'0\' != get_comments_number() ) ) : ?>
        <span class="sep"> | </span>
        <span class="comments-link"><?php comments_popup_link( __( \'Leave a comment\', \'_S\' ), __( \'1 Comment\', \'_S\' ), __( \'% Comments\', \'_S\' ) ); ?></span>
        <?php endif; ?>

        <?php edit_post_link( __( \'Edit\', \'_S\' ), \'<span class="sep"> | </span><span class="edit-link">\', \'</span>\' ); ?>
    </footer><!-- .entry-meta -->
</article><!-- #post-## -->
您应该能够非常清楚地看到post元函数_s_posted_on() 包装在条件if ( \'post\' == get_post_type() ) :. _s通常是直接定制的(而不是以儿童为主题),因此您需要继续删除或修改该条件以满足您的需要。删除它将在内容的任何地方显示meta。调用php模板。或者您可以修改它,使其适用于帖子和您的评论帖子类型(我假设这里称为“电影评论”,但根据需要进行更改):

if ( in_array( get_post_type(), array( \'post, \'movie_reviews\' ) ) ) : 

结束

相关推荐

列出分类法:如果分类法没有POST,就不要列出分类法--取决于定制的POST-META?

这可能很难解释,我不知道是否有解决办法!?我有一个名为“wr\\u event”的自定义帖子类型和一个名为“event\\u type”的分层自定义分类法。自定义帖子类型有一个元框,用于event_date 并且与此帖子类型关联的所有帖子都按以下方式排序event_date. 我在循环中有一个特殊的条件来查询event_date 已经发生了-在这种情况下,它没有显示,但只列在我的档案中。就像你可以使用wp_list_categories() 我编写了一个自定义函数,它以完全相同的方式列出所有分类术语。现在