2014-09-18 4 views
-1

У меня есть name.PHP файл, в котором следующий код присутствует:переменной вызова в функции

<?php $trans=pll_e('All Products'); ?> 

Здесь pll_e('All Products') есть функция плагина, который полезен для перевода string.Above кода даст выход в All Products если языке На английском языке, иначе он выдаст результат Other language.

В этом имени.PHP файл, есть функция.

Код для этой функции:

function catalogue() { 

if($count>0){ 
     $return_string .= '<li class="wpc-category ' . $class . '"><a href="'. get_option('catalogue_page_url') .'">All Products</a></li>'; 
     foreach($termsCatSort as $term){ 
      if($term_slug==$term->slug){ 
      $class = 'active-wpc-cat'; 
     }else{ 
      $class = ''; 
     } 
     $return_string .= '<li class="wpc-category '. $class .'"><a href="'.get_term_link($term->slug, 'wpccategories').'">'. $term->name .'</a></li>';  
     } 
    }else{ 
     $return_string .= '<li class="wpc-category"><a href="#">No category</a></li>'; 
    } 
} 

Я хочу использовать $trans в этой функции вместо Всех продуктов .Как я могу это сделать?

+0

Объявить $ trans global и использовать его в любом месте – Afsar

+0

Используйте один из приведенных ниже вариантов. Они должны работать на вас. –

ответ

0

Я допустил ошибку при использовании опции плагина по умолчанию.

Я использовал pll_e('All Products'), но когда я использовал pll__('All Products'), он сработал.

0
$trans=pll_e('All Products'); 

function catalogue($trans) { 

    if($count>0){ 
    $return_string .= '<li class="wpc-category ' . $class . '"><a href="'. get_option('catalogue_page_url') .'">'.$trans.'</a></li>'; 
    foreach($termsCatSort as $term){ 
     if($term_slug==$term->slug){ 
     $class = 'active-wpc-cat'; 
    }else{ 
     $class = ''; 
    } 
    $return_string .= '<li class="wpc-category '. $class .'"><a href="'.get_term_link($term->slug, 'wpccategories').'">'. $term->name .'</a></li>';  
    } 
    }else{ 
    $return_string .= '<li class="wpc-category"><a href="#">No category</a></li>'; 
    } 
} 
-1

вы можете описать Params для функции, а также имеют значение по умолчанию, если параметр не был принят

function catalogue($trans = 'All Products') { 

if($count>0){ 
     $return_string .= '<li class="wpc-category ' . $class . '"><a href="'. get_option('catalogue_page_url') .'">'.$trans.'</a></li>'; 
     foreach($termsCatSort as $term){ 
      if($term_slug==$term->slug){ 
      $class = 'active-wpc-cat'; 
     }else{ 
      $class = ''; 
     } 
     $return_string .= '<li class="wpc-category '. $class .'"><a href="'.get_term_link($term->slug, 'wpccategories').'">'. $term->name .'</a></li>';  
     } 
    }else{ 
     $return_string .= '<li class="wpc-category"><a href="#">No category</a></li>'; 
    } 
} 

так что если вы делаете:

catalogue(); // All Products will be used 

еще

$trans=pll_e('All Products'); 
catalogue($trans); 

, но также вы можете использовать функцию без прохождение parametrers

function catalogue() { 

    if($count>0){ 

     $trans = pll_e('All Products'); 

     $return_string .= '<li class="wpc-category ' . $class . '"><a href="'. get_option('catalogue_page_url') .'">'.$trans.'</a></li>'; 
     foreach($termsCatSort as $term){ 
      if($term_slug==$term->slug){ 
      $class = 'active-wpc-cat'; 
     }else{ 
      $class = ''; 
     } 
     $return_string .= '<li class="wpc-category '. $class .'"><a href="'.get_term_link($term->slug, 'wpccategories').'">'. $term->name .'</a></li>';  
     } 
    }else{ 
     $return_string .= '<li class="wpc-category"><a href="#">No category</a></li>'; 
    } 
} 
+0

Почему downvotes? любое объяснение? – 2014-09-18 06:45:40

0

Вы можете передать переменную в функцию:

function catalogue($trans) { 
    echo $trans; 
} 

или вы можете сделать переменную доступной внутри функции с помощью «глобального»:

function catalogue() { 
    global $trans; 
    echo $trans; 
} 
0

Вы можете передать это следующим образом, если $ trans определяется до функции.

function catalogue($trans) 
{ 
    if($count>0) 
    { 
    $return_string .= '<li class="wpc-category ' . $class . '"><a href="'. get_option('catalogue_page_url') .'">'.$trans.'</a></li>'; 
    foreach($termsCatSort as $term) 
    { 
     if($term_slug==$term->slug) 
     { 
      $class = 'active-wpc-cat'; 
     }else{ 
      $class = ''; 
     } 
     $return_string .= '<li class="wpc-category '. $class .'"><a href="'.get_term_link($term->slug, 'wpccategories').'">'. $term->name .'</a></li>';  
    } 
    } 
    else 
    { 
    $return_string .= '<li class="wpc-category"><a href="#">No category</a></li>'; 
    } 
} 
0

Не существует смысла хранить всю возможную переводимую строку в переменной, чтобы вы могли ее использовать позже. Просто вызовите функцию перевода, где она вам нужна.

$return_string .= '<li class="wpc-category ' . $class . '"><a href="'. get_option('catalogue_page_url') .'">'. pll_e('All Products') . '</a></li>'; 
// ... 
$return_string .= '<li class="wpc-category"><a href="#">' . pll_e('No category') . '</a></li>'; 
Смежные вопросы