所以我正在制作一个分为两部分的网站,一部分是文本,另一部分是图像。我想做的是显示每个帖子的特定图片。我还使用了高级自定义字段来简化操作。所以我知道可以使用以下方式发布我的身份证:
global $post; echo $post->ID;
我不知道的是,如何显示对应的图像。
这是我的代码:
<?php
$images = get_field(\'gallery\');
if( $images ): ?>
<ul> <div class="slide-photos" id="<?php $post->ID;?>" data-id="<?php $post->ID;?>">
<?php foreach( $images as $image ): ?>
<li>
<div class="photos-ind"><img id="<?php $post->ID;?>" class="slide-photos" src="<?php echo esc_url($image[\'sizes\'][\'thumbnail\']); ?>" data-id="<?php $post->ID;?>"/></div>
</li>
<?php endforeach; ?></div>
</ul>
<?php endif; ?>
我也有javascript
$(document).ready(function(){
$(".exposition").on(\'click\',function(){
var hello = $(this).attr(\'data-id\');
$(\'.slide-photos\').hide();
$(\'[id=\'+ hello + \']\').show();
$(\'[id=\'+ hello + \']\').flickity({
wrapAround: true, lazyLoad: 2, selectedAttraction: 0.1,
friction: 0.5, cellAlign: \'left\', adaptiveHeight: false, imagesLoaded: true,
});
console.log(\'[id=\'+ hello + \']\');
});
});
SO网友:Roel Magdaleno
据我所知get_field()
函数将根据当前帖子返回响应(无需指定帖子ID)。但如果要指定post ID,则必须在第二个参数中键入它,如:
get_field( $selector, $post_id );
因此,您的代码如下所示:
<?php
global $post;
$post_id = 0 !== $post->ID ? $post->ID : false;
$images = get_field( \'gallery\', $post_id );
if ( $images ): ?>
// Your content.
<?php endif; ?>
不使用
$post->ID
直接在第二个参数中,因为值可能是
0
有时,如果WP\\U查询失败。如果发生这种情况,请使用
false
以当前帖子为目标。
检查资源:
https://www.advancedcustomfields.com/resources/get_field/