2017-08-09 10 views
0

私は、リアルな不動産リストを表示するには、インプレッションリストを使用しています。単一のリストの場合、画像ギャラリーの画像を1つずつ追加するためのウィンドウがあります。私は画像を表示するFullscreen Galleriaを使用したいワードプレスフルスクリーンガレリアを使用してImPress Listingsイメージを表示

<?php echo do_shortcode(get_post_meta($post->ID, '_listing_gallery', true)); ?> 

を使用して

enter image description here

これらの出力。私はここで私が試みたものです。ショートコードにはイメージIDが必要なため、これは機能しません。

echo do_shortcode('[fsg_link class="btn-primary" include="' . get_post_meta($post->ID, '_listing_gallery', true) . '"]View Full Screen[/fsg_link]'); 

この短いコードでは、HTMLではなくイメージIDが必要です。それはそう

echo do_shortcode('[fsg_link class="btn-primary" include="501,502,503"]View Full Screen[/fsg_link]'); 

おかげのように出力して画像IDを表示するための最良の方法だろう何

答えて

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]'); 
関連する問題