Wordpress-自定义wp_选项条目

Wordpress-自定义wp_选项条目,wordpress,Wordpress,我想要什么 对于我正在开发的主题,我尝试使用数据库中的wp_options表 我在wp admin中有一个自定义选项页面,其中有4个条目,其中有两个选项,如下所示: Options Option 1 Text: Option 1 Value: Option 2 Text: Option 2 Value: etc. add_option('option-1-text', ''); add_option('option-1-value', ''); update_option('optio

我想要什么

对于我正在开发的主题,我尝试使用数据库中的wp_options表

我在wp admin中有一个自定义选项页面,其中有4个条目,其中有两个选项,如下所示:

Options

Option 1 Text:
Option 1 Value:

Option 2 Text:
Option 2 Value:

etc.
add_option('option-1-text', '');
add_option('option-1-value', '');
update_option('option-1-text', $option1text);
update_option('option-1-value', $option1value);
add_action( 'customize_register', function( $wp_customize ) {

    $wp_customize->add_section( 'my_section' , array( 'title' => 'MY Custom Section' ) );
    $wp_customize->add_setting( 'my_setting' , array( 'default' => false ) );       
    $wp_customize->add_control( 'my_setting', array(
        'label'      => 'My Custom Setting',
        'section'    => 'my_section',
        'settings'   => 'my_setting',
        'type'       => 'checkbox'
    ));

});
现在我想将这些设置写入数据库

我拥有的

为了编写此代码,我使用以下Wordpress代码片段:

首先,我在我的functions.php中添加如下选项:

Options

Option 1 Text:
Option 1 Value:

Option 2 Text:
Option 2 Value:

etc.
add_option('option-1-text', '');
add_option('option-1-value', '');
update_option('option-1-text', $option1text);
update_option('option-1-value', $option1value);
add_action( 'customize_register', function( $wp_customize ) {

    $wp_customize->add_section( 'my_section' , array( 'title' => 'MY Custom Section' ) );
    $wp_customize->add_setting( 'my_setting' , array( 'default' => false ) );       
    $wp_customize->add_control( 'my_setting', array(
        'label'      => 'My Custom Setting',
        'section'    => 'my_section',
        'settings'   => 'my_setting',
        'type'       => 'checkbox'
    ));

});
然后,我在保存页面时更新这些选项,如下所示:

Options

Option 1 Text:
Option 1 Value:

Option 2 Text:
Option 2 Value:

etc.
add_option('option-1-text', '');
add_option('option-1-value', '');
update_option('option-1-text', $option1text);
update_option('option-1-value', $option1value);
add_action( 'customize_register', function( $wp_customize ) {

    $wp_customize->add_section( 'my_section' , array( 'title' => 'MY Custom Section' ) );
    $wp_customize->add_setting( 'my_setting' , array( 'default' => false ) );       
    $wp_customize->add_control( 'my_setting', array(
        'label'      => 'My Custom Setting',
        'section'    => 'my_section',
        'settings'   => 'my_setting',
        'type'       => 'checkbox'
    ));

});
问题

它起作用了。但我不认为这是Wordpress的最佳实践。对于这8个设置,我不想在数据库中创建自己的表


有人能帮我吗?

选项API就是为此而设计的,因此它的使用是使用插件或主题选项的正确方法。还有一个主题自定义API,允许开发人员自定义主题的设置(并实时查看这些更改的预览),它还可以用于创建和使用各种自定义主题选项

例如,创建新节和添加复选框设置控件可以按如下方式完成:

Options

Option 1 Text:
Option 1 Value:

Option 2 Text:
Option 2 Value:

etc.
add_option('option-1-text', '');
add_option('option-1-value', '');
update_option('option-1-text', $option1text);
update_option('option-1-value', $option1value);
add_action( 'customize_register', function( $wp_customize ) {

    $wp_customize->add_section( 'my_section' , array( 'title' => 'MY Custom Section' ) );
    $wp_customize->add_setting( 'my_setting' , array( 'default' => false ) );       
    $wp_customize->add_control( 'my_setting', array(
        'label'      => 'My Custom Setting',
        'section'    => 'my_section',
        'settings'   => 'my_setting',
        'type'       => 'checkbox'
    ));

});
要获取设置值,请使用
get\u theme\u mod()
函数

get_theme_mod( 'my_setting' )
就我个人而言,当我使用主题的选项时,我觉得使用主题API比使用设置和选项API更舒服,因为它更容易获得相同的效果

以下是一些有用的链接:







您应该摆脱
添加选项()
update_option()
将在该选项不存在时添加该选项。