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 に答える