我已经为我的WordPress主题创建了一个自定义选项页面,并为用户提供了一个文本区域,用于添加将附加到另一个文件中的数组的选项。用户输入已成功添加到数据库中的适当位置,但是将其存储为单个字符串。我希望用户能够在每一行上输入一个选项,并将输入保存为数组,而每一行都保存为数组中的元素。
例如:
Textarea用户输入:
'my option1'
'my option2'
'my option3'
存储为:
a:1:{s:24:"my_textarea_field_0";s:34:"my option1
my option2
my option3";}
我希望将其存储为数组:{“ my option1”,“ my option2”,“ my option3”}
此外,输入到文本区域中的文本将保存到数据库中,但是在按下“提交”按钮后不会显示在文本区域中。我希望将用户输入作为数组添加到数据库中,并在提交后继续在文本区域中显示。
以下是相关代码:
function my_textarea_field_0_render() {
$this->$options = get_option('my_settings');
?>
<p style="margin: .25em 0 .5em!important; display: inline-block;">
<label for="my_settings[my_textarea_field_0]">
Lorem ipsum dolor sit amet.</label>
</p>
<p>
<textarea cols='145' rows='8' name='my_settings[my_textarea_field_0]'><?php echo $options['my_textarea_field_0'];?></textarea>
</p>
<?php
add_option('my_settings', '$options');
}
我花了一段时间寻找解决方案并修改了代码,但我一直无法弄清楚。
答案 0 :(得分:0)
explode
函数。也许此示例代码对您有用。$arrTextarea = explode("\n", str_replace("\r", "", $valTextarea));
php
代码。function my_textarea_field_0_render() {
$this->$options = get_option('my_settings');
$html = `
<p style="margin: .25em 0 .5em!important; display: inline-block;">
<label for="my_settings[my_textarea_field_0]">
Lorem ipsum dolor sit amet.</label>
</p>
<p>
<textarea cols='145' rows='8' name='my_settings[my_textarea_field_0]'>` .
$options['my_textarea_field_0'] .
`</textarea>
</p>`;
add_option('my_settings', '$options'); // I didn't understand what is $options.
}