我有以下内容,它成功地从引用的帖子中提取标题、缩略图和自定义字段数据(YouTube链接),但显示的内容是父级内容:
function woo_videos_tab_content() {
$posts = get_field(\'videos\');
if( $posts ): ?>
<div class="row">
<?php foreach( $posts as $p ): ?>
<div class="col-sm-4">
<?php
if ( has_post_thumbnail()) : ?>
<a data-remodal-target="modal-<?php echo $p->ID; ?>" class="video-link" title="<?php echo get_the_title( $p->ID ); ?>" >
<?php echo get_the_post_thumbnail( $p->ID, \'video-thumb\' ); ?>
<i class="fa fa-youtube-play fa-4x"></i>
</a>
<h4><?php echo get_the_title( $p->ID ); ?></h4>
// Issue with the line below
<?php echo get_the_content( $p->ID ); ?>
<div class="remodal" data-remodal-id="modal-<?php echo $p->ID; ?>">
<button data-remodal-action="close" class="remodal-close"></button>
<h2><?php echo get_the_title( $p->ID ); ?></h2>
<iframe src="<?php the_field(\'youtube_link\', $p->ID); ?>?enablejsapi=1&version=3" allowfullscreen="" width="560" height="315" frameborder="0" allowscriptaccess="always"></iframe>
</div>
<?php endif; ?>
</div>
<?php endforeach; ?>
</div>
<?php endif;
}
我应该通过另一种方法提取内容吗?我曾设想,标题/缩略图/自定义字段的工作方式将适用于内容。
最合适的回答,由SO网友:Krzysiek Dróżdż 整理而成
作用get_the_content
不需要post_ID
作为参数。它有2个参数:
$more_link_text
- (字符串)(可选)当有更多文本时的内容$stripteaser
- (布尔)(可选)在更多文本之前显示摘要内容
所以不能在代码中使用它
get_the_content( $p->ID );
- 这将获取当前帖子的内容并使用
$p->ID
作为更多链接文本。
那么,如何根据帖子ID获取任何帖子的内容呢?
您可以使用get_post_field
功能:
echo apply_filters( \'the_content\', get_post_field( \'post_content\', $p->ID ) );