【问题标题】:Subpage with setting api wordpress带有设置 api wordpress 的子页面
【发布时间】:2013-02-23 20:51:20
【问题描述】:

我目前正在尝试了解设置 api,说实话这有点困难。

我遇到的问题是,当我在子页面上提交表单时,它只是转到 options.php 页面?

这是我目前的代码

function setup_theme_admin_menus() {  


add_menu_page('Theme settings', 'SMate Options', 'manage_options',   
    'theme_settings', 'theme_settings_page');  

add_submenu_page('theme_settings',   
    'Front Page Elements', 'Front Page', 'manage_options',   
    'theme_settings_fp', 'theme_front_page_settings'); 

    add_submenu_page(
    'theme_settings',   
    'Team Option', 
    'Team Option', 
    'manage_options',   
    'theme_team_options', 
    'theme_team_settings_fn'
    );  
}


add_action('admin_init', 'initialize_theme_options'); 


function initialize_theme_options(){

register_setting('team_details', 'team_details' );

add_settings_section( 
    'member1',         
    'MEMBER 1',                  
    'theme_settings_fn', 
    'theme_team_options'
); 

add_settings_field(   
    't1',                  
    'Name',                 
    'text_fn',                       
    'theme_settings_team',
    'member1'
); 
add_settings_field(   
    'jt1',        
    'Job',      
    'text_fn',    
    'theme_settings_team', 
    'member1' 
);  
add_settings_field(   
    'lt1',
    'Description',  
    'longtext_fn',  
    'theme_settings_team',
    'member1' 
);
}

add_action('admin_init', 'initialize_theme_options');


function theme_team_settings_fn() { 


?>  

    <div class="wrap">  


        <div id="icon-themes" class="icon32"></div>  
        <h2>Sandbox Theme Options</h2>  


        <?php print_r('team_details');
         settings_errors(); ?>


        <form method="post" action="options.php">  
            <?php do_settings_sections('theme_team_options'); ?> 
            <?php submit_button(); ?>  
        </form>  

    </div><!-- /.wrap -->  
<?php  


}

任何帮助将不胜感激,因为我似乎遇到了障碍,所有教程似乎都使用 add_theme_page 完成

【问题讨论】:

  • 您缺少一些使子页面正常工作的关键元素,无论是子页面还是主题页面。您在正确的路径上并将表单操作设置为 options.php 因为您想要创建进入 sql db 中的选项表的项目。
  • 谢谢,我可以理解我的元素可能没有发布,我只是无法理解当我提交时,它会将我重定向到 /options.php?

标签: wordpress api settings


【解决方案1】:

对于初学者,您的 register_settings('option_group','option_name); 不应该是我会使用的 team_details_groupteam_details_options 等的同名。

然后在

之后的表单内执行settings_fields('team_details_group')

&lt;form method=post action=options.php&gt;

紧随其后的是$options = get_option('team_details_options')

然后使用team_details_options 在输入字段名称属性内保存任何数据,即:

&lt;input type="text" name="team_details_options[memberName]" /&gt;

如果这有帮助或者您需要更多信息,请告诉我。

【讨论】:

    猜你喜欢
    • 2020-01-31
    • 2015-12-05
    • 2010-11-02
    • 1970-01-01
    • 2011-06-28
    • 1970-01-01
    • 1970-01-01
    • 2021-06-17
    • 2016-08-16
    相关资源
    最近更新 更多