我到处找,仍然不知道如何显示我网站上一些自定义帖子类型的信息(为新客户接管了网站)。
之前的开发人员已经在下面设置了一些自定义字段,例如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; ?>
我需要在接下来的几天内解决这个问题,所以任何帮助都将不胜感激。
提前谢谢。
最合适的回答,由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 );