短代码中的可翻译输出

时间:2013-07-23 16:52:57

标签: wordpress translation output shortcode

你好我想在我的短代码中使部分输出可翻译,但我不知道该怎么做。 我尝试过几次,但即使我设法添加代码,它也显示在div之外,输出变量所以不起作用..

我的没有翻译字符串的代码是:

add_shortcode('cv', 'vp_cv');
function vp_cv($atts, $content=null) {
extract(shortcode_atts(array(
    'number' => 6
), $atts));
global $post;
$output .= '<div class="container">';
$query = new WP_Query('post_type=resume&posts_per_page=' . $number . '&cat=' . $categories);
while($query->have_posts() ) : $query->the_post();
    $year = get_post_meta($post->ID, 'resume_year', true);
    $title = get_the_title();
    $client = get_post_meta($post->ID, 'resume_client', true);
    $address = get_post_meta($post->ID, 'resume_address', true);
    $output .= '<p class="year">' . $year . '</p>';
    $output .= '<p class="cv-title">' . $title . '</p>';
    $output .= '<p class="cv-client"> <strong> Client:</strong> '  . $client . '</p>';
    $output .= '<p class="cv-address"> <strong> Address:</strong> ' . $address. '</p>';
    endwhile;
$output .= '</div>
<div class="clearboth"></div>';
return $output;
}

我想添加到客户端并解决一个可翻译的字符串,如: <?php _e('Client:','ikos');?> 它必须在标签内部生成

谢谢!

1 个答案:

答案 0 :(得分:1)

假设您正确加载文本域,请尝试以下操作:

<?php
  // ....

    $output .= '<p class="cv-client"> <strong> ' . __( 'Client: ', 'ikos' ) . ' </strong> '  . $client . '</p>';
    $output .= '<p class="cv-address"> <strong> ' . __( 'Address: ', 'ikos' ) . ' </strong> ' . $address. '</p>';

  // ....

?>

使用__( 'Translatable string', 'your-text-domain' );返回没有echo的字符串。 使用_e( 'Translatable string', 'your-text-domain' );回显已翻译的字符串。 试试吧,希望它有所帮助!如果事情不明确,请随时提出。