我试图在一个花哨的框中显示帖子的内容,除了点击链接后它仅显示第一篇文章的内容外,它的运行效果很好。
因此,我想到了将帖子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:;">
我做错了什么?
答案 0 :(得分:0)
<div style="display: none; max-width:500px;" id="selectableModal">
<h2>name + surname<h2>
<p>content</p>
</div>
您不应将样式display:none与id =“ selectableModal”元素内联。它不应该在那儿,它可能显示fancybox,但没有显示内容,因此不会显示内容。也许用display覆盖内容:block!important;当fancybox显示时。
答案 1 :(得分:0)
看起来问题在于<?php echo $value['id'] ?>
的输出为空,因此很可能您有多个具有相同ID的元素-#selectableModal-
,这会导致问题。
抱歉,我不是WP专家,但是也许尝试用$value['id']
替换$post->ID
。