我有name.PHP文件,其中包含以下代码:
<?php $trans=pll_e('All Products'); ?>
此处pll_e('All Products')
是一个插件的功能,对翻译字符串非常有用。如果语言为英语,则代码会将输出设为All Products
,否则会输出Other language
在该name.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 :(得分: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 :(得分:0)
您可以将变量传递给函数:
function catalogue($trans) {
echo $trans;
}
或者您可以使用&#34; global&#34;:
在函数中访问变量function catalogue() {
global $trans;
echo $trans;
}
答案 2 :(得分: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>';
}
}
答案 3 :(得分: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>';
答案 4 :(得分:0)
我在使用插件的默认选项时犯了错误。
我使用的是pll_e('All Products')
,但是当我使用pll__('All Products')
时,它就有效了。
答案 5 :(得分:-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);
但你也可以在不传递参数的情况下使用函数
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>';
}
}