コードスニペットの管理に便利な「Post Snippets」
電話番号やメールアドレスなど、複数のページで同じテキストを使う場合に重宝しますよね。
内容に変更があった時にも、管理画面からスニペットを編集すればいいのでとても便利です。
表示させたい場所にショートコードを書くだけでとても簡単なのですが、スニペットの中身が未入力だと、ショートコードがそのまま出力されてしまうんですね。
これを逆手にとって、「変なショートコードが出てたら入力漏れがあるぞ」という風に確認に使えるし、それはそれで良いかなぁと思ったりもするのですが、それじゃマズイ場合もあります。
入力があったら表示する、未入力なら何も表示しない、そういう潔い感じがいい!
そういうときの為の、ザックリとした対処法です。
“hoge” という名前で登録した場合…
$hogehoge = do_shortcode('[hoge]'); if ($hogehoge == "[hoge]") { echo ""; } else { echo $hogehoge; }
ショートコードの代わりに、このコードを書いてみてください(hoge は適宜書き換えてくださいね)。これで、hoge が未入力なら何も表示されなくなります。
最初、empty が思い浮かびましたが、空じゃなくてショートコード(と同じ文字列?)が入ってるんですよね…。
そして、潔くしたいのが1コだけならコレで良いかも知れませんが、全部潔くしたい場合はfunction.php とかで正規表現とか使ってフィルターする感じになるんでしょうかね…。