Title: 不動産プラグインの物件画像を固定ページに表示させたい
Last modified: 2017年8月23日

---

# 不動産プラグインの物件画像を固定ページに表示させたい

 *  [しろ](https://ja.wordpress.org/support/users/kitaguni_ht/)
 * (@kitaguni_ht)
 * [9年、 1ヶ月前](https://ja.wordpress.org/support/topic/%e4%b8%8d%e5%8b%95%e7%94%a3%e3%83%97%e3%83%a9%e3%82%b0%e3%82%a4%e3%83%b3%e3%81%ae%e7%89%a9%e4%bb%b6%e7%94%bb%e5%83%8f%e3%82%92%e5%9b%ba%e5%ae%9a%e3%83%9a%e3%83%bc%e3%82%b8%e3%81%ab%e8%a1%a8%e7%a4%ba/)
 * 不動産プラグインを使用してサイトを作成しています。
    page-fudosan.phpという固定
   ページを作成し、カテゴリー毎に新着物件を3件ずつ表示させるページを作成しました。
   アイキャッチ画像がなければ「物件画像」の1枚目（fudoimg1）を表示させたいのですが、
   画像の取得が上手くいかずに困っています。
 *     ```
       <?php
       /**** functions ****/ //価格表示のためにシングル投稿機能読み込み
       require_once WP_PLUGIN_DIR . '/fudou/inc/inc-single-fudo.php';
   
       global $post;
   
       //タクソノミータームがある限り表示されるよう変更
       $terms = get_terms('bukken', 'hide_empty=0');
       $term_count = 0;
       if ( !empty( $terms ) ){
       	foreach ( $terms as $term ) {
       		//echo '>'.$term->name.'';
       		//var_dump($term);
       		//echo '>'.$term->slug.'';
       		$term_count++;		
   
       		$args = array(
       			'post_type' =>'fudo',
       			'post_status' =>'publish',
       			'orderby' => 'date',
       			'order' => 'desc',
       			'posts_per_page' => '3',
       			'tax_query'      => array(
       				array(
       					'taxonomy' => 'bukken',  // カスタムタクソノミー名
       					'field'    => 'slug',  // ターム名を term_id,slug,name のどれで指定するか
       					'terms'    => $term->slug // タクソノミーに属するターム名
       				)
       			)          
       		);
       		$posts = get_posts( $args );
       	//danmp
       	//var_dump($posts);
   
       	if($posts):			  
       	?>
       	<!-- ▼BEGIN fudo -->
       	<section class="section" id="fudo<?php echo ucfirst($term->slug); ?>">
       	<div class="inner">     
   
       	<!-- ============================== bukkenList ============================== -->
       	<div class="bukkenList cf">
       		<?php foreach($posts as $post): setup_postdata($post); ?>			 
       		<dl class="bukkenListItem">
       			<dt class="entryEyecatch">
             <a href="<?php the_permalink(); ?>" title="<?php the_title_attribute(); ?>">
             <?php if(has_post_thumbnail()): ?>
               <?php the_post_thumbnail('medium', array('class' => 'attachment-medium archive-eyecatch')); ?>
             <?php else: ?>
               <!--アイキャッチ画像の設定がなければ不動産プラグインの画像１を表示させたい -->
               <?php $fudoimg_data = get_post_meta(get_the_ID(), 'fudoimg1', true); ?>
               <img src="<?php echo 'wp-content/uploads/'.$fudoimg_data; ?>" alt="<?php the_title_attribute(); ?>" width="" height="">
             <?php endif; ?>
           	</a>
       			</dt>
       			<dd class="entryTitle">
       				～～省略～～
       			<dd>
       		</dl><?php //新着のみ表示する場合のみ使用 } ?><!-- /#post-## -->    
       		<?php endforeach; wp_reset_postdata(); ?>
       		</div>
       		<!-- ============================== /bukkenList ============================== -->
       	</div>
       	</section>
       	<!-- ▲END fudo -->
       	<?php endif; ?>
       <?php
       	}
       }
       //var_dump($terms[0]);
       ?>
       ```
   
 * $fudoimg_dataだけでは画像名しか取得できず、年月フォルダの取得が出来ません。
    
   wp_get_attachment_image_srcやwp_get_attachment_urlでも試したのですが、画像URL
   自体取得することも出来ませんでした。 画像のアップロードフォルダは年月別に保存
   されるようになっています。既にブログで大量の画像がアップロードされているので、
   アップロードフォルダを変えるわけにはいきません。
 *     ```
       <?php
       	$upload_dir = wp_upload_dir();
       	$upload_url = ( $upload_dir['url'] );
       ?>
       <?php $fudoimg_data = get_post_meta(get_the_ID(), 'fudoimg1', true); ?>
       <img src="<?php echo $upload_url. '/' .$fudoimg_data; ?>" alt="<?php the_title_attribute(); ?>" width="" height="">
       ```
   
 * 上記のコードも試してみたのですが、fudoimg1の$upload_dir[‘url’]ではなく、何か別
   の$upload_dir[‘url’]を取得してるようで違う年月フォルダのURLが表示されてしまい
   ます。
 * どうしたらfudoimg1の画像URLを取得できるか、どなたかアドバイスいただけませんで
   しょうか？

4件の返信を表示中 - 1 - 4件目 (全4件中)

 *  [ishitaka](https://ja.wordpress.org/support/users/ishitaka/)
 * (@ishitaka)
 * [9年、 1ヶ月前](https://ja.wordpress.org/support/topic/%e4%b8%8d%e5%8b%95%e7%94%a3%e3%83%97%e3%83%a9%e3%82%b0%e3%82%a4%e3%83%b3%e3%81%ae%e7%89%a9%e4%bb%b6%e7%94%bb%e5%83%8f%e3%82%92%e5%9b%ba%e5%ae%9a%e3%83%9a%e3%83%bc%e3%82%b8%e3%81%ab%e8%a1%a8%e7%a4%ba/#post-220407)
 * こんにちは
 * 下記コード（get_attachmentid_by_filename 関数）で添付ファイルの名前から添付ファイル
   の ID を取得することができます。
 * functions.php 等に
 *     ```
       function get_attachmentid_by_filename( $filename ) {
       	$attachment_id = $wpdb->get_var( $wpdb->prepare(
       		"SELECT ID FROM $wpdb->posts WHERE post_type='attachment' AND guid LIKE '%%%s' LIMIT 1;",
       		$filename
       	) );
       	return $attachment_id;
       }
       ```
   
 * 使用例
 *     ```
       $fudoimg1 = get_post_meta( $post_id, 'fudoimg1', true );
       $attachment_id = get_attachmentid_by_filename( $fudoimg1 );
       if ( $attachment_id ) {
       	echo wp_get_attachment_image( $attachment_id, 'full' );
       } else {
       	// 画像なし
       }
       ```
   
 *  トピック投稿者 [しろ](https://ja.wordpress.org/support/users/kitaguni_ht/)
 * (@kitaguni_ht)
 * [9年、 1ヶ月前](https://ja.wordpress.org/support/topic/%e4%b8%8d%e5%8b%95%e7%94%a3%e3%83%97%e3%83%a9%e3%82%b0%e3%82%a4%e3%83%b3%e3%81%ae%e7%89%a9%e4%bb%b6%e7%94%bb%e5%83%8f%e3%82%92%e5%9b%ba%e5%ae%9a%e3%83%9a%e3%83%bc%e3%82%b8%e3%81%ab%e8%a1%a8%e7%a4%ba/#post-220419)
 * ＞ishitakaさん
 * 返信ありがとうございます。早速試してみましたが、うまくいきませんでした。
    デバッグモード
   にしてみたところ、以下のようなエラーでした。
 *     ```
       Notice: Undefined variable: wpdb in /home/xxx/www/xxx/wp-content/themes/sampletheme2017/functions.php on line 202
   
       Fatal error: Call to a member function get_var() on null in /home/xxx/www/xxx/wp-content/themes/sampletheme2017/functions.php on line 202
       ```
   
 * 202行目というと、
 * `$attachment_id = $wpdb->get_var( $wpdb->prepare(`
 * の辺りになるのですが、何かわかりますでしょうか？
 *  [ishitaka](https://ja.wordpress.org/support/users/ishitaka/)
 * (@ishitaka)
 * [9年、 1ヶ月前](https://ja.wordpress.org/support/topic/%e4%b8%8d%e5%8b%95%e7%94%a3%e3%83%97%e3%83%a9%e3%82%b0%e3%82%a4%e3%83%b3%e3%81%ae%e7%89%a9%e4%bb%b6%e7%94%bb%e5%83%8f%e3%82%92%e5%9b%ba%e5%ae%9a%e3%83%9a%e3%83%bc%e3%82%b8%e3%81%ab%e8%a1%a8%e7%a4%ba/#post-220420)
 * おっと、失礼しました！
 * global $wpdb; が抜けてました。
 *     ```
       function get_attachmentid_by_filename( $filename ) {
       	global $wpdb;	// <- 追加
       	$attachment_id = $wpdb->get_var( $wpdb->prepare(
       		"SELECT ID FROM $wpdb->posts WHERE post_type='attachment' AND guid LIKE '%%%s' LIMIT 1;",
       		$filename
       	) );
       	return $attachment_id;
       }
       ```
   
 *  トピック投稿者 [しろ](https://ja.wordpress.org/support/users/kitaguni_ht/)
 * (@kitaguni_ht)
 * [9年、 1ヶ月前](https://ja.wordpress.org/support/topic/%e4%b8%8d%e5%8b%95%e7%94%a3%e3%83%97%e3%83%a9%e3%82%b0%e3%82%a4%e3%83%b3%e3%81%ae%e7%89%a9%e4%bb%b6%e7%94%bb%e5%83%8f%e3%82%92%e5%9b%ba%e5%ae%9a%e3%83%9a%e3%83%bc%e3%82%b8%e3%81%ab%e8%a1%a8%e7%a4%ba/#post-220421)
 * ＞ishitakaさん
 * 返信ありがとうございます。
    無事に画像の取得ができました！ get_the_ID()じゃない
   と上手く取得出来なかったので、一応コードを載せておきます。
 *     ```
       <?php
       $fudoimg1 = get_post_meta( get_the_ID(), 'fudoimg1', true );
       $attachment_id = get_attachmentid_by_filename( $fudoimg1 );
       echo wp_get_attachment_image( $attachment_id, 'medium' );
       ?>
       ```
   
 * 本当にありがとうございました！m(__)m

4件の返信を表示中 - 1 - 4件目 (全4件中)

 トピック「不動産プラグインの物件画像を固定ページに表示させたい」には新たに返信する
ことはできません。

## タグ

 * [画像URL取得](https://ja.wordpress.org/support/topic-tag/%e7%94%bb%e5%83%8furl%e5%8f%96%e5%be%97/)
 * [不動産プラグイン](https://ja.wordpress.org/support/topic-tag/%e4%b8%8d%e5%8b%95%e7%94%a3%e3%83%97%e3%83%a9%e3%82%b0%e3%82%a4%e3%83%b3/)

 * フォーラム: [プラグイン](https://ja.wordpress.org/support/forum/plugins/)
 * 4件の返信
 * 2人の参加者
 * 最後の返信者: [しろ](https://ja.wordpress.org/support/users/kitaguni_ht/)
 * 最後の活動: [9年、 1ヶ月前](https://ja.wordpress.org/support/topic/%e4%b8%8d%e5%8b%95%e7%94%a3%e3%83%97%e3%83%a9%e3%82%b0%e3%82%a4%e3%83%b3%e3%81%ae%e7%89%a9%e4%bb%b6%e7%94%bb%e5%83%8f%e3%82%92%e5%9b%ba%e5%ae%9a%e3%83%9a%e3%83%bc%e3%82%b8%e3%81%ab%e8%a1%a8%e7%a4%ba/#post-220421)
 * 状態: 未解決

## トピック

### 人気のトピック

### 返信がないトピック

### サポート関連ではないトピック

### 解決済みのトピック

### 未解決のトピック

### すべてのトピック
