我正试图在Wordpress主题自定义区域中创建一个选择框/下拉菜单,从我的Wordpress DB中名为“wp\\u revsliders\\u sliders”的表中名为“alias”的列中提取选项。
我已经创建了自定义部分,以及下拉菜单的基本设置和控制(参见下面的图1),但作为这方面的新手,我不知道如何正确地查询Wordpress DB,从“wp\\U RevSliders\\U sliders”表的“Alias”列提取结果,并将其输出插入下面的“choices array”:
Figure 1
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) 创建一个单独的PHP文件(tablequerytest.PHP)来查询自定义表并存储结果:
<?php
global $wpdb; //Accessing WP Database (non-WP Table) use code below.
$results = $wpdb->get_results(\'SELECT alias FROM wp_revslider_sliders\');
foreach ($results as $result) {
$revchoices = array("text" => $result, "value" => $result);
}
return $revchoices;
?>
2)将上述PHP文件的结果插入到$wp\\u customize->add\\u control choices数组中,如下所示:
$wp_customize->add_control(
\'select_revslider\',
array(
\'type\' => \'select\',
\'label\' => \'Please Select a Slider:\',
\'section\' => \'example_section_one\',
\'choices\' => include(\'jktestrev.php\'),
)
);
上述操作似乎无法正常工作,并在显示自定义程序面板时产生问题。感谢您对如何使这项工作成功的任何反馈或想法,或为我指出另一种解决方法。