显示自定义发布类型中的自定义字段

时间:2019-02-04 作者:Dan

我到处找,仍然不知道如何显示我网站上一些自定义帖子类型的信息(为新客户接管了网站)。

之前的开发人员已经在下面设置了一些自定义字段,例如thumb_title和resource_url:

         \'fields\'     => array(
            // Thumbnail Title
            array(
                \'name\'    => esc_html__( \'Thumbnail Title\', \'textdomain\' ),
                \'id\'      => "{$prefix}thumb_title",
                \'type\'    => \'text\',
                \'desc\'    => \'i.e. Project Management\',
            ),
             // Resource URL
            array(
                \'name\'    => esc_html__( \'Link to Resource\', \'textdomain\' ),
                \'id\'      => "{$prefix}resource_url",
                \'type\'    => \'text\',
                \'desc\'    => \'Enter the resource URL, i.e. <b>/resource/project-management</b>\',
            ),
        ),
我可以很好地显示通常的\\u标题和\\u内容,就是这些其他字段我无法显示,这让我发疯。

以下是我的页面内容:

<?php
    $args = array( \'post_type\' => \'resources_cta\', \'posts_per_page\' => 10 );
    $the_query = new WP_Query( $args );
    $thumb_title = get_post_meta( get_the_ID(), \'thumb_title\', true );
?>

<?php if ( $the_query->have_posts() ) : ?>

    <?php while ( $the_query->have_posts() ) : $the_query->the_post(); ?>

    <?php 
        // Read somewhere that this needed to be in the loop so also tried it here
        //$meta = get_post_meta( $post->ID, \'thumb_title\', true ); 
    ?>

    <div class="carousel-item <?php if( $the_query->current_post == 0 ):?>active<?php endif; ?>">

        <div class="resourcesLeft">
            <h1><?php the_title(); ?></h1>
            <div class="entry-content">
                <?php the_content(); ?>
            </div>
        </div>
        <div class="resourcesRight">
            <div class="little-book">the little book of</div>
            <div class="thumb-title"><?php echo $meta; ?></div> <?php //print_r($key); die(); ?>
            <img src="<?php bloginfo(\'template_directory\'); ?>/library/images/logo-full_white.svg" alt="" class="logo">
            <a href="<?php the_field(\'resource_url\'); ?>" class="resource-cta-link">FIND OUT MORE</a>
        </div>

    </div>

<?php endwhile; endif; ?>
我需要在接下来的几天内解决这个问题,所以任何帮助都将不胜感激。

提前谢谢。

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

看起来您想从ACF获取值?如果是,您可以使用get_field:

$thumb_title = get_field( \'thumb_title\', get_the_ID();
But wait: 由于以下原因,这将不起作用:

\'id\'      => "{$prefix}thumb_title",
这个{$prefix} part在该文件中的某个位置定义,它正在创建一个完整的字段名。您需要将其包括在您的呼叫中get_field:

// In your file adding fields somewhere:
$prefux = \'myprefix_\';

// In your template:
$thumb_title = get_field( \'myprefix_thumb_title\', get_the_ID() );
让我们看看线路在哪里可能会有帮助$prefix 在第一个块中定义。此外,如果这些只是常规的WordPress元字段,那么您只需要执行以下操作:

$thumb_title = get_post_meta( get_the_ID(), \'myprefix_thumb_title\', true );

相关推荐

如何让`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: