无法在wordpress中使用update_option保存逗号

时间:2016-08-01 07:02:48

标签: php wordpress

我正在使用wordpress 4.3并且在wp管理页面我正在使用update_option保存管理员电子邮件地址。如果我添加单个email,则工作正常。如果我添加逗号分隔的电子邮件ID,则只在选项中缺少逗号。(var_dump($ _request))用逗号给我一个值。只有update_option函数省略了这个值。是否有任何备用选项来存储用逗号分隔的多个电子邮件?

如果我保存admin @ gmail.com,ragubathi @ gmail.com结果将只保存admin @ gmail.comragubathi @ gmail.com,这是不正确的。

 if (isset($_REQUEST['submit'])) {
    var_dump($_REQUEST['admin_email']);
    if (current_user_can('edit_themes')) {
      update_option('admin_email', $_REQUEST['admin_email']);
 }
}

2 个答案:

答案 0 :(得分:0)

您可以采用其他方式

 $arr = array(
     'email1',
     'email2',
     'email3',
 )

然后使用函数php serialize

序列化此数组
$dataToInsert = serialize($arr);

然后在表中更新 $ dataToInsert 变量,并且您希望在代码中使用该值,然后从表中检索此值并使用php函数 unserialize

$dataFromTable = unserialize($date); 
print_r($dataFromTable);

答案 1 :(得分:0)

你可以这样做:

if (isset($_REQUEST['submit'])) {
global $wpdb;
$sql = $wpdb->prepare("SELECT admin_email FROM wp_options");
$results = $wpdb->get_results($sql);
$admin_email = $results[0];
//Adding the new admin emails through POST Request
$update_admin_email = $_POST['update_admin_email'];

$wpdb->update( 
'wp_options', 
array( 
    'admin_email' => "$admin_email,$update_admin_email"
));
}