在wp_EDITOR中保存来自Foreach循环的值

时间:2014-09-24 作者:Interactive

我创建了一个包含wp\\U编辑器的自定义元框。wp\\U编辑器显示上载的内容。csv文件并构造一个表。我希望允许用户在上载后编辑表。csv文件。

这是可行的。现在我想让它更高级一点<因此,我添加了上载多个的可能性。csv文件
这也可以。问题是保存wp\\U编辑器
wp\\u editor声明每个编辑器都应该有自己的编辑器id。
请参阅:http://codex.wordpress.org/Function_Reference/wp_editor

我可以添加一个数字???但问题是保存/更新内容
我使用保存功能来完成此操作<看看下面我做了什么
这是检查数量的foreach循环。csv文件存在并在每次遇到wp\\U编辑器时构造一个编辑器:

$value = get_post_meta($post->ID, \'mcu\', true);
$get_url = unserialize ($value);
foreach ($get_url as $list) {
        echo \'<p style="margin:50px 0 0 0;">\';
        echo \'<strong>\'.$list.\'</strong>\';
        ob_start();
        jj_readcsv($list,true);
        $link = ob_get_contents();
        ob_end_clean();
        $editor_id = \'my_uploaded_csv\';

        wp_editor( $link, $editor_id );
        echo \'</p>\';
    }
以下是wp\\U编辑器的基本保存功能。我似乎不知道如何让它有一个foreach循环,以便保存/更新所有数据

function save_wp_editor_fields(){
    global $post;
    update_post_meta($post->ID, \'my_uploaded_csv\', $_POST[\'my_uploaded_csv\']);
}
我希望任何人都能在这方面帮助我。

M

1 个回复
最合适的回答,由SO网友:david.binda 整理而成

wp_editor 函数接受(array) $settings 参数,该参数可以包含textarea_name 作为一把钥匙。如果未指定,则默认设置为$editor_id. 请参见:https://github.com/WordPress/WordPress/blob/c392ff6f90d550bad876d8a984ad6b3b8a49cd96/wp-includes/class-wp-editor.php#L44

因此,您可能需要这样做:

foreach ($get_url as $list) {
    ...
    $settings = array( \'textarea_name\' => \'uploaded_csv[]\' );
    ...
    wp_editor( $link, $editor_id, $settings );
    ...
}
在保存函数中,只需循环$_POST[\'uploaded_csv\'] 大堆

function save_wp_editor_fields(){
    global $post;
    foreach ( $_POST[\'uplaoded_csv\'] as $key => $uploaded_csv ) {
        update_post_meta($post->ID, \'my_uploaded_csv_\'.$key, $uploaded_csv);
    }
}
当然,你应该弄清楚所创建元的唯一性(例如,给它一个数字,或者用非唯一名称处理每篇文章的更多元键。请参阅http://codex.wordpress.org/Function_Reference/add_post_meta).

希望这有点帮助!

结束

相关推荐

Admin Theme customization

我遵循wordpress codex网站上关于通过插件创建管理主题的说明。我激活了插件,但我的样式表没有包含在<head>.. 这是我的代码:add_action( \'admin_init\', \'kd_plugin_admin_init\' ); add_action( \'admin_menu\', \'kd_plugin_admin_menu\' ); function kd_plugin_admin_init() { /* Register