Serialize data for wp options

时间:2013-07-11 作者:David Garcia

我正在创建我的第一个插件,其目的是在满足某些条件时显示通知,我在jQuery中创建了该函数,最初每次我想更改通知消息时都必须手动编辑文件,因此我决定创建一个设置页面,以便用户可以从前端编辑消息。

多亏了StackExchange上的另一位成员,我才能够使用wp本地化来显示保存在wp选项中的自定义消息。然而,我现在发现我自己必须对所显示的信息进行如下结构:;

Title

Message

Image
我不想创建很多选项,所以我想我可以尝试序列化数据,但我不知道如何。

在设置页面中,我有一个文本框供用户输入消息。

<textarea name="msg_data" id="msg_data" cols="40" rows="10" />
<?php echo get_option(\'notice_data\'); ?>
</textarea>
这是本地化

$custom_notice = get_option(\'notice_data\', \'default_value\');
  wp_localize_script( \'lu_ban\', \'custom_notice\', $custom_notice);
我的目标是创建三个不同的输入,一个用于标题,一个用于正文消息,一个用于图像路径,有人能帮我吗。

谢谢

1 个回复
SO网友:Shahinul Islam

要存储数据,请使用以下代码:保存序列化值

$title    = \'Your Title Value\';
$message  = \'Your message HTML..\';
$image    = \'http://www.domain.com/yourimage.jpg\';

$notice_data = array(\'title\'   => $title, 
                     \'message\' => $message,
                     \'image\'   => $image
                    );


if(get_option(\'notice_data\') === FALSE){
    add_option(\'notice_data\',  $notice_data );
}else{
    update_option(\'notice_data\', $notice_data );
}
现在您可以获得序列化值并在代码中使用

$notice_data =   get_option(\'notice_data\')  ;  

echo $notice_data[\'title\'];

var_dump($notice_data);

结束

相关推荐

在wp_Options的一个设置字段中可以存储的选项数量是否有限制?

我有一个带有选项页的主题。在这一页上有1083个选项。我注意到最后13个没有保存。它们一度保存了,但在我添加了新选项之后,它们停止了工作。我怀疑我可能遇到了某种选项限制或阵列上的限制,为了测试这一点,我删除了最后13个选项上方的7个选项,并确保在这之后保存了足够多的7个选项。我一直在试图找到有关这方面的信息,但一直无法找到。是否有人知道您在一个设置字段中只能有1070个选项?这不是数据库长文本内存限制的问题。这些是简单的1和0以及十六进制颜色值和其他CSS类型的内容。该字段的输出量仅为33k。