2016-12-06 62 views
-1

我可以爲echo設置顏色,但我不知道如何爲「befor_text」和「after_text」做同樣的事情。在短代碼php文件中設置顏色輸出

任何人都可以教我嗎?謝謝...

extract(shortcode_atts(array(
      'user_id' => 'current', 
      'title'  => '', 
      'befor_text' => '', 
      'title_el' => 'h1', 
      'balance_el' => 'div', 
      'wrapper' => 1, 
      'formatted' => 1, 
      'after_text' => '', 
      'type'  => MYCRED_DEFAULT_TYPE_KEY 

     ), $atts)); 

     $output = ''; 

     // Not logged in 
     if (! is_user_logged_in() && $user_id == 'current') 
      return $content; 

     // Get user ID 
     $user_id = mycred_get_user_id($user_id); 

     // Make sure we have a valid point type 
     if (! mycred_point_type_exists($type)) 
      $type = MYCRED_DEFAULT_TYPE_KEY; 

     // Get the users myCRED account object 
     $account = mycred_get_account($user_id); 
     if ($account === false) return; 

     // Check for exclusion 
     if (empty($account->balance) || ! array_key_exists($type, $account->balance)) return; 

     $balance = $account->balance[ $type ]; 

     if ($wrapper) 
      $output .= '<div class="mycred-my-balance-wrapper">'; 

     // Title 
     if (! empty($title)) { 
      if (! empty($title_el)) 
       $output .= '<' . $title_el . '>'; 

      $output .= $title; 

      if (! empty($title_el)) 
       $output .= '</' . $title_el . '>'; 
     } 

     //Text befor balance output 
     if (! empty($befor_text)){ 
      $output .= $befor_text; 
     } 


     // Balance 
     if (! empty($balance_el)) 
      $output .= '<' . $balance_el . '>'; 

     if ($formatted) 
      $output .= $balance->type->format($balance->current); 
     else 
      $output .= $balance->type->number($balance->current); 

     if (! empty($balance_el)) 
      $output .= '</' . $balance_el . '>'; 

     if ($wrapper) 
      $output .= '</div>'; 

     //Text after balance output 
     if (! empty($after_text)){ 
      $output .= $after_text; 
     } 
     return $output; 

    } 
endif; 
add_shortcode('mycred_my_balance', 'mycred_render_shortcode_my_balance'); 

?> 
+0

你可以用內聯樣式的顏色的HTML代碼,只是追加到'$ befor_text'和'$ after_text'變量..在顯示時它就會被渲染。 –

+1

請嘗試澄清您的問題。就目前而言,很難知道你想要做什麼。 –

+0

@PatrickQ,我認爲他想改變指定變量文本的顏色..這就是我至少從他的問題得到的形式 –

回答

0

我可能只是包裝每個文本的那件在span,並給予不同的類,以每個。然後只需添加一些CSS來定義你想要的顏色。

... 

//Text befor balance output 
if (! empty($befor_text)){ 
    $output .= "<span class='before_text'>".$befor_text."</span>"; 
} 

... 

//Text after balance output 
if (! empty($after_text)){ 
    $output .= "<span class='after_text'>".$after_text."</span>"; 
} 

CSS

.before_span { 
    color: red; 
} 

.after_span { 
    color: green; 
} 
+0

oooooo so eaaaasyyy :)你是最好的人謝謝 – EnEs

+0

@EnEs如果這解決了你的問題,你應該將它標記爲已接受,以便人們知道。此外,接受答案將使人們更有可能在未來爲您的問題提供答案。 –