2018年08月01日
Docker for Mac を使って WordPress の...
2018年07月29日
Docker for Mac のインストール
2018年07月08日
Docker 便利コマンドあれこれ
2018年07月08日
オライリーの Docker 本(Docker Up &...
2018年07月05日
iPad mini 2 を購入しました
2018年07月04日
Docker で Jenkins するときのあれこれ

HOME > カテゴリ(WordPress)の記事

WordPress の記事抜粋( the_excerpt() ) を <head> タグ内で使う場合の注意点



ページの上段に、文字列のゴミが出ちゃったりしている人はいませんか?普通に the_excerpt() を使うとゴミが出ちゃうことも・・・。

WordPress の記事抜粋は the_excerpt() で出力できますが、<head>タグ内で使いたい場合があります。

たとえば、META タグの <meta name=”description”> とか。OGP の<meta property=”og:description” ?>” />とか。

ただ、ページの説明として記事抜粋を使う事は理に叶っていると思いますが、普通に、WordPress のテンプレートタグ( the_excerpt() )を使って、


と、出力すると不具合が出る場合があります。

どんな場合に不具合が出るのか?

記事抜粋内で <a> タグなどの HTML タグを使用している場合に不具合が出ます。例えば、

昨日に続いて MacBook Air のレビューをお届けします。

のような記事抜粋にしてると NG。

この例では「昨日」に昨日書いた記事へのリンクがついてますが、このように記事抜粋に何等かしらの HTML タグが付いていると、出力される META タグが、

昨日に続いて MacBook Air のレビューをお届けします。" />

のようになってしまうため、意図しない場所で”(ダブルクォーテーション)が閉じられてしまいます。

この場合は、href= の後ろの”で content= が閉じられちゃう。

その結果、画面の上部に意図せず閉じられた「”」以下の文字列が表示されてしまったり・・・。

また、”(ダブルクォーテーション)を使わないタグであっても、タグがそのまま出力されちゃうのでよろしくない。

strip_tags() を使えばオッケー

記事抜粋の中で HTML を一切使わないようにすれば良い訳ですが、そりゃリンクを張りたい場面だってある訳で、さらに過去記事の記事抜粋で HTML タグを使ってたりすると、過去の記事をイチイチ修正するのもメッチャ手間。

そこで登場するのが PHP の関数 strip_tags() です。

この関数は引数に渡した文字列から HTML タグを除去してくれます。なので、


ではなくて、


としてあげれば、記事抜粋の HTML タグが除去されて、ちゃんと


注意する点は、strip_tags() に渡す引数は、the_excerpt() ではなくて get_the_excerpt() を渡してあげる必要があります。

参考:テンプレートタグ/the excerpt – WordPress Codex 日本語版
参考:get_the_excerpt:WordPress私的マニュアル

また、「echo」を付けてあげないと何も出力してくれません。

ということで、今は記事抜粋で HTML タグなんか使ってないもんねー、な人でも今後記事抜粋に HTML タグを書きたくなっちゃう場面も出てくると思うので、記事抜粋( the_excerpt() )を <head>タグとかで使っている場合はとりあえず strip_tags() しておけば安心だと思います。

でわでわ。





「WordPress の記事抜粋( the_excerpt() ) を <head> タグ内で使う場合の注意点」に頂いたコメント

  1. […] 参考: ・「the_excerpt()」をカスタマイズ[WordPress] ・WordPress の記事抜粋( the_excerpt() ) を <head> タグ内で使う場合の注意点 |… ほとんど、上記の参考にしたソースのままです。 […]

この記事にコメントする





Copyright © 2012 - 2013 MacBook Air とWordPressでこうなった All rights reserved
Designed by Theme Junkie. Powered by WordPress.