我正在努力思考如何创建一组选项字段,这些字段应该能够重复尽可能多的次数。但我很难想出如何继续下去。
目前,我已经设置了用于管理选项的可视化界面,但我不知道如何将它们保存到保存时的选项中。
这样的逻辑将如何区分不同的部分?在选项数组中将每个部分保持为单独的数组(我想是吧?)这样,您就可以添加任意多的节,以及任意多的嵌套数据字段。
这个想法很简单
1) 单击添加节以创建新节————
3)。。并将多个输入字段关联到节————
您还可以添加更多节
我的atm代码是:
PHP
<?php
function rd_settings_page() {
?>
<div class="wrap">
<h2><?php _e( \'Settings\', \'blog\' ); ?></h2>
<form enctype="multipart/form-data" action="options.php" method="POST">
<?php settings_fields( \'rd-settings-group\' ); ?>
<?php do_settings_sections( \'rd-settings\' ); ?>
<?php submit_button(); ?>
</form>
</div>
<?php
}
function rd_settings_api_init() {
add_settings_section(
\'rd_blog_info_section\',
__( \'Blog info settings\', \'blog\' ),
\'rd_blog_info_section_callback_function\',
\'rd-settings\'
);
if ( 1 === get_current_blog_id() ) {
register_setting( \'rd-settings-group\', \'rd_fashion_list\' );
register_setting( \'rd-settings-group\', \'rd_blog_description\' );
}
if ( 1 === get_current_blog_id() ) {
add_settings_field(
\'rd_fashion_list\',
__( \'Fashion Blogs\', \'blog\' ),
\'rd_fashion_list_callback_function\',
\'rd-settings\',
\'rd_blog_info_section\'
);
}
}
add_action( \'admin_init\', \'rd_settings_api_init\' );
function rd_blog_info_section_callback_function() {
echo \'<p>Blog info settings</p>\';
}
function rd_fashion_list_callback_function() {
$setting = get_option( \'rd_fashion_list\' );?>
<div class="inner-wrap"></div>
<span class="addsection button-primary">
+ Add Section
</span>
<?php
}
JS
$(document).on(\'click\', \'.addsection\', function () {
$(this).prev(\'.inner-wrap\').append(\'<div class="section">\'+
\'<input type="text" name="rd_facebook" id="rd-facebook" value=""/>\'+
\' Name for section\'+
\'<ul>\'+
\'<li>\'+
\'<select>\'+
\'<option value="" disabled="disabled" selected="selected">Please select a blog</option>\'+
\'<option value="1">One</option>\'+
\'<option value="2">Two</option>\'+
\'</select>\'+
\'<span class="close">×</span>\'+
\'</li>\'+
\'</ul>\'+
\'<span class="addblog button">+ Add Blog</span>\'+
\'</div>\');
});
$(document).on(\'click\', \'.addblog\', function () {
$(this).prev(\'ul\').append(\'<li>\'+
\'<select>\'+
\'<option value="" disabled="disabled" selected="selected">Please select a blog</option>\'+
\'<option value="1">One</option>\'+
\'<option value="2">Two</option>\'+
\'</select>\'+
\'<span class="close">×</span>\'+
\'</li>\');
});