WordPressでもマクロが必要…だよね?

WordPress

根が横着なせいか、同じ作業を何度も繰り返したりするのが嫌だ。Webページを作るときも「同じような内容」は一度書いて使い回したいし、オリジナルを変更したら自動的にコピー先の全てが変更されて欲しい。目次のような項目は自動的に作成して欲しいし、内容を変更したら目次も自動的に変更されて欲しい。
(だからワープロソフトよりもTeXのような清書環境が好きだ)。

無料Webサービスを提供してくれるサイトは多く存在するが、上記のような要望をかなえてくれるところは極めて少ない。さらに独自ドメインがちゃんと使えて、データ移行できるところとなると限られてくる。仕方がないので未だに自前サーバーを持って、コツコツとプログラムを追加しているわけだ…… この手の需要は少ないのだろうか?

Webサイト全体のテンプレート機能だったり、ガジェットのような部品の提供も省力化につながって、もちろん、それはそれで大事なんだけど、それだけでいいのかなあと思ったりもする。

例: amazonアフィリエイト埋め込みマクロ

以前「WordPress用Amazonアフィリエイト用マクロを書いてみた」にて紹介したWordPress用マクロ。

このマクロは、[[amazon2][4873116783][4873113644][4873117860][4873117585]]のように書くと、次のように単品リンクを並べる。簡単に書けることも大事だけど、「将来万一データ移行するときにHTMLを解析しなくてもマクロ部分がわかる」とか、「見栄えやアフィリエイトIDの変更箇所を局所化できる」のが便利だと自分では思ってる。同じようなマクロはWiLiKi用も作っておりこれも便利に使ってる。

今どきは shortcode の方がいいのだろうけど、資産が多すぎてマクロから抜けられない……

頻繁に参照するページへのリンクを生成するマクロ

Wikipediaをソースとして引用することがたびたびあるため、[[wikipedia][マクロ言語]]と書くとマクロ言語に展開されるようにしてる。自分のWikiなら[[wiliki][沖縄の昔の写真]]が沖縄の昔の写真になる。

最近はブログカードを使って参照することも多いけど、ちょっと用途が違うんだよな。

例:WiLiKiの目次作成マクロ、別ページ引用マクロ

これは元々WiLiKiにある機能なんだけど。ページ内の<h1>や<h2>などの見出し要素を並べてページ内に展開してくれる。ヨーロッパ各地で放射性ヨウ素検出のページ内にある目次はそうやって作っている。
(詳細はWiLiKi:リファレンスマニュアル:マクロ:Readerマクロ参照)

WordPressにも同様のことをしてくれるプラグインはあるようだ (Table of Contents Generator WordPress plugin )が、今ひとつ趣味に合わないので使っていない。必要になったら perl で処理している。

共通の文章の使い回し

複数の記事内で共通の文書を使い回したいことがある。例えば連載記事の目次を各記事の末尾に入れたいとか、著作権等に関わる定型文を入れたいとか。

このようなときには AdRotate も使える。AdRotate は本来は広告表示用の plugin だが、広告以外の文章を入れることもできる。意外に便利。日付指定ができるので、指定日を過ぎたら内容を自動変更することもできる。

普通に使うならPost Snippetsかな。

複数の実装を切り替えたい

pluginを導入してshortcodeを追加するときに、複数のpluginのどれを使った方が良いのか事前にはわからないことがある。ある程度使い込まないと実装の良し悪しがわかりにくいが、使ってしまうと将来の切り替えが面倒だ。目新しい機能だと主流になるpluginを選び損なうとひどい目に合うこともある(メンテナンスされないとか)。

そのようなときにshortcodeを切り替えるためだけのマクロを作っておくと良い。マクロの中から実際に必要なpluginの関数を呼び出すようにしておけば、将来pluginを変更しても修正箇所は1箇所で済む。

このサイトでも Twitter埋め込み機能は何度か切り替えているが、過去のページにはほとんど影響がなかった。

WordPress

Posted by ず@沖縄