Php 如何在插件开发中从单个表单构建、保存和检索wp_选项
我正在使用一个简单的WP插件,这是我的第一个插件,我不知道使用update_options函数处理WP_options表的正确方法。我的插件中有以下代码:Php 如何在插件开发中从单个表单构建、保存和检索wp_选项,php,wordpress,Php,Wordpress,我正在使用一个简单的WP插件,这是我的第一个插件,我不知道使用update_options函数处理WP_options表的正确方法。我的插件中有以下代码: <form name="frequent_traveler_form" method="post" action="<?php echo str_replace('%7E', '~', $_SERVER['REQUEST_URI']); ?>"> <input type="hidden" name="fr
<form name="frequent_traveler_form" method="post" action="<?php echo str_replace('%7E', '~', $_SERVER['REQUEST_URI']); ?>">
<input type="hidden" name="frequent_traveler_hidden" value="Y">
<?php echo "<h4>" . __('Common Settings') . "</h4>"; ?>
<p><?php _e("Default Conversion Value: "); ?><input type="text" name="ft_default" value="<?php echo $ft_default; ?>" size="5"></p>
<p><?php _e("From Date: "); ?><input type="text" id="frequent_traveler_from_date" name="frequent_traveler_from_date" value="<?php echo $frequent_traveler_from_date ?>" class="datepicker" /></p>
<p><?php _e("To Date: "); ?><input type="text" id="frequent_traveler_to_date" name="frequent_traveler_to_date" value="<?php echo $frequent_traveler_to_date; ?>" class="datepicker" /></p>
<p class="submit">
<input type="submit" name="Submit" value="<?php _e('Save') ?>" />
</p>
</form>
是这样吗?我怎么做到的
更新
这是我在frequent-traveler.php中的内容,它是其他函数中的主要插件文件:
function frequent_traveler_admin_actions()
{
add_options_page("Frequent Traveler Configuration", "Frequent Traveler Config", 'manage_options', "ftconfig", "frequent_traveler_admin");
}
add_action('admin_menu', 'frequent_traveler_admin_actions');
function frequent_traveler_admin()
{
include('ft_admin.php');
}
这是ft_admin.php上的代码:
没有显示任何内容,代码中有什么错误?你的意思是?@brasofilo我应该在哪里编写代码?我输入了插件文件,但没有工作没有足够的信息来诊断您的问题。@brasofilo查看我的编辑,我添加了wpdb似乎不必要的相关信息,搜索示例并检查。
function frequent_traveler_admin_actions()
{
add_options_page("Frequent Traveler Configuration", "Frequent Traveler Config", 'manage_options', "ftconfig", "frequent_traveler_admin");
}
add_action('admin_menu', 'frequent_traveler_admin_actions');
function frequent_traveler_admin()
{
include('ft_admin.php');
}
<?php
wp_enqueue_script('jquery-ui-datepicker');
wp_enqueue_style('jquery-style', 'http://ajax.googleapis.com/ajax/libs/jqueryui/1.8.2/themes/smoothness/jquery-ui.css');
?>
<div class="wrap">
<?php echo "<h2>" . __('Frequent Traveler Configuration') . "</h2>"; ?>
<form name="frequent_traveler_form" method="post" action="<?php echo str_replace('%7E', '~', $_SERVER['REQUEST_URI']); ?>">
<input type="hidden" name="frequent_traveler_hidden" value="Y">
<?php echo "<h4>" . __('Common Settings') . "</h4>"; ?>
<p><?php _e("Default Conversion Value: "); ?><input type="text" name="ft_default" value="<?php echo $ft_default; ?>" size="5">
<?php _e("From Date: "); ?><input type="text" id="frequent_traveler_from_date" name="frequent_traveler_from_date" value="<?php echo $frequent_traveler_from_date ?>" class="datepicker" />
<?php _e("To Date: "); ?><input type="text" id="frequent_traveler_to_date" name="frequent_traveler_to_date" value="<?php echo $frequent_traveler_to_date; ?>" class="datepicker" /></p>
<p class="submit">
<input type="submit" name="Submit" value="<?php _e('Save') ?>" />
</p>
</form>
</div>
<div class="wrap">
<table class="widefat">
<thead>
<tr>
<td>Conversion Value</td>
<td>From Date</td>
<td>To Date</td>
</tr>
</thead>
<tfoot>
<tr>
<td>Conversion Value</td>
<td>From Date</td>
<td>To Date</td>
</tr>
</tfoot>
<tbody>
<?php
global $wpdb;
if ($_POST['ft_default'] && $_POST['frequent_traveler_from_date'] && $_POST['frequent_traveler_to_date'] && $_POST['ft_default'] != "" && $_POST['frequent_traveler_from_date'] != "" && $_POST['frequent_traveler_to_date'] != "") {
$ft_options = array(
'ft_default' => $_POST['ft_default'],
'frequent_traveler_from_date' => $_POST['frequent_traveler_from_date'],
'frequent_traveler_to_date' => $_POST['frequent_traveler_to_date']
);
update_option('ft_options', $ft_options);
}
$config_options = $wpdb->get_results("SELECT * FROM " . $wpdb->prefix . "options");
foreach ($config_options as $cop) {
?>
<tr>
<td><?php echo $cop->ft_default ?></td>
<td><?php echo $cop->from_date ?></td>
<td><?php echo $cop->to_date ?></td>
</tr>
<?php } ?>
</tbody>
</table>
</div>
<script>
jQuery(document).ready(function() {
jQuery('.datepicker').datepicker({
dateFormat: 'dd/mm/yy'
});
});
</script>
<?php
wp_enqueue_script('jquery-ui-datepicker');
wp_enqueue_style('jquery-style', 'http://ajax.googleapis.com/ajax/libs/jqueryui/1.8.2/themes/smoothness/jquery-ui.css');
add_action('admin_init', 'add_meta_boxes', 1);
function add_meta_boxes()
{
add_meta_box('repeatable-fields', 'Promotions', 'repeatable_meta_box_display');
}
function repeatable_meta_box_display()
{
echo "I'm here";
}