管理画面に、独自の設定ページを設置する際につまづいたポイント

ワードプレス

  • 左メニューに項目を追加
  • 左メニューの項目を非表示に
  • 設定⇒一般に項目を追加

などはよく見かけるけれど、

「任意の場所にメニュー項目を追加して、設定を保存して他の場所から呼び出す」となると、まるまる紹介している例は多くなかった。

やろうとしているのは、「プラグインの作成」に近いので、その辺の記事を漁る。

 

下記の記事が激しく参考になった。感謝。

【WordPressプラグイン開発】管理画面にメニュー・サブメニューを追加する方法

【WordPressプラグイン開発】独自設定ページでオプションを追加・変更する方法

 

で、

  • 「外観」の上に「独自メニュー項目」を追加して、ページを表示、
  • テキストエリアやチェックボックスを設置
  • それぞれの項目を「option」としてデータベースに保存

ここまで出来ました。

あとは、使いたい場所に出力したり、条件分岐させたりすれば完了なのですが、ここでつまづいた。

テキストの出力は記事通りでも、「get_option」関数を設定しておいたりでも、どうにでも出力できるのですが、チェックボックスやラジオボタンでの条件分岐が動かない。

この手の条件分岐解説記事は、ほとんどがメールフォームなどに渡す処理が前提。こんな感じの参考例が多い。

if (isset($_POST['radio1']))

 

今回の例では、渡す相手が「〇〇〇.php」ではなくデータベース。なので?かはわからないが、これでは動かない。

これに気が付かず悩むこと数時間。

$radio1a = get_option(radio1); if($radio1a == 1)

単純に「get_option」で取り出してから比較すればいいのでした。

 

POSTさんに、「私に聞かれても困る」

と言われたような気がしました。