2015/04/06 15:44:50

wordpressでいろいろな設定値を取得してみる


Warning: Attempt to read property "post_excerpt" on null in /home/kpkyvkzp/public_html/unskilled.site/wp-content/themes/unskilled2/content-header-eyecatch.php on line 5
目次(クリックするとジャンプします)
  • 1:wordpressの設定値とは
  • 1.1:管理画面で設定している色々な項目
  • 1.2:wp_options
  • 2:wp_optionsに格納されている設定値のリスト
  • 2.1:完全ではないが…
  • 2.2:設定値のリスト
  • 3:補足説明
  • 3.1:キーの数
  • 3.2:プラグインの設定値
  • 3.3:その他の設定値
  • 4:まとめ

wordpressの設定値とは

管理画面で設定している色々な項目

wordpressでは管理画面でさまざまな設定を行うことができます。投稿の表示数とか、サイトの名前、コメントの許可などなどです。

カスタマイズしていくうちにこれらの「設定値」を取得したくなってくる場合があります。良くあるのは最大表示数を取得して、それに応じた動作を作る場合なんかがあるでしょう。

しかし、これらの設定値はどのようにして取得するのか、意外と情報が少ない気がしてなりません

wp_options

管理画面上で行える設定のほとんどはwp_optionsというテーブルに格納されています。このテーブルでは設定項目名がキーとなって格納されていますので、コラム数は4つと少ないです。

wp_optionsに格納されている設定値はget_option()関数で取得できることは、知っている方も多いかと思いますが、設定項目名のキーが判らないという人も多いのないでしょうか。

codexにもOption Referenceというページが存在していますが、あまり翻訳されていないようなので、うまいこと欲しい情報を得られないかもしれないです。

wp_optionsに格納されている設定値のリスト

完全ではないが…

そこで焼け石に水ではありますが、奮起してwp_optionsに格納される設定値とそのキーをまとめてみましましました。基本的にはここに挙げたキーはすべてget_option()にて使用することが可能 です。

いつものごとくわからない項目が結構出てしまいましましました。というのもcodexにも記載がなく、検索しても詳細が分からないキーが結構あるため です。出来るだけ網羅したつもりだが完全なリストでは全くないのでご容赦いただきたいです。

管理画面上の項目と対応するものは出来るだけ管理画面上のでの項目名を併記するようにしましました。

設定値のリスト

