在设置API的一个示例中,有一个输入和回调函数来清理/验证此输入的结果:
这是输入:
echo "<input id=\'text_string\' name=\'boj_myplugin_options[text_string]\' type=\'text\' value=\'$text_string\' />";
这是回调函数:
function boj_myplugin_validate_options( $input ) {
$valid[\'text_string\'] = preg_replace( \'/[^a-zA-Z]/\', \'\', $input[\'text_string\'] );
我读到这个函数是作为参数传递给$\\u POST数据的,但是
text_string
代表此处:
$input[\'text_string\']
?
我有点困惑,应该是name
参数,但name参数似乎是纯文本:name=\'boj_myplugin_options[text_string]\'
谢谢你的回答
最合适的回答,由SO网友:chrisguitarguy 整理而成
您可以将与设置名称对应的所有值传递给清理回调函数。当向发出POST请求时options.php
WordPress从您的设置所在的页面调用您的清理回调,其方式类似于:
<?php
boj_myplugin_validate_options( $_POST[\'boj_myplugin_options\'] );
请注意,“名称”属性看起来很像为关联数组编制索引:
boj_myplugin_options[text_string]
.
此设置$_POST[\'boj_myplugin_options\']
作为数组。但是,正如你在上面看到的,WordPress并没有通过整个$_POST
数组进入清理回调:它只传递与插件相关的值。这样做允许您在同一选项中存储多个值。你并不总是这么做,但这很常见。