插件中的自定义选项,REGISTER_SETTINGS不能作为no options.php工作吗?

时间:2014-09-10 作者:Francesca

我很难获得一个自定义插件来保存选项,因为它找不到选项。php(我不知道它应该在哪里)

插件的完整代码:

add_action( \'admin_menu\', \'dotmailer_menu\' );


function dotmailer_menu() {
    add_options_page( \'Dotmailer Options\', \'Dotmailer Details\', \'manage_options\', \'dotmailer\', \'dotmailer_options\' );
}


function dotmailer_options() {
?>

<div class="wrap">
    <form method="post" action="options.php">
    <?php settings_fields( \'settings-group\' ); ?>
    <?php do_settings_sections( \'settings-group\' ); ?>

        <label>API key</label><br />
        <input type="email" name="apiemail" value="<?php echo get_option(\'apiemail\'); ?>"><br />
        <label>Password</label><br />
        <input type="password" name="apipassword" value="<?php echo get_option(\'apipassword\'); ?>"><br />
        <p><input type="submit" value="Save" class="button-primary" /></p>
    </form>
</div>
<?php 
}

function register_settings() {  
        register_setting(\'settings-group\',\'apiemail\');
        register_setting(\'settings-group\',\'apipassword\');
    }
当我提交表单时,它只返回一个错误,表示找不到选项。php。

我应该创建选项吗。php我自己?我以前使用过类似的代码,但没有创建选项。php本身没有问题。

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

你的register_settings 未调用函数。钩住它admin_init.

function register_settings() {  
        register_setting(\'settings-group\',\'apiemail\');
        register_setting(\'settings-group\',\'apipassword\');
    }

add_action( \'admin_init\', \'register_settings\' );

结束

相关推荐

Widget options get

如何获取小部件选项?我试过这样做,就像在另一个问题“在小部件之外使用小部件选项”中看到的那样:$w=get_option(\'widget_wp_mywidget\'); $one=$w[2][\"myval\"]; $two=$w[2][\"myotherval\"]; 但我不太清楚为什么这[2]是动态的,我不能依赖它,那么如何以正确的方式获得数组的精确值呢?