カスタムフィールドテンプレートでアップロードしたZIPファイルの出力方
-
このたびはお世話になります。
プラグイン「カスタムフィールドテンプレート」を使っています。
---------------------------------
[zip01]
type = file
label = ZIPファイル(1つ目)[zip02]
type = file
label = ZIPファイル(2つ目)
---------------------------------上記のような形でZIPファイルをアップロードするために
カスタムフィールドテンプレートに設定をしています。そして、POSTの投稿画面からアップロードしたZIPファイルを
以下のコードでsingle.phpに出力が出来ることは確認できました。(以下のURLを参考にしました)
http://ja.forums.wordpress.org/topic/8434?replies=10<?php $files01 = get_post_meta($post->ID, zip01, false); foreach($files01 as $file01): $file01 = wp_get_attachment_url($file01); if ( !empty( $file01 ) ) : ?> <a href="<?php echo $file01 ?>" target="_blank">zip01ダウンロードリンク</a> <?php endif; endforeach; ?>
ただ、POST投稿時にZIPファイルをアップロードしなかったエントリーに関しては
「zip01ダウンロードリンク」ではなく、
「zip01ファイルは準備中です」のようなメッセージを表示させたいと思っています。そこで以下の様なコードをsingle.phpに入れてみましたが、
zip01ファイルをアップロードしていないエントリーに関しては、
「zip01ファイルは準備中です」と出ずに空白となってしまいます。<?php $files01 = get_post_meta($post->ID, zip01, false); foreach($files01 as $file01): $file01 = wp_get_attachment_url($file01); if ( !empty( $file01 ) ) : ?> <a href="<?php echo $file01 ?>" target="_blank">zip01ダウンロードリンク</a> <?php else : ?> zip01ファイルは準備中です <?php endif; endforeach; ?>
何分PHPに関して素人のようなもので修正方法がわかりません。
どのようにコードを修正すれば良いのか、お教えいただければ幸いです。どうぞよろしくお願いいたします。
2件の返信を表示中 - 1 - 2件目 (全2件中)
-
カスタムフィールドテンプレートの定義がそのようになっているなら、
get_post_meta($post->ID, zip01, false);
とするのはおかしいです。第3引数の意味を調べてみましょう。
<?php $file01 = get_post_meta($post->ID, 'zip01', true); if ( !empty( $file01 ) ) : $file01 = wp_get_attachment_url($file01); ?> <p><a href="<?php echo $file01 ?>" target="_blank">zip01ダウンロードリンク</a></p> <?php else : ?> <p>zip01ファイルは準備中です</p> <?php endif; $file02 = get_post_meta($post->ID, 'zip02', true); if ( !empty( $file02 ) ) : $file02 = wp_get_attachment_url($file02); ?> <p><a href="<?php echo $file02 ?>" target="_blank">zip02ダウンロードリンク</a></p> <?php else : ?> <p>zip02ファイルは準備中です</p> <?php endif; ?>
2件の返信を表示中 - 1 - 2件目 (全2件中)
- トピック「カスタムフィールドテンプレートでアップロードしたZIPファイルの出力方」には新たに返信することはできません。