web-dev-qa-db-ja.com

オプションテーブルのデータをシリアル化する正しい方法は?

私はプラグインを書いています、そしてそれは私がphpシリアライゼーションを使っているのでおよそ15の異なるオプションを必要とします。私は配列と更新のオプションphpシリアライズ関数でそれをやっています。

しかし、/wp-admin/options.phpからアクセスすると生データを見ることができますが、中核となるワードプレスのオプションはSERIALIZED DATAにロックされています。私はこのようなものを実装したいのです。

5
devc

複数のオプションを格納する正しい方法は、多次元配列として1つのオプションフィールドに保存することです。

$myopt = array(
    'variable1' => ...
    'variable2' => ...
    ....
);

それから単純に配列をupdate_option()に渡します

update_option('my_settings_field', $myopt);

あなたが配列WPを渡すなら、あなたのためにデータを自動直列化します。

それから読み返すために:

$myopt = get_option('my_settings_field');

WPは自動的にデータのシリアル化を解除し、配列に戻します。

Options.phpでは、オプションがSERIALIZED DATAとして表示されていることがわかります。これは、シリアル化されたデータを文字列として確実に編集できないためです。 options.phpページからオプションを編集できるようにしたい場合は、各オプションを個別に保存する必要があります。私はこれをお勧めしません。私はあなたのオプションを編集するためのあなた自身のオプションページを作成することをお勧めします。始めるためのチュートリアルがいくつもあります。

http://codex.wordpress.org/Creating_Options_Pages

良い出発点です。そしてまたチェックアウトしてください Settings API

7
Brady