PHP(またはHTML)の中にPHPを入れる。波カッコの途中でもマークアップして解決。

お知らせ

WordPressは、PHPプログラムを使用したコンテンツの表示が行われているため、カスタマイズするには多少の知識が必要となる場合が多いでしょう。

とはいえ、PHPプログラムは、htmlと相性がよい言語であるため、htmlの途中に「1行だけPHPプログラムを挿入する」といった事が可能です。

例として、

ページタイトルの内容をPHPで表記したり…

<title><?php bloginfo('name'); ?></title>

クラスを動的に出力したり…

<body <?php body_class(); ?>>

記事の投稿時刻を表示したり…

<time datetime="<?php the_time("Y-m-d"); ?>"><?php the_time("Y年m月d日(l)"); ?></time>

と、htmlと仲良く出来るんです。php言語が良く分からない方も取り組みやすいのはこのためだと思います。

ネット上の便利な情報を見つけては部分的にプログラムを取りこんでカスタマイズされる方も多いのではないかな~と思います。

波カッコを使ったPHP記述は初心者には難しく見える!

こんな風に便利なHTML&PHPですが、記述法によっては初心者は戸惑います。

困った時のみんなの教科書「WordPressCodex」ではWordPressのあらゆる情報が記載されていますが、あまり初心者向きとは言えない書き方でもあります。(日本語自体少しヘンですし)

例えば…

if ( is_home() || is_single() ) {
the_content();
}
else {
the_excerpt();
}

と記述する場合ですが、これをいきなりhtmlの中に記述したら「エラー」が返ってくるハズ…。「PHP言語だよー」という印を付けなくてはいけません。

文章の最初と最後にそれぞれ「<?php」と「; ?>」を付ければ解決です。

こんな風です。

<?php
if ( is_home() || is_single() ) {
the_content();
}
else {
the_excerpt();
}
?>

でもこれはどうしたらいいでしょう。PHP言語の中にPHP言語を入れてしまっています。このままではまたまたエラーになります。

<?php 
if ( is_home() ){//トップページで表示したいタイトル
echo "<title>ほにゃららら</title>";
}else {//トップページ以外で表示したいタイトル
echo "<title><?php bloginfo('name'); ?></title>";
}
?>

この場合は途中をマークアップして、html文が入れられるようにします。

<?php 
if ( is_home() ){//トップページで表示したいタイトル
echo "<title>ほにゃららら</title>";
{?>
<title><?php bloginfo('name'); ?></title>
<?php } ?>

こうですね!

少し難しかったかもしれませんが、波カッコ{ }を使った表記でも、途中でマークアップしてhtml文を挿入できる。そうすると、さらに柔軟にphp文も挿入することが出来る!というお話でした。

お役にたてれば幸いです。


Sponserd Links

Midori Design Works © 2016 All Rights Reserved.

Midori Design Works ミドリデザインワークス