12.25
2008
メールアドレスをスパムボットに収集されにくくするためのantispambot()関数を、投稿orページ内で使用するにあたり、従来はrunPHPやExecPHPを使用してきたけれど、それを「ショートコード」に置き換え。
以下の関数をwp-content/themes/使用中のテーマ/funcitions.php 内に挿入。
【追記】もし下記を追加後にビジュアルエディタが使えなくなったとしたら、functions.phpを編集した時にUTF-8以外の文字コードで編集した可能性があります。その場合は、UTF-8に適用しなおして、挿入したコードの前後の改行などもいったん削除すると直ります。
あとは、投稿orページの本文で挿入したい部分に
のように記述すればOK。
企業サイトをWordPressで制作する場合、会社概要などにメールアドレスを記述することがあると思う。その時に、スパムボット対策でantispambot()でメールアドレスをHTMLエンティティ化するには、投稿orページ本文の中なので、上記プラグインを使用して本文内でPHPを実行すれば実現できる。が、これらのPHP実行プラグインはビジュアルエディタとバッティングするので、もしクライアントサイドでビジュアルエディタで編集するとPHPのコードが壊れて機能しなくなってしまう。
これをショートコード化すれば、(クライアントがその部分の記述を触らない限り)antispambotは使えるようになります。
メリークリスマス☆
【追記】
今更ながらにショートコードって便利><っと、調子にのって、サイト内リンクを簡単にするために、get_permalink(記事ID)を使えるようにしてみました。
}
add_shortcode(‘link’,'get_permalink_short’); //linkというショートコードが指定されたら上記のget_permalink_short関数を実行する
?>
投稿ページでは
と書くだけで、サイト内の記事ID=1の記事へのリンクを挿入できます。
http://example.com/archives/1/
と書くと
こちらをご覧ください
とすることもできます。
パーマリンク構造やスラッグを変えてもリンクエラーになりません。でもビジュアルエディタ使ってる時は別ウィンドウからリンクテキストをドラッグ&ドロップするだけでリンク貼れるので、手間を省く意味はあまりないかもですw
こんな具合で慣れてしまえば仕組みは一緒なので、投稿ページ内で使いたい関数があったらぜひ自作ショートコード作成にチャレンジしてみては?プラグインづくりのトレーニングにもなるかも。
| 日 | 月 | 火 | 水 | 木 | 金 | 土 |
|---|---|---|---|---|---|---|
| « 5月 | ||||||
| 1 | 2 | 3 | 4 | |||
| 5 | 6 | 7 | 8 | 9 | 10 | 11 |
| 12 | 13 | 14 | 15 | 16 | 17 | 18 |
| 19 | 20 | 21 | 22 | 23 | 24 | 25 |
| 26 | 27 | 28 | 29 | 30 | ||
[...] うなんですが、簡単に使う方法が見つかりました。 [...]