キー 設定の説明(?が付いているのは不明な点があると言う意味) 対応する管理画面の項目 デフォルト値
active_plugins アクティブ(有効)になっているプラグイン プラグイン
admin_email adminのメールアドレス 設定->一般->一般設定->メールアドレス:
auto_core_update_notified ?自動アップデートの許可するか
avatar_default アバターのデフォルト設定 設定->ディスカッション->ディスカッション設定->アバター->デフォルトアバター
avatar_rating アバターの格付け 設定->ディスカッション->ディスカッション設定->アバター->評価による制限 G
blacklist_keys コメントのブラックリストキー 設定->ディスカッション->ディスカッション設定->コメントブラックリスト
blogdescription ブログ(サイト)の詳細説明 設定->一般->一般設定->キャッチフレーズ
blogname ブログ(サイト)の名前 設定->一般->一般設定->サイトのタイトル
blog_charset ブログ(サイト)の文字セット設定 設定->一般->一般設定->サイトの言語)
blog_public 検索エンジンに検索してもらう・してもらわない 設定->表示設定->表示設定->検索エンジンでの表示 1(検索してもらう)
can_compress_scripts スクリプトを圧縮するか 0(しない)
category_base URL構造カスタマイズベース 設定->パーマリンク設定->パーマリンク設定->オプション->カテゴリーベース NULL
category_children ?子カテゴリー
close_comments_days_old x日以上前の投稿のコメントフォームを自動的に閉じる 設定->ディスカッション->ディスカッション設定->他のコメント設定 14
close_comments_for_old_posts 古い投稿でコメントを表示するか 0(しない)
comments_notify コメントされたときにメールで知らせる 設定->ディスカッション->ディスカッション設定->自分宛のメール通知 1(知らせる)
comments_per_page 1ページあたりx件のコメントを含む複数ページに分割し、xのページをデフォルトで表示する 設定->ディスカッション->ディスカッション設定->他のコメント設定 50
comment_max_links x個以上のリンクを含んでいる場合は承認待ちにする 設定->ディスカッション->ディスカッション設定->コメントモデレーション 2
comment_moderation コメントの手動承認を必須にする 設定->ディスカッション->ディスカッション設定->コメント表示条件 0(許可後表示)
comment_order 古いo新しいコメントを書くページのトップに表示する 設定->ディスカッション->ディスカッション設定->他のコメント設定 asc(昇順)
comment_registration ユーザー登録してログインしたユーザーのみコメントをつけられるようにする 設定->ディスカッション->ディスカッション設定->他のコメント設定 0(必要ない)
comment_whitelist すでに承認されたコメントの投稿者のコメントを許可し、それ以外のコメントを承認待ちにする 設定->ディスカッション->ディスカッション設定->コメント表示条件 1(持っている)
cron ?cronの設定
current_theme 現在有効になっているテーマ 外観->テーマ
dashboard_widget_options ?管理画面のウィジェット設定
date_format 日付書式 設定->一般->一般設定->日付のフォーマット
db_upgraded ?
db_version ?データベースのバージョン
default_category 投稿がデフォルトで属するカテゴリのID 設定->投稿設定->投稿設定->投稿用カテゴリーの初期設定 1
default_comments_page ? newest
default_comment_status デフォルトでコメントを許可するか open(許可する)
default_email_category メール経由での投稿がデフォルトで属するカテゴリのID 設定->投稿設定->投稿設定->メールでの投稿 1
default_link_category ?リンクがデフォルトで属するカテゴリのID 2
default_pingback_flag ?
default_ping_status ピンバックとトラックバックを許可するか 設定->ディスカッション->ディスカッション設定->投稿のデフォルト設定 open(許可する)
default_post_format デフォルトの投稿タイプ 設定->投稿設定->投稿設定->デフォルトの投稿フォーマット 0(post)
default_role デフォルトの権限 設定->一般->一般設定->新規ユーザーのデフォルト権限グループ subscriber(購読者)
gmt_offset 国際標準時からのオフセット
gzipcompression ブラウザから要求があった場合gzipでの圧縮を行うか 0(圧縮しない)
hack_file ?
home ホームのURL 設定->一般->一般設定->サイトアドレス (URL)
html_type MIMEタイプ text/html
image_default_align ?画像のデフォルト整列位置 NULL
image_default_link_type ? file
image_default_size ? NULL
initial_db_version データベースのバージョン?
large_size_h ラージサムネイルのデフォルトサイズ(縦) 設定->メディア->メディア設定->画像サイズ->大サイズ 1024
large_size_w ラージサムネイルのデフォルトサイズ(横) 設定->メディア->メディア設定->画像サイズ->大サイズ 1024
links_updated_date_format リンクアップデートの日付書式 F j, Y g:i a
link_manager_enabled ?リンクマネージャを使うか
mailserver_login メールサーバのログインネーム 設定->投稿設定->投稿設定->メールでの投稿
mailserver_pass メールサーバのログインパスワード 設定->投稿設定->投稿設定->メールでの投稿
mailserver_port メールサーバのポート 設定->投稿設定->投稿設定->メールでの投稿
mailserver_url メールサーバアドレス 設定->投稿設定->投稿設定->メールでの投稿
medium_size_h ミディアムサムネイルのデフォルトサイズ(縦) 設定->メディア->メディア設定->画像サイズ->中サイズ
medium_size_w ミディアムサムネイルのデフォルトサイズ(横) 設定->メディア->メディア設定->画像サイズ->中サイズ
moderation_keys コメントの名前やEmail、IP、URLなどにここで設定したキーがヒットすると表示待ちになる 設定->ディスカッション設定->コメントモデレーション NULL
moderation_notify コメントが承認されたときにメールを受け取る 設定->ディスカッション設定->自分宛のメール通知 1(受け取る)
page_comments ?コメントをページ分割するか
page_for_posts 表示するページのID、show_on_frontが有効な場合に有効 設定->表示設定->表示設定->フロントページの表示
page_on_front フロントページに表示する固定ページのID(show_on_front の値が pageある必要あり) 設定->表示設定->表示設定->フロントページの表示
permalink_structure パーマリンクの形式 設定->パーマリンク設定->パーマリンク設定->共通設定
ping_sites pingの送信先 設定->投稿設定->投稿設定->更新情報サービス
posts_per_page 1ページにおける投稿の最大表示数 設定->表示設定->表示設定->1ページに表示する最大投稿数
posts_per_rss RSSにおける投稿の最大表示数 設定->表示設定->表示設定->RSS/Atom フィードで表示する最新の投稿数
recently_activated ?
recently_edited ?最近編集した投稿
require_name_email 名前とメールアドレスの入力を必須にする 設定->ディスカッション->ディスカッション設定->他のコメント設定 1
rss_use_excerpt RSSで抜粋を使用するか 設定->表示設定->表示設定->RSS/Atom フィードでの各投稿の表示 0
show_avatars アバターを表示するか 設定->ディスカッション->ディスカッション設定->アバター->アバターの表示 1
show_on_front フロントページに表示される投稿ID 設定->表示設定->表示設定->フロントページの表示 posts(最新記事)
sidebars_widgets サイドバーに適用されているウィジェット
siteurl サイトのURL
start_of_week 週初めの設定 設定->一般->一般設定->週の始まり 1(月曜日)
sticky_posts 先頭固定の投稿 設定->表示設定->表示設定->フロントページの表示
stylesheet 現在のスタイルシート 外観->テーマ
tag_base URL構造カスタマイズベース 設定->パーマリンク設定->オプション->タグベース NULL
template 現在有効のテーマ 外観->テーマ
theme_mods_xxxxxxxxxx インストールされているテーマの詳細(テーマ分存在する)
theme_switched ? ?
thread_comments コメントスレッドを使用するか 設定->ディスカッション->ディスカッション設定->他のコメント設定 1(する)
thread_comments_depth コメントをx階層までのスレッド (入れ子) 形式にする 設定->ディスカッション->ディスカッション設定->他のコメント設定 5
thumbnail_crop サムネイルを正方形にトリミングするか 1(する)
thumbnail_size_h サムネイルのデフォルトサイズ(縦) 設定->メディア->メディア設定->画像サイズ->サムネイルのサイズ 150
thumbnail_size_w サムネイルのデフォルトサイズ(横) 設定->メディア->メディア設定->画像サイズ->サムネイルのサイズ 150
timezone_string タイムゾーン 設定->一般->一般設定->タイムゾーン
time_format 時間書式 設定->一般->一般設定->時間のフォーマット H:i
uninstall_plugins アンインストールしたプラグイン プラグイン
uploads_use_yearmonth_folders アップロードしたファイルを年月ベースのフォルダに整理 設定->メディア->メディア設定->ファイルアップロード 1(する)
upload_path ? NULL
upload_url_path ? NULL
users_can_register だれもが登録できるか 設定->一般->一般設定->メンバーシップ 0(できない)
use_balanceTags ? 0
use_smilies 顔文字を画像に変換するか 設定->投稿設定->投稿設定->整形 1(する)
use_trackback トラックバックの送受信を許可するか 0(しない)
widget_archives ?ウィジェット関係 ?
widget_categories ?ウィジェット関係 ?
widget_meta ?ウィジェット関係 ?
widget_recent-comments ?ウィジェット関係 ?
widget_recent-posts ?ウィジェット関係 ?
widget_rss ?ウィジェット関係 ?
widget_search ?ウィジェット関係 ?
widget_text ?ウィジェット関係 ?
WPLANG 言語 ja
wp_user_roles ? ?
wp_user_roles ? ?

