MENU

WordPress 3.0の新機能とfunction.phpへの依存性

WordPress3.0の正式リリースが間近に控え、テーマを作成する上での機能追加をいくつか記事に書きましたが、
これまで、プラグインをインストールする事で簡単にWordPressに機能追加してきたことが、
WordPress3.0からどうもfunction.phpにソースを追加する事で機能追加する方法が目立つなぁ~と思いました。

目次

WordPress自身に追加する機能もfunction.phpに記載

テーマの新機能を追加する以外にも、おでこが書いたカスタム投稿タイプ(Custom Post Type)の導入と使い方 [WordPress 3.0]カスタムタクソノミー(Custom Taxonomy)の導入と使い方 [WordPress 3.0]の記事にも見られるように、
WordPress自身の機能もfunction.phpにソースを記載することになっています。

なぜ、機能追加にfunction.phpを追加する形がWordPress 3.0では多くなったのでしょう?

プラグインで機能追加は出来なかったのだろうか?

wokamotoさんが以前、『WordPressのコアは、必要最低限の機能だけで良い』と言われた言葉を思い出しました。
その通りだと思います。

WordPressの面白い所は、コアはシンプルに、機能は最低限。
そして、ユーザーがプラグインをインストールして、機能を追加します。
そこで、自分だけのWordPressを組み込んでいきます。

今までは、WordPressに機能を追加するには、プラグインを導入すれば良かったのです。
最近は、WordPressのコア自体もバージョンアップによって、機能が追加され、コア自身が肥大化してきました。

そして、今回は複数サイトを管理できたWordPress Muとの統合で、WordPressはマルチ化に。

機能の追加にあたっては、テーマのfunction.phpにソースを記載することで、新機能が使えるという手法に変わりました。
予め機能内臓しているにも関わらずにです。

恐らくプラグインでの追加も出来た・・・のだとは思いますが、
なぜ、プラグインではなく、function.phpなのか。

ちょっと疑問に思いました。

カノニカルプラグインの位置づけ

function.phpで機能を追加する仕組みは、コアとプラグインの中間に位置しており、カノニカルプラグインと言います(おでこ談)。
このカノニカルプラグインという位置づけは、コミュニティーの手で成長させて欲しいというMatt氏の意向からこのような位置づけになった模様です。

詳細は、カノニカルプラグイン(なにそれ?)に書かれています。

ただ、コアにある以上、WordPressのバージョンアップなどによる動作保証などは行われるとは思いますが、コアにあるものをコミュニティーの手に委ねるのは、手を出しにくい印象があります。また、ソースを追加する事により機能が使えるようになることは、元からコアにソースが入っている事であり、コアが肥大化する原因にもなりかねない・・・とも思います。

おでこに言ってみたら、うーんと唸ってしまった(;´▽`A“
これからどういう形になっていくのでしょうか。

WordPress3.0で機能は増えたが、敷居が挙がった感

特にテーマ制作者に取って、テーマ機能の使えば使い手は便利になりますが、
制作者にとっては敷居が上がった感じがします。

WordPress3.0からはテンプレートタグも増え、機能追加にはファンクションタグも必要となります。
Codexも、テンプレートタグの一覧から削除されたテンプレートタグの中に、ファンクションタグに移っていたりするものがあったりと、結構テンプレートタグとファンクションタグの差がなくなりつつあるような気もします。

今までは、それほどテーマ作成において、ファンクションタグの必要性をあまり感じなかったのですが、WordPress3.0からは、機能追加には必要不可欠に。

ただ、必要最低限の機能でテーマ制作するのであれば、
テンプレートタグのみで事足りるとは思いますが、
テーマでやれることが多くなると、必然的に要求が高くなります。(当たり前ですが…)

機能追加により、その度に制作者側にも技術力が要求されるようになるということですが、
難しい問題ですね。

よかったらシェアしてね!
  • URLをコピーしました!

この記事を書いた人

WordPress Love! 休日はほぼWordPress仲間と一緒に勉強会や写真を撮りに行っています。現在育児中のため、オフが多いです(>△<<<)

コメント

コメントする

このサイトはスパムを低減するために Akismet を使っています。コメントデータの処理方法の詳細はこちらをご覧ください

目次