Php 在Wordpress中使用AJAX动态添加设置字段
我正在尝试为wordpress插件构建一个设置表单。 我不知道到底有多少选择,所以它必须是动态结构的形式。 对于建筑选项,我使用 我找不到创建动态字段的方法 我有一个带有默认选项的数组:Php 在Wordpress中使用AJAX动态添加设置字段,php,jquery,wordpress,Php,Jquery,Wordpress,我正在尝试为wordpress插件构建一个设置表单。 我不知道到底有多少选择,所以它必须是动态结构的形式。 对于建筑选项,我使用 我找不到创建动态字段的方法 我有一个带有默认选项的数组: function filtered_install(){ //defaults options $array= Array ( '0' => 1, '1' => 1, '2' => 3 );
function filtered_install(){
//defaults options
$array= Array
(
'0' => 1,
'1' => 1,
'2' => 3
);
add_option('snso_fields_array',$array);
}
添加设置页面:
# Register a new page in the "Settings" tab:
function filtered_add_admin_pages() {
$page = add_options_page(
'Setting search.', // - page title administration
'Search with filters', // - the name of the menu item
'manage_options', // - the right of access to editing
'filteder_search.php', // - slug
'filtered_options_page' // - callback.
);
}
添加表格:
function filtered_options_page()
{
echo '<div class="wrap">';
screen_icon(); // - icon.
echo '<form method="post" action="options.php">'; // - processing of the request.
do_settings_sections('snso_page'); // - output section.
settings_fields('snso_fields'); // - output fields belonging to the same group.
echo '<a href=\'#\' id=\'add\'>Add new field</a>'; // - button that add more fields.
submit_button(); // - submit button.
echo '</form>';
echo '</div>';
}
';
}
然后单击id为“Add”的添加新字段链接,我需要在数据库中更新选项“snso\u字段\u数组”
js。文件:
add_action( 'wp_ajax_update_options', 'update_options_callback' );
add_action( 'wp_ajax_nopriv_update_options', 'update_options_callback' );
注册“更新选项”操作:
function update_options_callback() {
$new_value = $_POST['my_var'];
if ($new_value ='my_data') {
$new_array = get_option('snso_fields_array');
$new_array[]='';
update_option('snso_fields_array',$new_array);
}
}
更新选项“snso\u字段\u数组”:
很好
现在我需要用“snso\u fields\u array”选项的新数据刷新我的表单。您能解释一下您的问题吗?函数update\u options\u callback()更新数组,但带有选项的表单在重新加载页面之前不显示新字段我想在不重新加载页面的情况下刷新表单在我们提供帮助之前,您仍然需要编写大量代码。这里有一个kickstart:和。此外,您对引号也有问题,请参阅
add_action( 'wp_ajax_update_options', 'update_options_callback' );
add_action( 'wp_ajax_nopriv_update_options', 'update_options_callback' );
function update_options_callback() {
$new_value = $_POST['my_var'];
if ($new_value ='my_data') {
$new_array = get_option('snso_fields_array');
$new_array[]='';
update_option('snso_fields_array',$new_array);
}
}