2013-05-08 44 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