こんにちはゲストさん。会員登録(無料)して質問・回答してみよう!

解決済みの質問

WordPress 条件分岐がうまくいかない

それぞれの投稿ページのデザインとレイアウトを別々にしたいため、条件分岐によってデザインを変えるようにしたいです。
single.phpをコピペし、以下のように作成。
single-magazine.php(マガジン用)
single-photogallery.php(フォトギャラリー用)
single-information.php(お知らせ用)

single.phpの中身を以下に記述。
<?php
if ( in_category('magazine') ) { //マガジン
get_template_part( 'single-magazine' , false );

}
elseif ( in_category('photogallery') ) { //フォトギャラリー
get_template_part( 'single-photogallery' , false );

}
elseif ( in_category('information') ) { //お知らせ
 get_template_part( 'single-information' , false );

}else
{ //それ以外の場合
get_template_part( 'single-normal' , 'normal');
}
?>

結果はマガジンとフォトギャラリーは表示できましたが、お知らせだけ表示せず真っ白のままです。
HTMLソースも空っぽでした。
上記のコードに間違いがありましたら教えてください。
よろしくお願いします。

投稿日時 - 2019-01-19 12:42:25

QNo.9579242

困ってます

質問者が選んだベストアンサー

PHP構文的には何も問題無いので、単純に「お知らせ('information')」の時に呼び出されているテンプレートPHPの方に何か問題があると思われます。

単純に single.php をコピペしただけとの事ですが、恐らくその際に single-information.php のみコピペミスがあったのでは?文字コードや改行コード、BOMの有無などを再確認してみてください。

P.S.
特定の条件を引いたときのみ結果が真っ白になるて事は、その前段階までは特にPHP的には問題が無い事の証明でもあります。エラーでは無く、真っ白空白のページ結果になる場合、ほとんどの場合はBOM付きか文字改行コードの不具合である事が多いです。

また当人は気付いてないだけで、PHPファイル内に何時の間にか "半角スペース以外の空白文字" が紛れ込んでいる場合も多いので要チェックです。今回の様に元ソースからコピペしてファイルを複製した場合、特にweb記事などからコピペして来た場合などに良く見られる症状です。

投稿日時 - 2019-01-19 13:06:12

お礼

ありがとうございます。
チェックしましたところ、空白文字が原因のようでした。
お陰様で解決できました。

投稿日時 - 2019-01-19 23:16:41

ANo.1

このQ&Aは役に立ちましたか?

0人が「このQ&Aが役に立った」と投票しています

回答(1)

あなたにオススメの質問