paamayim nekudotayim

PHPプログラミングでstaticプロパティやメソッドにアクセスするときに :: (ダブルコロン、スコープ定義演算子)を使うと思いますが、この別名が paamayim nekudotayim と聞いて何のことだろうと調べましたら、ダブルコロンの意味のヘブライ語とのこと。発音できませんが。

明鏡塾の技術講座では self::$static_values という使い方でお馴染みですが、:: はトークンの一種でオーバーライドクラスのアクセスにも使います。

http://php.net/manual/ja/language.oop5.paamayim-nekudotayim.php

難しくはありませんが、self:: や $this-> に慣れるまで何度も演習をやってみてください。熟練者でも実装のときに勘違いすることがあります。

WordPress フィルターフックでタグクラウドを整列

c202Codex を読んでもなかなかピンと来なかったり、Forum に参加しても目的の答えが見つからなかったり - 開発運用の専門家で無いブログ担当者(WordPress ブログをカスタマイズする人)にとって、カスタマイズの悩みの種は尽きません。小さなことの積み重ねですが、お客様のページをカスタマイズした際の備忘録として記事を書いています。

WordPress でいうフックとは、ユーザーの所望する動作や設定を WordPress 本体(コア・プログラム)に引っ張り込むための「きっかけ」のことです。フックは、もともと「引っ掛ける」という意味です。技術屋さんたち🐰はトリガーと呼んでいます。

様々なきっかけ、例えば、ある関数が呼び出された、または、記事が表示されたときなどに、特定の動作や設定を行うこと(自分の用意したプログラム(🐰はコードと呼びます)を実行すること)をフィルターフックといいます。今のところ、アクションフックも同じようなものと思ってください。詳しくは、WordPress API を参照してください。

フィルターフックを使うためには、通常、functions.php 内やそこから呼び出すファイル内に add_filter() という関数を記述します。その際、ftp で直接アクセスしてコア・プログラム自身を変更してしまうのは止めておきましょう。

add_filter( ①対象フィルターの名前, ②フック時に実行する独自の関数名, [省略] );

タグクラウドのパラメータを変更したい場合は、例えばこんな感じです。set_tagcloud11 は、パラメータ変更のための任意の関数名です。既存のプログラムやモジュールとの関数名の衝突に気をつけて、少し変わった名前にするのがコツです。弊社では、関数名の末尾に管理番号をつけています。

widget_tag_cloud_args は、対象とするフィルターの名前です。wp_tag_cloud() という関数に作用します。

add_filter( ‘widget_tag_cloud_args’, ‘set_tagcloud11’ );

参考:上記と合わせて、分かりやすいように②の関数の定義も functions.php 内に一緒に書いています。(下記のコードをダブルクリックすると簡単に選択してコピーできます)

// タグクラウドのパラメータ変更
function set_tagcloud11($args) {
  $myargs = array(
    'smallest' => 10,   // 最小文字サイズ
    'largest' => 20,    // 最大文字サイズ
    'number' => 50,     // 表示数
    'order' => 'DESC',  // 降順に表示
    'exclude' => 183, 194, 216, 310, 315  // 除外するタグ
    'orderby' => 'count',  // 記事を多く書いている順に表示
    'echo' => false,    // WordPress 4.4 以降は必要
  );
  return $myargs; 
}
add_filter( 'widget_tag_cloud_args', 'set_tagcloud11' );

このようなやり方により、WordPress のデフォルト(元々の)表示と違う独自の表示にカスタマイズできます。また、WordPress 本体のプログラムを触る危険を冒す必要がありません。非常に便利な機能なので、この構文を頭に入れておいてくださいね。

参考URL: