Gem-one adIT

~ホームページ作成,システム開発のGem-one adITです~[スマフォ版](PC版へ)


あなたのそばにITを。
トップページ > ブログ > HOWTO > wordpressのフィルター

wordpressのフィルター

分類 :

こんにちは。Gem-one adITの権蔵です。
Gem-one adITのこのブログでは、適宜、HOWTOものを記載していこうと思ってます。
今回は、CMS形態のホームページとして人気のwordpressの機能拡張のお話をさせて頂きます。
フィルターという機能の紹介です。

フィルター

私どものホーム-ページ作成サービスでも取り上げております、wordpressは、filterやactionなどの機構があります。
今回は、そのfilter(フィルター)を使ったテクニックを紹介してみましょう。

フィルターについて

全く話しは違うのですが、こんなイメージをつかんで頂ければと思います。

「自動販売機で120円のジュースを買う」、そんなシチュエーションを考えましょう。
150円を自動販売機に入れ、ジュースを選択した後、自動販売機は、こんなことをしてます。

  1. スイッチが押されたジュースを出す
  2. おつりを出す

ごく当たり前な処理ですね。
さて、皆さん、冷たい飲み物を自動販売機で購入すると、缶に水滴がついていたりませんか?
そこで、ある業者さんは考えました。ぬれている缶を拭いてお客様に出してあげたいと。
自動販売機の中のジュースが転げ落ちる「トレイ」の中に、マイクロファイバーのタオルをひいたのでっす♪
めでたしめでたし、お客様の手が濡れずにすみました。

こういったように、元々の自動販売機の一連の手順の中に、少しだけ「工夫」を入れてあげる。
この考え方が、wordpressでいうところのフィルターにあたります。
「フィルター」とは、wordpressが持つ元々の一連の手順の中に、少しだけ「工夫」を入れてあげることができるという「技術」です。

たとえばこんなこと

wordpressで言うと、どんなことが一連の手順なのでしょうか。
たとえば、それはこんなことです。

  • ブラウザにホームページを出す
  • ホームページ情報をデータベースから読み出す

大きな枠組みでお話していますが、実際には「ブラウザにホームページを出す」だけでも、色々な手順が入ってきます。
wordpressは、この1つ1つの手順に対して、あらかじめ「フックポイント」が多数作ってあり、このフックポイントに「マイクロファイバーを敷いておく」等の処理が追加できます。
そして、このフックポイントに「かけてある処理」を、wordpressさんは、毎回毎回、まじめに1個ずつ処理してくれるわけです。

こんなフィルター

さて、今回はこんなフィルターを紹介してお話をおしまいにします。
フィルターで大事なのは、2つです。

  • いつの時点に工夫を入れたいのか
  • 何をするのか

先ほどの自動販売機の例では、「ジュースが出てくる際」に「ジュースを拭く」ということでした。
今回紹介するのは、
「ホームページがアクセスされた時」に「履歴を残す」というものにしましょう。

add_filter('template_include', 'gemone_templateLoader');
function gemone_templateLoader($template)
{
  履歴出力( $template がよばれたよ! );
  include( $template ); /*おまじない*/
  return false; /*おまじない*/
}

簡単に紹介しますと、add_filterの第1引数に「ホームページがアクセスされた時に」を指定しています。第二引数で、「履歴を残せ」としています。
どう履歴を残すの?という話が、functionに続く関数定義。
履歴を残すっていうのはね。。。という感じです。

まとめ

このようにして、wordpressはフィルターをうまく利用することで、1つ1つの機能を拡張することが可能になっています。本来持っているwordpressの充実した機能をさらに拡張し、ホームページを彩ることができます。

我々がご提供しているホーム-ページ作成サービスでは、このwordpressを最大限に利用したホームページ作成も承っています。

皆様、宜しくお願いします!



記事一覧»