0

我想用 switch() 编写一个函数,我可以在其中传递多个对象的选项值。

代码

<?php
function font_switch(){

    if ($option == get_option('fm_font_family')) {
        get_option('fm_font_family') ;
    } else if ($option == get_option('fm_font_family_text')) {
        get_option('fm_font_family_text') ;
    }

    switch($option){

        case 'Choose font family':
            return null;
            break;

        case 'Georgia, serif':
            return 'Georgia, serif';
            break;

        case 'Palatino Linotype, Book Antiqua, Palatino, serif':
            return 'Palatino Linotype, Book Antiqua, Palatino, serif';
            break;

        case 'Times New Roman, Times, serif':
            return 'Times New Roman, Times, serif';
            break;

        case 'Arial, Helvetica, sans-serif':  
            return 'Arial, Helvetica, sans-serif'; 
            break;

        case 'Comic Sans MS, cursive, sans-serif':
            return 'Comic Sans MS, cursive, sans-serif';
            break;

        case 'Impact, Charcoal, sans-serif':
            return 'Impact, Charcoal, sans-serif';
            break;

        case 'Lucida Sans Unicode, Lucida Grande, sans-serif':
            return 'Lucida Sans Unicode, Lucida Grande, sans-serif';
            break;

        case 'Tahoma, Geneva, sans-serif':
            return 'Tahoma, Geneva, sans-serif';
            break;

        case 'Verdana, Geneva, sans-serif':
            return 'Verdana, Geneva, sans-serif';
            break;

        default:
            return '';
            break;        
    }
}
?>

CSS

 body{
     font-family: <?php echo font_switch(get_option('fm_font_family')); ?>;
    }
    p{
     font-family: <?php echo font_switch(get_option('fm_font_family_text')); ?>;
    }

所以在上面的函数中,我想使用 get_option('my option id') 传递选项,并想将它用于 css,因为我使用的是相同的字体系列

如果您有其他更好的选择,我也可以选择。

4

1 回答 1

3

我会重写这个,因为你几乎总是返回相同的值:

<?php
function font_switch($option)
{
    switch($option){
        case 'Choose font family':
            return null;

        case 'Georgia, serif':
        case 'Palatino Linotype, Book Antiqua, Palatino, serif':
        case 'Times New Roman, Times, serif':
        case 'Arial, Helvetica, sans-serif':  
        case 'Comic Sans MS, cursive, sans-serif':
        case 'Impact, Charcoal, sans-serif':
        case 'Lucida Sans Unicode, Lucida Grande, sans-serif':
        case 'Tahoma, Geneva, sans-serif':
        case 'Verdana, Geneva, sans-serif':
            return $option;

        default:
            return '';
    }
}
于 2012-09-25T10:18:39.993 回答