显示使用自定义帖子类型UI插件生成的自定义帖子类型的自定义字段

时间:2020-01-07 作者:James

首先,我使用默认主题twentyseventeen. 我用过插件Custom Post Type UI 创建名为film_kernal

对于该帖子类型,我创建了一些自定义字段,其中一个称为Quality Score

我遵循了一个教程,该教程让我将其显示为一个正在工作的归档文件。我创建的自定义帖子显示在列表中的存档页面上,但它们不显示我的自定义字段,无论是在此存档页面上,还是当我实际单击帖子并访问单个页面时。

我想在存档页上显示一个自定义字段,我创建了一个新的子主题布局,名为archive-film_kernal.php 但是,我不确定如何修改代码以添加到“质量分数”字段中。

模板代码是原始代码的副本archive.php 下面是。从阅读中我认为我需要get_post_meta() 但我不知道如何正确使用这个字段,也不知道如何只选择一个或多个自定义字段,而不是全部。

提前谢谢。

<?php /*Template Name: Custom Archive Layout Test */?>

<?php


get_header(); ?>

<div class="wrap">

    <?php if ( have_posts() ) : ?>
        <header class="page-header">
            <?php
                the_archive_title( \'<h1 class="page-title">\', \'</h1>\' );
                the_archive_description( \'<div class="taxonomy-description">\', \'</div>\' );
            ?>
        </header><!-- .page-header -->
    <?php endif; ?>

    <div id="primary" class="content-area">
        <main id="main" class="site-main" role="main">

        <?php
        if ( have_posts() ) :
            ?>
            <?php
            /* Start the Loop */
            while ( have_posts() ) :
                the_post();



                /*
                 * Include the Post-Format-specific template for the content.
                 * If you want to override this in a child theme, then include a file
                 * called content-___.php (where ___ is the Post Format name) and that will be used instead.
                 */

                ]
                get_template_part( \'template-parts/post/content\', get_post_format() );

            endwhile;

            the_posts_pagination(
                array(
                    \'prev_text\'          => twentyseventeen_get_svg( array( \'icon\' => \'arrow-left\' ) ) . \'<span class="screen-reader-text">\' . __( \'Previous page\', \'twentyseventeen\' ) . \'</span>\',
                    \'next_text\'          => \'<span class="screen-reader-text">\' . __( \'Next page\', \'twentyseventeen\' ) . \'</span>\' . twentyseventeen_get_svg( array( \'icon\' => \'arrow-right\' ) ),
                    \'before_page_number\' => \'<span class="meta-nav screen-reader-text">\' . __( \'Page\', \'twentyseventeen\' ) . \' </span>\',
                )
            );

        else :

            get_template_part( \'template-parts/post/content\', \'none\' );

        endif;
        ?>

        </main><!-- #main -->
    </div><!-- #primary -->
    <?php get_sidebar(); ?>
</div><!-- .wrap -->

<?php
get_footer();

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

这取决于您如何添加自定义字段。如果使用自定义字段插件,则可以调用特定于插件的函数。例如,使用ACF,您可以调用get_field(\'fieldname\') 检索一个特定的自定义字段。

如果您没有使用ACF(或者即使使用了),只要字段存储为Posteta,就可以执行以下操作

<?php
if(get_post_meta($post->ID, \'quality_score\', true)) {
    echo get_post_meta($post->ID, \'quality_score\', true);
}
?>
或更严格的格式,即。

<?php
if(get_post_meta($post->ID, \'quality_score\', true)) {
    $quality_score = get_post_meta($post->ID, \'quality_score\', true);
    echo \'<div class="quality">\' . $quality_score . \'</div>\';
}
?>

相关推荐

如何让`wp-list-table`显示我在Custom-Post中的`Custom-Fields`

一切都好吗<我需要wp-list-table 也要显示custom-fields 在每个custom-post 我有,但我不知道如何做到这一点,在这幅图中,它显示了带有字段的表格:Title, Author and Publication Date: 我想要的是能够选择custom-fields 将出现,例如以下示例Title, Carta, Naipe, Author, and Date of Publication: