php - 用 fancybox 显示帖子内容
问题描述
我正在尝试在花式框中显示帖子内容,它几乎可以正常工作,除非单击链接后它只显示第一篇帖子的内容。
所以我想到了将帖子 ID 添加到 data-src 的想法,但由于某种原因,我的代码没有添加 ID。
<ul>
<?php $args = array('post_type' => 'rm', 'showposts' => 20, 'order' => 'ASC'); $the_query = new WP_Query( $args ); ?>
<?php while ( $the_query->have_posts() ) : $the_query->the_post(); ?>
<?php $meta = get_post_meta( $post->ID, 'city_council_candidates', true );
$postsData[$row]['links'][$i] = [
'id' => get_the_id(),
];
foreach($postsData as $key => $value) :
$links = $value['links'];
echo '<pre>'; echo var_dump($links); echo '</pre>';
?>
<li class="candidates-wrapper col-12 col-sm-12 col-md-4 col-lg-3 col-xl-2">
<a data-fancybox data-src="#selectableModal-<?php echo $value['id'] ?>" href="javascript:;">
<div class="candidates-img">
<?php the_post_thumbnail(); ?>
</div><!-- .news_img -->
<div class="candidates-name">
<?php echo $meta['name']; ?>
</div>
<div class="candidates-surname">
<?php echo $meta['surname']; ?>
</div>
<div class="candidates-constituency">
<?php echo $meta['constituency']; ?>
</div>
<div style="display: none;max-width:500px;" id="selectableModal-<?php echo $value['id'] ?>">
<h2>
<?php echo $meta['name']; ?><?php echo $meta['surname']; ?>
<h2>
<p>
<?php the_content(); ?>
</p>
</div>
</a>
</li><!-- .news-wrapper -->
<?php
endforeach;
endwhile;
wp_reset_postdata();
?>
</ul>
正如你所看到的,我还添加了 var_dump 函数来检查是否$links
从查询中获取任何 ID 并且 ID 是否传递到那里。
在控制台中,链接如下所示<a data-fancybox="" data-src="#selectableModal-" href="javascript:;">
我做错了什么?
解决方案
看起来问题是输出<?php echo $value['id'] ?>
为空,因此很可能您有多个元素具有相同的 id -#selectableModal-
这会导致您的问题。
抱歉,我不是 WP 专家,但也许尝试$value['id']
用$post->ID
.
推荐阅读
- sql - Oracle SQL 分配特定值
- excel - vba 循环直到布尔值为假 - 用户窗体按钮
- javascript - 使用 jQuery 基于数据属性的鼠标滚轮和 K/board Up/Down 子弹导航
- typescript - RxJS 6:使用 TypescriptTypings 迁移 fromPromise 到 from
- mysql - 如果条件不满足,MySQL 触发器将阻止 INSERT
- ssl - 将 f5 路由器添加到现有的 openshift 集群
- css - 使用 Angular 将变量插入到类中
- excel - VBComponents 变量未更新
- java - Java PreparedStatement 没有设置值
- java - 从java中的xlsx文件中读取超过2个缺少数据