wordpress主题定制器下拉列表

时间:2017-02-27 19:11:24

标签: php mysql wordpress wordpress-theming

我正在尝试在Wordpress主题自定义区域中创建一个选择框/下拉菜单,其中的选项将从名为"别名"的列中提取。在名为" wp_revslider_sliders"的表中来自我的Wordpress DB。

我已经创建了该部分,以及下拉菜单的基本设置和控件(参见下面的图1),但作为这方面的新手,我无法弄清楚如何查询Wordpress DB,从" Alias"中提取结果。我和#34; wp_revslider_sliders"的列表并将它们输出到"选择数组"以下

图。 1

$wp_customize->add_control(
    'select_revslider',
array(
    'type' => 'select',
    'label' => 'Please Select a Slider:',
    'section' => 'example_section_one',
    'choices' => array(
        'wordpress' => 'WordPress',
     ),
)
);

图。 2

function example_customizer( $wp_customize ) {

$wp_customize->add_section(
    'example_section_one',
    array(
        'title' => 'Example Settings',
        'description' => 'This is a settings section.',
        'priority' => 35,
    )
);

$wp_customize->add_setting(
    'select_revslider',
array(
    'default' => 'wordpress',
)
);


$wp_customize->add_control(
    'select_revslider',
array(
    'type' => 'select',
    'label' => 'Please Select a Slider:',
    'section' => 'example_section_one',
    'choices' => array(
        'wordpress' => 'WordPress',
     ),
)
);

1 个答案:

答案 0 :(得分:0)

在你的function.php文件中,crate函数如下:

function alias_from_wp_revslider_sliders() {

   $sql = "SELECT aliasname FROM wp_revslider_sliders";
   $result = $conn->query($sql);

   $alias_list = array();

      foreach($alias_list as $alias) {
         $alias_list[$alias->aliasname] = $alias->aliasname;
      }

   return  $alias_list;

}

并且当你添加控件而不是选择时,调用我们在functions.php

中创建的函数
$wp_customize->add_control(
    'select_revslider',
array(
    'type' => 'select',
    'label' => 'Please Select a Slider:',
    'section' => 'example_section_one',
    'choices' => function alias_from_wp_revslider_sliders(),
)