補足説明

キーの数

キーの数はかなり多く、おそらく100以上にはなるはず です。プラグインなどの設定値もwp_optionsに格納されるので、それらプラグイン独自のキーを含めると200以上になる場合もあるでしょう。

ご自分のデータベースを覗きたい場合は拙著で申し訳ないがwordpressのデータベースをデータベース管理ツールで覗いてみる方法画像はどのようにデータベースに記録されているかを参考にして頂けると幸いです。

プラグインの設定値

プラグインの設定値に関しては、各位でインストール状況が異なると思われるのでリストには挙げなかったが、おおよそプラグイン名がキーに付いているので見分けやすいとは思います。

もしプラグインを利用したカスタマイズを積極的に行う際は対象のプラグインがどのようなキーを持っているのか確認するのがいいかと思います。

その他の設定値

また、プラグイン以外にも、_site_transientもしくは_transientから始まるキーが記録されている場合があると思います。transientは一時的なというような意味がありますので、これらのキーは一時的に格納されている設定値との認識で構わないと思います。

@MINOが確認した限りではこれらのキーはwordpress本体やテーマ、プラグインなどのアップデート情報の格納などを行っているよう です。いずれにしてもほとんどはシリアライズされて格納されていますので、データベースを覗けば確認することができます。

まとめ

wordpressの設定値が必要なカスタマイズになってくると結構複雑になってくるし、日本語での情報もなかなか検索できなくなってくるかもしれないです。特殊なことをやればやるほど、情報は少なくなっていくので困ったもの です。

wordpressをカスタマイズする時は有効な情報に当たるのも、技術の内なのかもしれないです。

しかし英語しゃべれないまでも、読めるように教育してほしかったです。義務教育。