新手来了 我正在尝试创建一个 WordPress 插件,我得到以下代码来显示字体选择的下拉菜单。它可以工作,但看起来只是错误且效率不高,在不编写那些 if 语句的情况下更改数组的值以进行显示的方法是什么?
$plugin_options = get_option('plugin_options');
$plugin_fonts_array = array('Chunk', 'Crimson', 'Deja Vu Sans', 'Deja Vu Sans Condensed', 'Deja Vu Mono', 'Deja Vu Serif', 'Deja Vu Serif Condensed', 'IM Fell French Canon', 'Junction', 'Lato Light', 'Lato Regular', 'Lato Black', 'League Gothic Condensed', 'League Gothic Regular', 'League Script Number One', 'Linux Libertine', 'Linux Libertine Display', 'Linux Libertine Mono', 'OCRB', 'Open Baskerville', 'Open Sans Light', 'Open Sans', 'Open Sans Semi Bold', 'Open Sans Extra Bold', 'Prociono', 'Raleway Thin', 'Source Sans Pro Extra Light', 'Source Sans Pro Light', 'Source Sans Pro', 'Source Sans Pro Semi Bold', 'Source Sans Pro Black');
foreach ($plugin_fonts_array as $font) {
if ($font == $plugin_options['dropdown1']) {
$plugin_front_font = $plugin_options['dropdown1'];
if ($plugin_front_font == 'Chunk') { $plugin_front_font = 'chunk'; }
if ($plugin_front_font == 'Crimson') { $plugin_front_font = 'crimson'; }
if ($plugin_front_font == 'Deja Vu Sans') { $plugin_front_font = 'DejaVuSans'; }
if ($plugin_front_font == 'Deja Vu Sans Condensed') { $plugin_front_font = 'DejaVuSansCondensed'; }
if ($plugin_front_font == 'Deja Vu Mono') { $plugin_front_font = 'DejaVuSansMono'; }
if ($plugin_front_font == 'Deja Vu Serif') { $plugin_front_font = 'DejaVuSerif'; }
if ($plugin_front_font == 'Deja Vu Serif Condensed') { $plugin_front_font = 'DejaVuSerifCondensed'; }
if ($plugin_front_font == 'IM Fell French Canon') { $plugin_front_font = 'imfellfrenchcanon'; }
if ($plugin_front_font == 'Junction') { $plugin_front_font = 'junction'; }
if ($plugin_front_font == 'Lato Light') { $plugin_front_font = 'latolight'; }
if ($plugin_front_font == 'Lato Regular') { $plugin_front_font = 'latoregular'; }
if ($plugin_front_font == 'Lato Black') { $plugin_front_font = 'latoblack'; }
if ($plugin_front_font == 'League Gothic Condensed') { $plugin_front_font = 'leaguegothiccondensedregular'; }
if ($plugin_front_font == 'League Gothic Regular') { $plugin_front_font = 'leaguegothicregular'; }
if ($plugin_front_font == 'League Script Number One') { $plugin_front_font = 'leaguescriptnumberone'; }
if ($plugin_front_font == 'Linux Libertine') { $plugin_front_font = 'linuxlibertine'; }
if ($plugin_front_font == 'Linux Libertine Display') { $plugin_front_font = 'linuxlibertinedisplay'; }
if ($plugin_front_font == 'Linux Libertine Mono') { $plugin_front_font = 'linuxlibertinemono'; }
if ($plugin_front_font == 'OCRB') { $plugin_front_font = 'ocrb10'; }
if ($plugin_front_font == 'Open Baskerville') { $plugin_front_font = 'openbaskerville'; }
if ($plugin_front_font == 'Open Sans Light') { $plugin_front_font = 'opensanslight'; }
if ($plugin_front_font == 'Open Sans') { $plugin_front_font = 'opensans'; }
if ($plugin_front_font == 'Open Sans Semi Bold') { $plugin_front_font = 'opensanssemibold'; }
if ($plugin_front_font == 'Open Sans Extra Bold') { $plugin_front_font = 'opensansextrabold'; }
if ($plugin_front_font == 'Prociono') { $plugin_front_font = 'prociono'; }
if ($plugin_front_font == 'Raleway Thin') { $plugin_front_font = 'ralewaythin'; }
if ($plugin_front_font == 'Source Sans Pro Extra Light') { $plugin_front_font = 'sourcesansproextralight'; }
if ($plugin_front_font == 'Source Sans Pro Light') { $plugin_front_font = 'sourcesansprolight'; }
if ($plugin_front_font == 'Source Sans Pro') { $plugin_front_font = 'sourcesanspro'; }
if ($plugin_front_font == 'Source Sans Pro Semi Bold') { $plugin_front_font = 'sourcesansprosemibold'; }
if ($plugin_front_font == 'Source Sans Pro Black') { $plugin_front_font = 'sourcesansproblack'; }
}
}