Widget Logic 【WordPree】is_subpage() で子ページに属しているかを 一括制御する

  • ブックマーク
wordpress

設定した条件にて、ウィジェットの出力を制御できる神プラグインが、Widget Logic

固定ページの子ページに属している場合、一つ一つのページIDを設定せずに、「親ページID」を指定して一括で制御する手順でハマったので、メモ。

functions.phpで関数を作る

子ページかどうかを判定する関数が、標準で準備されていないので、is_subpage()関数を作る。

functions.php に以下のコードを追記する。

function is_subpage() {
  global $post;
  if (is_page() && $post->post_parent){
    $parentID = $post->post_parent;
    return $parentID;
  } else {
    return false;
  };
};

(コードはこちらの記事こちらの記事を参考にさせていただきました。感謝)

ウィジェットの条件分岐を設定する

ついつい、いつもの書き方をやってしまうが、これらの書き方では、判定してくれない。(上の追記したコードが、引数を取らない形だから?)

ダメな例

is_subpage(432)

is_subpage(‘slug’)

!is_subpage(264)

この点にハマった。参考になったのがこちらの記事

正しくは、こちら。この場合、固定ページのID 13832 の親ページを持つ子ページが、Ture(真)となるので、その子ページのみ表示される。

is_subpage() === 13832

一方、その子ページに属している固定ページだけ表示を除外したい場合はこちら。!マークの位置に注意。PHPの比較演算子の書き方になる。

is_subpage() !== 13832

↑ 実際に入力している様子のスクリーンショット。

散財したアイテム

最近の散財はこちら!

出張に便利そうなコンセントを買った!塩は、ぬちまーす。

【WordPressブログ スタートアップ講座 開催決定しました】

12月30日  木曜日
・10時から18時
・Kitchen Bee(4名)とオンライン(4名)のハイブリッド開催です。(リアルは残り2名!)
お申し込みページはこちら

オンラインのスタートアップ講座、気になっていたけど、4日間に分かれていて、スケジュールが、、というあなた。オンラインでも1日でOKなスケジュールを作りました。

ぜひ、この機会に、情報発信の母艦を一緒に作りましょう。

また、「ブログをスタートしたい」という方に、すごく良い講座あるよっと、ご紹介いただけると、飛び上がって喜びます。

よろしくお願いします。

(なお、リアルの会場は、Kitchen Beeにて人数を制限し、感染症対策を行って開催します。)

追伸、

また、11月3日の19時から20時の1時間、ものくろキャンプ交流会を開催します。こちらは、少人数ですが、Kitchen Beeのお席もご用意できる予定です。

オンラインとハイブリッド開催しますので、オンライン参加も大歓迎です。イベントを立ち上げますが、まずは、カレンダーに丸印を!

ブログスタートアップ講座のお申し込み告知ページを見逃したくない!という方は、下のメールマガジンにご登録ください。

お申し込み開始時にご案内をお送りします。

無料メルマガ発行中

メルマガも2021年は頑張って書いています。ぜひ登録して読んでくださいね。(無料です)

メールマガジン
無料で購読
メールアドレス *
* 必須項目

【案内板】

このブログをはじめて読んだあなたへ
ぜひ読んでもらいたい記事を用意しました。

オンラインショップあります

↓ 下のバーナーをクリックすると移動します。


Youtube

  • ブックマーク

この記事を書いた人

情報発信ナビゲーター 大東 信仁

情報発信ナビゲーター / 博士課程中退 / ニックネーム : ものくろ / ブロガー / WordPressが得意 / orz レイアウト開発者 / 株式会社 あみだす 代表取締役