2013-05-08 15 views
1

我试图使register_settings有点清洁我的插件。 现在看起来是这样的:WordPress的:register_settings帮手

add_action('admin_init', 'hpblogposts_register_settings'); 
function hpblogposts_register_settings() { 
    register_setting('hpblogposts_settings_options_group', 'linkid01'); 
    register_setting('hpblogposts_settings_options_group', 'linktext01'); 
    register_setting('hpblogposts_settings_options_group', 'linkalt01'); 
    register_setting('hpblogposts_settings_options_group', 'linkid02'); 
    register_setting('hpblogposts_settings_options_group', 'linktext02'); 
    register_setting('hpblogposts_settings_options_group', 'linkalt02'); 
    register_setting('hpblogposts_settings_options_group', 'linkid03'); 
    register_setting('hpblogposts_settings_options_group', 'linktext03'); 
    register_setting('hpblogposts_settings_options_group', 'linkalt03'); 
    register_setting('hpblogposts_settings_options_group', 'linkid04'); 
    register_setting('hpblogposts_settings_options_group', 'linktext04'); 
    register_setting('hpblogposts_settings_options_group', 'linkalt04'); 
    register_setting('hpblogposts_settings_options_group', 'linkid05'); 
    register_setting('hpblogposts_settings_options_group', 'linktext05'); 
    register_setting('hpblogposts_settings_options_group', 'linkalt05'); 
    register_setting('hpblogposts_settings_options_group', 'linkid06'); 
    register_setting('hpblogposts_settings_options_group', 'linktext06'); 
    register_setting('hpblogposts_settings_options_group', 'linkalt06'); 
} 

对于每个设置register_settings的“组”之称的3倍。 我试图使它更容易:

add_action('admin_init', 'hpblogposts_register_settings'); 
function csHpBlogPostsSimplyRegisterSettings($id) { 
    register_setting('hpblogposts_settings_options_group', 'linkid'+$id); 
    register_setting('hpblogposts_settings_options_group', 'linktext'+$id); 
    register_setting('hpblogposts_settings_options_group', 'linkalt'+$id); 
} 
function hpblogposts_register_settings() { 
    csHpBlogPostsSimplyRegisterSettings('01'); 
    csHpBlogPostsSimplyRegisterSettings('02'); 
    csHpBlogPostsSimplyRegisterSettings('03'); 
    csHpBlogPostsSimplyRegisterSettings('04'); 
    csHpBlogPostsSimplyRegisterSettings('05'); 
    csHpBlogPostsSimplyRegisterSettings('06'); 
} 

但它不以这种方式工作(值不会保存)。

任何想法,我犯了一个错误?

回答

1

其一,当你连接字符串,你应该use a dot, not a plus

register_setting('hpblogposts_settings_options_group', 'linkalt' . $id); 
+0

太多的JavaScript最近。感谢您的好评:) – 2013-05-08 17:45:15