[wp]SmartCustomFieldsのオプションページ作成機能は便利

そういえばそうだなって。

どういう機能か

通常、カスタムフィールドはページごとに仕込むものなので、各ページで完結する。他所のページから引っ張ってくることもできるけど、あくまでもそのページの情報だからって感じになる。

WEBサイト全体に掛かる情報を一元管理したい場合、これを活用すれば便利だよねって思うわけで。問い合わせ先の電話番号だとか、会社情報だとか、いちいち入力するのダルいしそれぞれ修正するのもめんどくさいよねってことがある。じゃあカスタムフィールドを使うとして、どのページに設定するんだよって話になる。「そういうもの用」でページを作ると邪魔くさいし、表示されちゃったら嫌だし、ページ数が増えて一覧で埋もれたら見返すのめんどいし、みたいな。

そういうときに便利なのがオプションページ。

標準機能なのに使ってない人多いんでないかね。

扱い方

まずは本家を見る。

オプションページの作成機能等を追加した Smart Custom Fields 2.1.0 を公開しました。
Smart Custom Fields 2.0.0〜2.1.0 で下記のアップデートを行いました。 オプション…
Smart Custom Fields
Smart Custom Fields はカスタムフィールドを管理するシンプルなプラグインです。

紹介記事も見る。

【WordPress】Smart Custom Fields(SCF)でオプションページを使って共通パーツに表示させる方法
カスタムフィールドの繰り返し機能が無料で使えるSmart Custom Fields(SCF)ですが、今回は固定ページではなくヘッダーなどの共通パーツで表示できるオプションページの使い方をご紹介してい
Smart Custom Fields(SCF) でのカスタムフィールドの便利な使い方 | Free Style
カスタムフィールドを便利にすることができるプラグイン「Smart Custom Fields(SCF)」は、最低限必要なフィールドが手軽に追加でいるのはもちろん、クリック1つでユーザーがカスタムフィールドのグループを追加できたりと、無料ですが機能がとても充実しているプラグインです。

細かい事をしてるところも見る。

Smart Custom Fields(SCF) のオプションページでトップ画像を設定する | Yoshihiro's Blog
Smart Custom Fields(SCF) のオプションページでトップ画像を設定する オプションページの設定を定義する 管理画面に表示する カスタムフィールドの値を取得する 副業 ハード屋 ブログ WordPress

粗方読んだらそんなに難しくないし大した面倒でもないなってのが分かる。

個人的なところでは使いまわしが必要な機会に遭わないので、出番が今のところない。共通パーツ内(header.phpとか)で済んでる。

そんなにいっぱい入れなきゃいけないことは無いんだけど、何はなくともとりあえず仕込んでおけば、活用するのかなとも思う。LINE公式アカウントのURLだとか、SNSアカウントのURLだとか。恒久的なもんで頻繁な変更がないものは作って終わりになるわけだけど、それであっても記述ミスを防ぐためって意味合いも持てるし。良いんじゃないでしょうか。

サンプルはこんな感じになってる。

/**
 * @param string $page_title ページのtitle属性値
 * @param string $menu_title 管理画面のメニューに表示するタイトル
 * @param string $capability メニューを操作できる権限(maange_options とか)
 * @param string $menu_slug オプションページのスラッグ。ユニークな値にすること。
 * @param string|null $icon_url メニューに表示するアイコンの URL
 * @param int $position メニューの位置
 */
SCF::add_options_page( 'ページタイトル', 'メニュータイトル', 'manage_options', 'theme-options' );

そのままでも使えるけど見てくれを変えたいとか複数使いたいとかでアレなので、多少いじったりする。

/**
 * @param string $page_title ページのtitle属性値
 * @param string $menu_title 管理画面のメニューに表示するタイトル
 * @param string $capability メニューを操作できる権限(maange_options とか)
 * @param string $menu_slug オプションページのスラッグ。ユニークな値にすること。
 * @param string|null $icon_url メニューに表示するアイコンの URL
 * @param int $position メニューの位置
 */
SCF::add_options_page( '共通情報', '共通情報', 'manage_options', 'common-options' );

ページとメニューのタイトルは管理画面上の表示だから、分かれば何でも良い。重要なのは$menu_slugで、ここは後で変更すると登録した内容が飛ぶ。ユニークっていうのは被らないオンリーワンのアレなんで、めっちゃ長くするか絶対に他で使わないものにしないとダメだし、一度決めたら変更しちゃダメ。

これをfunctions.phpに書き込むと管理画面左メニューに作成した名称で項目が増える。この状態ではページの中は真っ白。

SCFの画面で、どっかに「表示条件(オプションページ)」の枠があって、中に項目が増えてる。これをアクティブにしてCFの枠を作る。

そうすると、左メニューに追加されたページの中にCFが追加される。

出力方法はこんな感じ。

<?php echo SCF::get_option_meta('【オプションページのスラッグ】','【フィールド名】'); ?>

コードもそうだけどフィールド名の後に対象ページを書く通常のものとは記述が変わるので注意。

コメント

タイトルとURLをコピーしました