2014-11-01 230 views
0

請原諒我,如果我的言論不正確!將參數添加到Wordpress PHP函數

我有一個工作函數,根據帖子的類別輸出一個字體真棒圖標。我正在尋找擴展函數,以便我可以根據函數中的數組指定我的調用中的大小。

這裏的工作代碼

<?php echo category_icon(); ?> -- html output is <i class="fa fa-desktop"></i>) 

我期待實現以下...

<?php echo category_icon($icon_size); ?> --output would be <i class="fa fa-desktop$icon_size"></i>) 

這裏是我當前的功能

function category_icon($icon_size){ 
    $build_icon_cat = get_the_category(); 
    $choose_icon = $build_icon_cat[0]->cat_ID; 

      // chooses icon by category 
      if ($choose_icon == 19) $build_icon_dos = 'fa fa-desktop'; 
      elseif ($choose_icon == 15) $build_icon_dos = '<i class="fa fa-cog'; 

    //-------size array 
$icon_size = array(
    '' => '', 
    '1' => ' fa-lg', 
    '2' => ' fa-2x', 
    '3' => ' fa-3x', 
    '4' => ' fa-4x', 
    '5' => ' fa-5x', 
); 

//variables for building 
     $build_icon_uno = '<i class="'; 
     $build_icon_cuatro = '"></i>'; 
     $display_category_icon = $build_icon_uno . $build_icon_dos . $icon_size . $build_icon_cuatro; 

return $display_category_icon; 
+1

你'$ icon_size'作爲參數,然後你重新聲明它作爲一個數組。將數組的名稱更改爲'$ icon_array',然後可以像這樣獲取大小:'$ icon_array [$ icon_size]',其中'$ icon_size'只是一個匹配索引(即:'',' 1','2'...) – maiorano84 2014-11-01 20:21:15

+0

經過幾天的搜索,它完美的工作..謝謝! – mn8809 2014-11-01 20:30:49

+0

然後發佈爲答案。請儘可能接受。 – maiorano84 2014-11-01 20:31:36

回答

1

你有$icon_size設置爲參數,然後將其重新聲明爲數組。將數組的名稱更改爲$icon_array之類的內容,然後可以像這樣檢索大小:$icon_array[$icon_size],其中$icon_size只是一個匹配索引(即:'','1','2'...)。

您可能還想考慮使用isset進行一些基本的驗證,以及一些默認大小。

+0

創建這個函數示例用於一般學習,以便儘可能減少它。我想下一步的議程是學習isset。再次感謝 – mn8809 2014-11-01 20:37:11

0

感謝maiorano84提供的見解。這是工作代碼。上的index.php

<?php echo category_icon('5'); ?> 

工作職能

回調

function category_icon($icon_size){ 
    $build_icon_cat = get_the_category(); 
    $choose_icon = $build_icon_cat[0]->cat_ID; 

      // chooses icon by category 
      if ($choose_icon == 19) $build_icon_dos = 'fa fa-desktop'; 
      elseif ($choose_icon == 15) $build_icon_dos = '<i class="fa fa-cog'; 

    //-------size array 
$icon_array = array(
    '' => '', 
    '1' => ' fa-lg', 
    '2' => ' fa-2x', 
    '3' => ' fa-3x', 
    '4' => ' fa-4x', 
    '5' => ' fa-5x', 
); 

//variables for building 
     $build_icon_uno = '<i class="'; 
     $build_icon_cuatro = '"></i>'; 
     $display_category_icon = $build_icon_uno . $build_icon_dos . $icon_array[$icon_size] . $build_icon_cuatro; 

return $display_category_icon; 
}