質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.50%
WordPress

WordPressは、PHPで開発されているオープンソースのブログソフトウェアです。データベース管理システムにはMySQLを用いています。フリーのブログソフトウェアの中では最も人気が高く、PHPとHTMLを使って簡単にテンプレートをカスタマイズすることができます。

PHP

PHPは、Webサイト構築に特化して開発されたプログラミング言語です。大きな特徴のひとつは、HTMLに直接プログラムを埋め込むことができるという点です。PHPを用いることで、HTMLを動的コンテンツとして出力できます。HTMLがそのままブラウザに表示されるのに対し、PHPプログラムはサーバ側で実行された結果がブラウザに表示されるため、PHPスクリプトは「サーバサイドスクリプト」と呼ばれています。

Q&A

解決済

2回答

9986閲覧

wordpressでカスタム投稿が1件もない場合トップページの要素を削除する

soma

総合スコア53

WordPress

WordPressは、PHPで開発されているオープンソースのブログソフトウェアです。データベース管理システムにはMySQLを用いています。フリーのブログソフトウェアの中では最も人気が高く、PHPとHTMLを使って簡単にテンプレートをカスタマイズすることができます。

PHP

PHPは、Webサイト構築に特化して開発されたプログラミング言語です。大きな特徴のひとつは、HTMLに直接プログラムを埋め込むことができるという点です。PHPを用いることで、HTMLを動的コンテンツとして出力できます。HTMLがそのままブラウザに表示されるのに対し、PHPプログラムはサーバ側で実行された結果がブラウザに表示されるため、PHPスクリプトは「サーバサイドスクリプト」と呼ばれています。

0グッド

1クリップ

投稿2017/05/25 10:01

お世話になります。
Wordpressにてカスタム投稿を使用してお客様の声を実装したく思っており、カスタム投稿・ページ自体は作成いたしました。

トップページにカスタム投稿の一覧を3件表示させたいです。カスタム投稿が0件の場合にトップページの項目自体を非表示にしてしまいたいのですが、どの解説サイトを見てもいまいちよくわかりませんでした。

下記がトップページのコードです。
カスタム投稿が0件の場合に<section>ごと削除してしまいたいと思っていますがPHPの知識もあまりなく、うまくできず困っております。

どうかご教授いただけますと幸いでございます。
何卒よろしくお願いいたします。

PHP

1<section id="top-voices"> 2 <h2>お客様の声</h2> 3<?php 4 $loop = new WP_Query(array("post_type" => "voices",'posts_per_page' => 3,)); 5 if ( $loop->have_posts() ) : while($loop->have_posts()): $loop->the_post(); 6?> 7<div class="voices"> 8 <span class="voice-title"><?php the_title(); ?></span> 9 <div class="voice-right"> 10 <?php the_post_thumbnail(); ?> 11 <?php 12 if(get_post_meta($post->ID,'お名前',true)){ 13 echo '<small class="cs-name">'.get_post_meta($post->ID,'お名前',true).'</small>'; 14 } 15 ?> 16 </div> 17 <div class="voice-left"> 18 <p><?php the_content(); ?></p> 19 </div> 20 </div> 21<?php endwhile;?> 22<span class="csvoice-more"></span> 23<a href="voices/" class="btn"><span class="fa fa-chevron-right"></span>お客様の声一覧をみる</a> 24 <?php endif;?> 25 </section>

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答2

0

ベストアンサー

カスタム投稿の記事がなければ、<section></section>を表示しないようにするには、
以下のコードでどうでしょうか。

php

1<?php 2 $loop = new WP_Query(array("post_type" => "voices",'posts_per_page' => 3,)); 3 if ( $loop->have_posts() ) : 4?> 5<section id="top-voices"> 6 <h2>お客様の声</h2> 7<?php while($loop->have_posts()): $loop->the_post(); 8?> 9<div class="voices"> 10 <span class="voice-title"><?php the_title(); ?></span> 11 <div class="voice-right"> 12 <?php the_post_thumbnail(); ?> 13 <?php 14 if(get_post_meta($post->ID,'お名前',true)){ 15 echo '<small class="cs-name">'.get_post_meta($post->ID,'お名前',true).'</small>'; 16 } 17 ?> 18 </div> 19 <div class="voice-left"> 20 <p><?php the_content(); ?></p> 21 </div> 22</div> 23<?php endwhile;?> 24<span class="csvoice-more"></span> 25<a href="voices/" class="btn"><span class="fa fa-chevron-right"></span>お客様の声一覧をみる</a> 26</section> 27<?php else: ?> 28 記事はないよ //記事が無い場合の表示。 29<?php endif;?>

投稿2017/05/25 11:12

8-0_nyan5

総合スコア2352

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

soma

2017/05/25 12:28

ありがとうございます!(^^) 解決しました!
guest

0

PHP

1<?php 2 $loop = new WP_Query(array("post_type" => "voices",'posts_per_page' => 3,)); 3 if ( $loop->have_posts() ) : while($loop->have_posts()): $loop->the_post(); 4?> 5<section id="top-voices"> 6 <h2>お客様の声</h2> 7 <div class="voices"> 8 <span class="voice-title"><?php the_title(); ?></span> 9 <div class="voice-right"> 10 <?php the_post_thumbnail(); ?> 11 <?php 12 if(get_post_meta($post->ID,'お名前',true)){ 13 echo '<small class="cs-name">'.get_post_meta($post->ID,'お名前',true).'</small>'; 14 } 15 ?> 16 </div> 17 <div class="voice-left"> 18 <p><?php the_content(); ?></p> 19 </div> 20 </div> 21 <?php endwhile;?> 22 <span class="csvoice-more"></span> 23 <a href="voices/" class="btn"><span class="fa fa-chevron-right"></span>お客様の声一覧をみる</a> 24</section> 25<?php else : ?> 26ないよー! 27<?php endif;?>

投稿2017/05/25 11:15

kei344

総合スコア69364

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.50%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問