所以我在这个项目中使用WordPress,我不太清楚如何解决这个问题整洁&清洁
我总共有8个选项。如果他们中的任何一个被设置,我需要某事。我还需要为每一套执行它。
现在让我们使用两个
if( (genesis_get_option('setting_one', 'settings') || genesis_get_option('setting_two', 'settings')) !== '')
{ // print() each one that is set }
你可以看到如何以8种方式这样做很快就会变得非常难看。我的所有设置都有相同的前缀:(setting_a
,setting_b
,setting_one
,setting_two
)
我想类似
$settings = array_fill(1, 8, 'setting_');
$labels = array(1 => 'a', 'b', 'c', 'd', 'one', 'two', 'three', 'four');
....但后来我不知道从哪里去。
GOT是一种干净的方式吗?
答案 0 :(得分:2)
一种更简洁的方式是:
$settings = array("setting_one","setting_two","setting_a");
$has_setting = false;
foreach($settings as $setting){
if(genesis_get_option($setting, 'settings') !== ''){
$has_setting = true;
break;
}
}
if($has_setting){
//Do stuff
}
更好的做法是将检查放入一种方法来保持代码更整洁。
编辑:刚刚意识到您需要针对每个设置执行操作。在这种情况下,你可以在循环内完成。
答案 1 :(得分:0)
if(false !== array_search(true,
array_map(
'genesis_get_option',
array('setting_one', 'setting_to' /* ... */ ),
array('value_one', 'value_two' /* ... */)
)
)) { /* ... */ }