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:

 

Cortana 無効化について

natsuWindows 10 Anniversary Update (1607) 後に、Cortana (コルタナ)を無効化(停止)する方法をメモしておきます。サービス停止等の通常の方法で上手くいかなかった方は、あくまでも自己責任で試してください。

レジストリーを間違えて変更した場合は、Windows の動作を不安定にする場合がありますので、十分に気を付けて行ってください。

 

(1) レジストリー・エディターを開く

① Windows キーと「R」を一緒に押して、「ファイル名を指定して実行」のプロンプトを表示させる。

② regedit と入力してリターンキーを押す。

③ エディターからポップアップがあれば、「管理者権限で開く」を選択する。

 

(2) レジストリー・キーを作成する(当該キーが無い場合)
(既に存在する場合は(3)へ)

① HKEY_LOCAL_MACHINE → SOFTWARE → Policies → Microsoft → Windows を選択する。(ここの階層を間違えないようにしましょう)

② Windows を選択し、マウス「右」クリックで「新規」→「キー」を選ぶ。

③ 「新しいキー #1」が Windows 内にできるので「Windows Search」と入力する。

 

(3) キーの値を入力する

① Windows Search を選び、マウス「右」クリックで「新規」→「DWORD(32ビット)値」を選ぶ。(右側の枠(右ペインといいます)の空白のところを「右」クリックでも同様の操作ができます)

② 「値の名前」に「AllowCortana」と入力する。

③ 「値のデータ」に「0」(ゼロ)を入力して保存する。(作成時は 0 なので、そのままでも OK です)

 

(4) レジストリー・エディターを終了する

ファイルを選択し、エディターの終了を押す。(これで保存されます)

 

(5) パソコンを再起動する。

パソコンの一番下のバーの左端(Windows表示の横)の部分の Cortana の入力フォームのところが、以前の「Windowsを検索」になっていれば、Cortana は停止しています。

 

今月に入ってから、システム運用グループへの相談が多いので、備忘録として記事を書きました。Cortana は、先行の Siri 同様に便利な機能だと思いますが、メモリの少ない方や仕事で使っておられる方には無用の機能かもしれません。

上記の手順後にタスクマネージャーでメモリの部分を見ると、使用量が約1GB減っていることが分かります。タスクマネージャーのプロセスのところには、相変わらず Cortana の表示が残っていますが、気にする必要はありません。

おまけの話ですが、Cortana に入力した情報は、デフォルトの設定では、そのまま Microsoft に送られますので、今回の停止措置で Cortana からの情報の送信も止めることができます。

 

【追伸:システム開発グループより】

フォルダ名を強制的に変えるようなやり方を推奨するサイトもありますが、開発部門から言わせていただくと、結論的には止めておいた方がよいでしょう。正当なやり方ではありません。一過性の対象療法と考えますので、やり過ぎはよくありません。