WordPress Widget Logicのプラグインで、セキュリティの脆弱性が修正されまし

Last Updated:2020年11月14日| | コメントを残す

Widget Logicのプラグインを使用すると、サイドバーのウィジェットを条件に応じて表示または非表示にすることができます。 たとえば、特定のウィジェットを前面ページや、いくつかのカテゴリーのみ表示または非表示するように設定することができます。

WordPress ウィジェットのロジックプラグインWidget Logic

同様の機能をプラグインとしてWidget Optionsがあります。

Widget Optionsがより直感的で使いやすいが、 WordPressで提供される条件付きタグ(Conditional Tag)によく知られてWidget Logicがはるかに強力で洗練され設定が可能であることを感じることです。 Widget Logicは現在30万人以上のサイトにインストールされて有効になっています。 WordPressの Conditional TagはCodex文書を参照してください。

例:

  • is_home() - メインブログのページ
  • !is_page('about') — この特定 WordPress 「ページ」を除くすべての場所
  • !is_user_logged_in() - ユーザーがログインしていないときに表示
  • このカテゴリIDのいずれかに該当するカテゴリーページ
  • is_single() && in_category('baked-goods') — このスラグのカテゴリに含まれる個々のポスト
  • current_user_can('level_10') — admin 専用ウィジェット
  • strpos($_SERVER['HTTP_REFERER'], "google.com")!=false — Google 検索で流入したときに表示するウィジェット
  • global $post; return (is_page('home') || ($post->post_parent=="13")); — ホームページ OR ページ 13 の子 (子) であるページ (このような形式でもコードを入れることができますね。)

このプラグインを使用していなくても、Conditional Tagの使い方を身につけてくれれば後日カスタマイズする際に役立つことができます。 私のようにPHPを知らなくても簡単に活用が可能です。

他の方法でページや記事に基づいて、他のサイドバーに配置する方法もあります。 Avada, Enfold, Newspaper など、いくつかのテーマでページ/記事ごとに異なるサイドバーを表示するように選択するオプションを提供しています。

このブログには、現在の Newspaper テーマが使用されているが、フロントページのサイドバーが若干異なって構成して使用しています。 テーマから、このようなオプションを指定すると、プラグインを使用せずにテーマでサポートしている機能を使用することができます。

Widget Logicの5.9.0以前のバージョンでは、リモートでコードが実行(Remote Code Execution)につながることができるnested CSRF(クロスサイトリクエスト変調)の脆弱性が発見され5.9.1のバージョンで修正されました。 このプラグインを使用する場合は、必ず最新のバージョンに更新してください。

メモ:


コメントを残す

コメント