我希望我的插件设置页面包含所有当前托管文件的列表,并允许他们添加新的文件路径。像这样:
浏览器中的虚构布局
Files Managed:
* /wp-content/plugins/myplugin/files/file1
* /wp-content/plugins/myplugin/files/file1
* /wp-content/plugins/myplugin/files/file1
Add New File:
[File_Name]
[submit]
我将如何实现这一目标?以前,我只是将页面提交到options.php
(Wordpress内置选项处理程序),但这完全取代了该选项,并且不允许添加其他选项。
唯一的"解决方案" 我能够提出(看起来很容易)是处理自己并执行此操作:
/* They've submitted the new file to manage, so we're in a POST situation */
//Get the existing options
$existing = get_option( "managed_files" );
//First time (doesn't exist yet)
if ( $existing === false ) add_option( "managed_files", array( $_POST[ "filename" ] ) );
//Already exists
else
{
//Add to current values
array_push( $existing, $_POST[ "filename" ] );
//Update Option
update_option( "managed_files", $existing );
}
这是唯一的方法吗?
答案 0 :(得分:1)
试试这个,
$existing = get_option( "managed_files" );
//First time (doesn't exist yet)
if ( empty($existing) ){
add_option( "managed_files", array( $_POST[ "filename" ] ) );
}
//Already exists
else
{
//Add to current values
//array_push( $existing, $_POST[ "filename" ] );
$existing = array_merge($existing, array($_POST[ "filename" ]));
//Update Option
update_option( "managed_files", $existing );
}
我不确定array_push
但array_merge
会完美无缺。
希望你能得到一些帮助。