我正在使用IMPress列表显示手动显示房地产列表。对于单个列表,可以一次一个地添加图像库的图像。
这些输出使用
<?php echo do_shortcode(get_post_meta( $post->ID, '_listing_gallery', true)); ?>
我想使用Fullscreen Galleria来显示图片。我这就是我尝试过的。这不起作用,因为短代码需要图像ID。
echo do_shortcode('[fsg_link class="btn-primary" include="' . get_post_meta( $post->ID, '_listing_gallery', true) . '"]View Full Screen[/fsg_link]');
看来这个特殊的短代码需要图片ID,而不是HTML。
显示图像ID的最佳方法是什么,所以它输出如此
echo do_shortcode('[fsg_link class="btn-primary" include="501,502,503"]View Full Screen[/fsg_link]');
谢谢!
答案 0 :(得分:0)
的functions.php
function pippin_get_image_id($image_url) {
global $wpdb;
$attachment = $wpdb->get_col($wpdb->prepare("SELECT ID FROM $wpdb->posts WHERE guid='%s';", $image_url ));
return $attachment[0];
}
页面模板
if (get_post_meta( $post->ID, '_listing_gallery', true) != '') {
$image_url = get_post_meta( $post->ID, '_listing_gallery', true);
$doc = new DOMDocument;
$doc->loadHTML($image_url);
$galleryimg = $doc->getElementsByTagName('img');
$images = array();
foreach ($galleryimg as $galleryimg){
$galleryimg = $galleryimg->getAttribute('src');
$image_id = pippin_get_image_id($galleryimg);
array_push($images, $image_id);
$string = rtrim(implode(',', $images), ',');
}
echo do_shortcode('[fsg_link class="btn-primary" include="' . $string . '"]View Full Screen[/fsg_link]');