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

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

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

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

PHP

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

Q&A

解決済

2回答

827閲覧

if文の中の{ }ではphpコードを入れられないのでしょうか?

snafkin

総合スコア9

WordPress

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

PHP

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

0グッド

1クリップ

投稿2020/12/14 01:46

編集2020/12/14 02:57

前提・実現したいこと

初めて質問させていただきます。
Wordpressの固定ページにカテゴリー別のリストを表示させたいと思っていて、スマホの場合はアイキャッチを別にしたいと思い、いろいろと調べた結果、以下のようにしたら無事に表示されるようになりました。

<div class="cate_list"> <a href="<?php the_permalink(); ?>"> <?php if ( is_mobile() ) : ?> <?php the_post_thumbnail('thumbnail') ; ?> <?php else: ?> <?php the_post_thumbnail('medium') ; ?> <?php endif; ?> </a>

if文の勉強のために、別の表現ができるかどうか試してみたのですが、以下のようにしたら全く表示されなくなりました。

該当のソースコード

<div class="cate_list"> <a href="<?php the_permalink(); ?>"> <?php if ( is_mobile() ) { <?php the_post_thumbnail('thumbnail') ; ?> } else { <?php the_post_thumbnail('medium') ; ?> } ?> </a>

試したこと

上記のif文の中にある{}の中にphpコードを入れても動かないのでしょうか?
超基本的な質問だと思うのですが、どこを調べても出てこなかったので、質問させてください。
if文の学習のためにも知っておきたいと思います。よろしくお願いします。

補足情報(FW/ツールのバージョンなど)

ここにより詳細な情報を記載してください。

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

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

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

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

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

miyabi_takatsuk

2020/12/14 01:50

> 動かないのでしょうか? 試してみたのでしょうか?
m.ts10806

2020/12/14 02:03

コードはマークダウンのcode機能を利用してご提示ください
snafkin

2020/12/14 02:40

miyabi_takatsuk様 ありがとうございます。試してみましたが、そのページすべてが真っ白になってしまいました。 m.ts10806様 失礼しました。code機能を使うようにします。ありがとうございました。
m.ts10806

2020/12/14 02:48

質問は編集できます。いつ来るかわからない次回に回すと忘れるものなので、今回から対応願います。
snafkin

2020/12/14 02:58

編集できることを知りませんでした。修正してみました。ありがとうございました。
guest

回答2

0

ベストアンサー

<?PHP」を「?>」で閉じずにさらに「<?PHP」でつなぐことは文法上おかしいです

PHP

1<?PHP $a=1;?> 2<?PHP if($a==1){ ?> 3OK 4<?PHP }else{ ?> 5NG 6<?PHP }?>

投稿2020/12/14 01:55

yambejp

総合スコア116720

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

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

snafkin

2020/12/14 02:53

ありがとうございます。理解しました。 ただ、閉じずに <?php if ( ){ } else { } ?>と書けると習ったので、この場合{ }の中をどのように表記するのか知りたいと思いました。 <?php the_post_thumbnail('thumbnail') ; ?>で出力される内容はどのように表記すればいいのでしょうか? それとも、そもそも<?php if ( ){ } else { } ?>という形式では無理なので、 <?php if ( is_mobile() ) : ?> <?php else: ?> <?php endif; ?>という形式しか表記できないのでしょうか?
yambejp

2020/12/14 03:02

環境が違うのでなんともいえませんが <div class="cate_list"> <a href="<?php the_permalink(); ?>"> <?php if ( is_mobile() ) { the_post_thumbnail('thumbnail') ; } else { the_post_thumbnail('medium') ; } ?> </a> </div> 的な処理では? 「the_post_thumbnail」の仕様次第ですが・・・
snafkin

2020/12/14 06:15

yambejp様 できました!単純に<?php と ?>を外せばよかったんですね。 おかげでif文も少し理解が深まりました。お忙しい中、ありがとうございました。
guest

0

PHPはPHPタグ内のコードをPHPとして実行します。
それ以外はすべて文字列として出力されるだけです。
そのあたり「基本的なこと」としてPHPマニュアルにも記載があるので確認してください。

投稿2020/12/14 01:54

m.ts10806

総合スコア80875

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

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

snafkin

2020/12/14 03:02

ありがとうございます。 上のご回答でもコメントしましたが、if文は難しいです。
m.ts10806

2020/12/14 03:05

1つずつ分解していったほうが理解しやすいと思います。 PHPタグが途中で切られてて難しいなら全体PHPタグで囲って出力のところだけ明示的にecho書くとか、「自身が理解しやすくなる状態」に変換してみてはどうでしょう。
snafkin

2020/12/14 06:18

分かりました。そのようにしたいと思います。 今は言語を少しずつ理解しているところですが、分かってくると自信がついてきます。 アドバイスありがとうございました。
m.ts10806

2020/12/14 06:55

Wordpressはあくまで「WordpressのPHP」なので、言語理解を進めたいのでしたらWordpressからは一旦離れたほうが良いです。 私の肌感覚ですが、「PHPは分かるけどWordpressは分からない」という人のほうが多いと思います。 Wordpress質問の回答率の低さが物語っています。中には「Wordpressの質問にPHPタグを入れないでほしい」と感じている回答者もいるとか。(私もそれに近い思いはあります)
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.35%

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

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

質問する

関連した質問