Php get post meta显示没有结果
我对get_post_meta有问题。通常情况下,它是有效的,但由于同样的原因,这个查询不起作用 所以我有12个名为“官方事务”的自定义帖子,它们在主页上用手风琴创建标签。对于post meta,我想创建一个if语句来检查选项卡是链接还是传出链接或选项卡 问题是get_post_meta只传递来自一篇文章的信息。所以在var_dump之后,我只得到了Php get post meta显示没有结果,php,wordpress,Php,Wordpress,我对get_post_meta有问题。通常情况下,它是有效的,但由于同样的原因,这个查询不起作用 所以我有12个名为“官方事务”的自定义帖子,它们在主页上用手风琴创建标签。对于post meta,我想创建一个if语句来检查选项卡是链接还是传出链接或选项卡 问题是get_post_meta只传递来自一篇文章的信息。所以在var_dump之后,我只得到了array(1){[“link”]=>string(0)“} 你能告诉我原因在哪里吗 <div id="collapse-official-m
array(1){[“link”]=>string(0)“}
你能告诉我原因在哪里吗
<div id="collapse-official-matters" class="col-xl-12">
<div class="official-matters-group">
<?php $args = array('post_type' => 'official-matters', 'showposts' => 20, 'orderby' => 'date', 'order' => 'ASC',); $the_query = new WP_Query( $args ); ?>
<?php $i = 0; $row = 0;
while ( $the_query->have_posts()) {
$the_query->the_post();
if ($i === 4) {
$i = 0;
$row++;
}
$meta = get_post_meta( $post->ID, 'official_matters_details', true );
$postsData[$row]['tabs'][$i] = [
'id' => get_the_id(),
'thumbnail' => get_the_post_thumbnail_url(),
'title' => get_the_title()
];
$postsData[$row]['content'][$i] = [
'id' => get_the_id(),
'excerpt' => get_the_excerpt()
];
$i++;
}
?>
<div id="accordion">
<?php foreach($postsData as $key => $value) :
$tabs = $value['tabs'];
$contents = $value['content'];
?>
<div class="customRow">
<?php foreach($tabs as $key => $value) : ?>
<div class="info-tab col-xl-3">
<div class="info-img">
<img src="<?php echo $value['thumbnail'] ?>" />
</div><!-- .news_img -->
<?php if ($meta['isLink'] === '1') {
if ($meta['outgoingLink'] === '0') { ?>
<a href="<?php echo $meta['link'] ?>" class="info-title collapsed" role="button">
<?php echo $value['title'] ?>
</a><!-- .info-title -->
<?php } else { ?>
<a href="<?php echo $meta['link'] ?>" class="info-title collapsed" role="button" target="_blank">
<?php echo $value['title'] ?>
</a><!-- .info-title -->
<?php } ?>
<?php } else { ?>
<a data-toggle="collapse" data-target="#collapse-<?php echo $value['id'] ?>" href="#collapse-<?php echo $value['id'] ?>" class="info-title collapsed" role="button" aria-expanded="false" aria-controls="collapse-<?php echo $value['id'] ?>">
<?php echo $value['title'] ?>
</a><!-- .info-title -->
<?php } ?>
</div><!-- .info-tab -->
<?php endforeach; ?>
<?php foreach($contents as $key => $value) : ?>
<div class="official-matters-content">
<div class="info-tab-content collapse" id="collapse-<?php echo $value['id']; ?>" data-parent="#accordion">
<div class="card card-body">
<?php echo $value['excerpt'] ?>
</div><!-- .card -->
</div><!-- .info-tab-content -->
</div><!-- .official-matters-content -->
<?php endforeach; ?>
</div>
<?php endforeach ;?>
</div>
<?php wp_reset_postdata(); ?>
<?php if (false) : ?>
<?php while ( $the_query->have_posts() ) : $the_query->the_post(); ?>
<div class="info-tab col-xl-3">
<div class="info-img">
<?php the_post_thumbnail(); ?>
</div><!-- .news_img -->
<a data-toggle="collapse" href="#collapse-<?php the_ID(); ?>" class="info-title" role="button" aria-expanded="false" aria-controls="collapse-<?php the_ID(); ?>">
<?php the_title(); ?>
</a><!-- .info-title -->
</div><!-- .info-tab -->
<div class="official-matters-content">
<div class="info-tab-content collapse" id="collapse-<?php the_ID(); ?>">
<div class="card card-body">
<?php the_excerpt(); ?>
</div><!-- .card -->
</div><!-- .info-tab-content -->
</div><!-- .official-matters-content -->
<?php
endwhile;
wp_reset_postdata();
?>
" />
在这条线上
$meta = get_post_meta( $post->ID, 'official_matters_details', true );
$meta变量在循环的每次迭代中都会被覆盖,因此稍后在HTML中使用时,$meta数组只包含一篇文章的数据
换成这个
$postsData[$row]['meta'][$i] = get_post_meta( $post->ID, 'official_matters_details', true );
在foreach循环中使用
$value['meta'][$key];
我如何指向特定的字段,例如isLink?echo$postsData[$row]['meta'][$I]['isLink'];
仅当在postsData[$row]['meta'][$I]=get\u post\u meta($post->ID,'official\u matters\u details',true)之后时才起作用;
。当中间有一些代码时,它会停止工作。我可以在代码中多次使用$postsData吗?在while循环中声明后,在foreach循环中像选项卡和内容一样声明它。$meta=$value['meta'],然后在循环$tabs时像$meta[$key]['isLink'一样引用它