さむいですね。

先日、世界キャラクターさみっとへ片道3時間半かけて朝いちで行ってきました。
もちろんひとりです。楽しかったです。まりぞーですヽ(゜ω゜)ノ
モンハン4Gが一段落したので、そろそろ違うゲームにハマりたい今日この頃です。

ソニックムーブ Advent Cakendar 2014 19日目の記事です。よろしくお願いします。

というわけで先日、Wordpressの関数が紹介されている記事を見かけまして

10 Useful WordPress Functions You Might Not Know About

見落としがちなもんでやんすね!
日本語版の関数リファレンスを見ても殆ど記事がないですしおすし。

プラグインを入れなくても、functions.phpをちょろりといじれば実装できる機能とか、結構あるんですよね。
そこでですね、(私が)こりゃ便利!(私が)知らなかった!的な関数をご紹介します。
WordPress 4.0.1では動作確認しましたが、他のバージョンでは書き方が異なっていたりサポートされていないかもしれないので、ご注意をば…。

Antispambot()

記載されているメールアドレスをスパムボットから守るために、HTMLエンティティに変換します。

定義箇所はformatting.phpにあります。

基本的には

だけで表示できます。変換方法の指定もできます。
だがしかし!ビジュアルエディタ等のプラグインと相性がよろしくないようなので、実際に利用するときにはショートコードに設定してあげると誤動作が防げるようです。

まずはfunctions.phpに下記を追加します。

そして記事の編集画面で下記を入力します。

mailにメールアドレス、textにリンクを貼りたいテキストを入れます。

展開されたソースを見てみると

ちゃんと変換されてました。ヤッター!
部分的に変換することで、表示されるたび異なる結果にしているようですね。

ちなみに、リンクをクリックすると

01_antispambot

メーラーが起動して、正しくメールアドレスが表示されました。

参考URL

Human_time_diff()

時間差を「2日前」や「5分前」のように、相対的に表現します。

定義箇所はformatting.phpにあります。

とりあえずCodexのソースをコピペしてみます。

02_time_01

6日 AGOになりましたが、ちょいとおしゃれすぎるので

02_time_02

これでよし。

参考URL

balanceTags()

閉じていないタグを調整し、出力します。

定義箇所はformatting.phpにあります。

美し…くはないです。

参考URL

Wpautop()

投稿画面のエディタのように、改行部分に自動でタグを挿入してくれます。

定義箇所はformatting.phpにあります。

逆にエディタの自動改行や段落の挿入を無効化させたい場合は、functions.phpに以下を追加します。

参考URL

wp_is_mobile()

モバイル端末(ガラケー・スマホ・タブレット)でアクセスしたときの処理を指定できます。

定義箇所はvars.phpにあります。

PCでの表示

05_mobile_01

PC以外での表示

05_is_mobile02

タブレットとPCを同じ表示にしたいときや、さらに細分化したいときなどは、関数を自作する必要があるようです。
あるいはプラグインを利用する方が良いかもしれません。

そのあたりの詳細は参考URLまで☆ミ

参考URL

wp_redirect()

リダイレクト処理を指定できます。

定義箇所はpluggable.phpにあります。

wp_redirect()

何がなんでもリダイレクトします。

wp_safe_redirect()

URLが有効か確認してからリダイレクトします。

とりあえず使ってみる

下記をfunctions.phpに追加すると、404ページではサイトトップに飛ばされるようになります。

参考URL

さいごに

私が知らない関数の備忘録、いかがでしたかね。

Wordpressに限ったことではないですが、いろんな機能が廃止になったり追加されたりで忙しいので追いつくのが難しいです(゜ω゜)

常にアンテナ張りつつ情報整理しつつ、お勉強がんばりましょー。
ガンバルゾー!ガンバルゾー!(゜ω。)

あわせて読みたい記事