私はwpオプションa:2:{s:5:"Title";s:11:"your title";s:7:"Message";s:20:"Hola testing testing";}
で次のシリアル化されたデータを持っています
フォームで使用するために返却し、フロントエンドにも表示したいのですが、試してみました
<?php echo get_option('notice_data[Message]'); ?>
これは配列です
$notice_data = array(
'Title' => '',
'Message' => ''
);
add_option("notice_data", 'Default', '', 'yes');
Jsファイル内のjquery関数で使用するためにwpオプションでデータを保存する2つのフォームを持つ設定ページを持つプラグインを作成しています。これは設定ページの一部です。
<textarea name="notice_data[Title]" id="notice_data" />
<?php echo get_option('notice_data[Title]'); ?>
</textarea>
</td>
</tr>
<tr valign="top">
<th width="92" scope="row">Body Message</th>
<td width="406">
<textarea name="notice_data[Message]" id="notice_data" cols="40" rows="10" />
<?php echo get_option('notice_data[Message]'); ?>
</textarea>
また、特定の条件が満たされたときにメッセージを表示するjquery関数内で使用するために、wpオプションに保存されたデータを取得するスクリプトをローカライズしています。
いいえ、これは機能しません。
<?php echo get_option('notice_data[Message]'); ?>
get_option
はオプション値全体をoption_name
で引っ張るので、直列化された配列の一部では引っ張られません。あなたが求めているのは、文字通りoption_name
と呼ばれるキー(notice_data[Message]
)です。あなたがnotice_data
としてオプションを保存したと仮定すると、あなたはマッチを取得するつもりはありません、そして括弧がオプション名でサポートされているかどうかさえ私にはわかりません。私は試したことがない。
必要なものは.
$notice_data = get_option('notice_data');
echo $notice_data['Message'];
あなたはあなたが "スクリプトをローカライズする"と言っています。そのため、jQuery/Javascriptで使用するには、次のようにします( Codexからほぼ完全に切り取られたもの )。
$notice_data = get_option('notice_data');
wp_enqueue_script( 'some_handle' );
$translation_array = array(
'notice_data' => $notice_data['Message']
);
wp_localize_script( 'some_handle', 'object_name', $translation_array );
あなたのJavascriptはobject_name.notice_data
としてそれにアクセスするべきです。