wordpressのカスタムフィールドで条件分岐したいです。
プラグインはAdvanced Custom Fieldsを使っています。
内容としましては動画のフィールドに項目がある場合は動画を表示させて、動画が無い場合は画像を表示させたいです。
どんな方法があるでしょうか?
<div class="clearfix"> <?php query_posts( $args ); ?> <?php if (have_posts()) : ?> <?php while (have_posts()) : the_post(); ?> <div class="works"> <?php $youtube = get_post_meta($post->ID, 'youtube', true); ?> <?php if(!empty($youtube)):?> <div class="VideoWrapper"> <?php echo $embed_code = wp_oembed_get( get_field('youtube') ); ?> </div> <?php else:?> <div class="worksImg"> <img src="<?php echo $img['url']; ?>" alt="<?php echo $img['alt']; ?>" /> </div> <?php endif; ?> <div class="worksIco"> <h3><?php echo post_custom('crient'); ?></h3> <p><?php echo post_custom('content'); ?></p> </div> </div> <?php endwhile; ?> <?php else : ?> <h1>記事がありません</h1> <p>表示する記事はありませんでした。</p> <?php endif; ?> </div><!-- /clearfix -->
追記のコード↓
<?php // ループ条件を設定 $args = array( 'post_type' => array ('graphic','video','web'), /* 投稿タイプを指定 */ 'paged' => get_query_var( 'paged' ) ? intval( get_query_var( 'paged' ) ) : 1, 'posts_per_page' => 10, // 表示件数 'order' => 'date', 'order' => 'DESC', ); ?> <div class="clearfix"> <?php query_posts( $args ); ?> <?php if (have_posts()) : ?> <?php while (have_posts()) : the_post(); ?> <div class="works"> <?php $youtube = get_post_meta($post->ID, 'youtube', true); ?> <?php if(!empty($youtube)):?> <div class="VideoWrapper"> <?php echo $embed_code = wp_oembed_get( get_field('youtube') ); ?> </div> <?php else:?> <?php $img = get_field('img'); if( !empty($img) ): ?> <div class="worksImg"> <img src="<?php echo $img['url']; ?>" alt="<?php echo $img['alt']; ?>" /> </div> <?php endif; ?> <div class="worksIco"> <h3><?php echo post_custom('crient'); ?></h3> <p><?php echo post_custom('content'); ?></p> </div> </div> <?php endwhile; ?> <?php else : ?> <h1>記事がありません</h1> <p>表示する記事はありませんでした。</p> <?php endif; ?> </div><!-- /clearfix -->
質問文のコードはそれぞれコードブロックで囲んでいただけませんか? ```(バッククオート3つ)で囲み、前後に改行をいれるか、コードを選択して「<code>」ボタンを押すとコードブロックになります。また、「何」が「どのように」わからないのか、コードのどの部分で詰まっているのかなどを具体的に追記されたほうが回答が望めると思います。
編集しました!ご教示いただきありがとうございましたm(_ _)m
「動画のフィールドに項目がある場合は動画を表示させて、動画が無い場合は画像を表示させたい」がしたいことで「youtube(動画)の部分だけ出力されていて、img(画像)の中身が空の状態 」ならできているのでは?
えっと、、、動画が空の場合はimg(画像)を出力したいのです。。。
patapata1234さんの前にあるコードや環境について、こちらには情報がありません。そのページに動画が正しく設定されているか、画像が設定されているかの情報も無い状態です。また、先ほど書かれていた画像($img)を取得するコードが削除されていますが、どういう意図で削除されたのでしょうか。
回答1件
あなたの回答
tips
プレビュー