• 解決済 wimaru

    (@wimaru)


    カスタムフィールドに入力したPDFファイルのURLを取得したいのですが、
    1つ目は取得できても、2つ目以降が取得できません。
    理由が分からず悩んでおります。
    どなたかご教授いただければ助かります。
    よろしくお願いいたします。

    =以下コード=

    <?php
    global $wpdb;
    $query = "SELECT meta_id,post_id,meta_key,meta_value FROM $wpdb->postmeta WHERE post_id = $post->ID ORDER BY meta_id ASC";
    $cf = $wpdb->get_results($query, ARRAY_A);
    
    $pic_f		 = array();
    $plan_pdf	 = array();
    
    foreach( $cf as $row ){
    
    	if( $row['meta_key'] == "b_photo2" ){
    		array_push( $pic_f, $row['meta_value'] );
    
    	}
    
    	if( $row['meta_key'] == "p_pdf" ){
    		array_push( $plan_pdf, $row['meta_value'] );
    	}
    
    }
    
    $length	 = count( $pic_f );
    
    //表示
    
    for( $i = 0; $i < $length; $i ++ ){
    
    			$title = the_title('','',false);
    			$plan_pdf	= wp_get_attachment_url($plan_pdf[$i]);
    			$large_thum = wp_get_attachment_image_src($pic_f[$i],'gallery_thumb');
    			$byte 	   = strlen(($large_thum)) / 2;
    		if ($byte > 0){
    			echo  "<a href=\"" . $plan_pdf . "\" target=\"_blank\"><img src=\"" . $large_thum[0] . "\"alt=" . $title . "></a>\n";
    		}
    
    }
    
    ?>

3件の返信を表示中 - 1 - 3件目 (全3件中)
  • こんにちは、

    http://wpdocs.sourceforge.jp/%E9%96%A2%E6%95%B0%E3%83%AA%E3%83%95%E3%82%A1%E3%83%AC%E3%83%B3%E3%82%B9/get_post_meta

    get_post_meta の 3番目の引数をfalseにして、配列で受け取るという事ではダメなんですか?

    トピック投稿者 wimaru

    (@wimaru)

    >>nobita 様
    こんにちわ。ご助言ありがとうございます。

    カスタム投稿のシングルページでデータを読み込んでいるのですが、
    ファイルのアップ数が固定ではなく、カスタムフィールドのほうで増やせる設定にしております。ですので、繰り返しの回数を$lengthで数を数える必要があり、DBから直接拾ってきております。(説明不足ですいません。

    もっといい方法があるのでしょうか?

    トピック投稿者 wimaru

    (@wimaru)

    PDF、画像とも変数に入れるのをあきらめて、
    <a href=\"" . get_attached_file($plan_pdf[$i]) . "\" target=\"_blank\">"
    としたところ、取得してくれました。

    とりあえず自己解決といたします。
    ありがとうございました。

3件の返信を表示中 - 1 - 3件目 (全3件中)
  • トピック「DBからカスタムフィールドのファイルURLの取得」には新たに返信することはできません。