Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/drupal/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 如何在插件开发中从单个表单构建、保存和检索wp_选项_Php_Wordpress - Fatal编程技术网

Php 如何在插件开发中从单个表单构建、保存和检索wp_选项

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

我正在使用一个简单的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="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";    
}