0

我正在显示一个滑块,该滑块从自定义字段中获取图像,现在我需要滑块根据语言(es - ca)显示不同的图像:

这是滑块的代码:

        <a href="<?php the_field('slider_home_1_enlace') ?>">
            <img src="<?php the_field('slider_home_1'); ?>">
        </a>

所以我正在创建一个条件标签来根据 qtranslate 插件的语言加载图像:

        <?php
        _e('<!--:es-->
                <a href="<?php the_field('slider_home_1_enlace') ?>">
                    <img src="<?php <the_field('slider_home_1'); ?>">
                </a>
            <!--:-->
            <!--:ca-->
                <a href="<?php the_field('slider_home_1_enlace_ca') ?>">
                    <img src="<?php the_field('slider_home_1_ca'); ?>">
                </a>
            <!--:-->');
        ?>

我是 php 初学者,所以我看到问题可能是 php 在另一个 php 中,因为这样它不起作用,如果我只是在标签之间放置文本,它就可以正常使用该语言。

任何想法如何语法?

4

4 回答 4

3

您需要先检查语言,使用if - else

检测语言并将其存储到名为$language的变量中,然后检查如下条件。

<?php
if(qtrans_getLanguage()=="es"){
?>
  <a href="<?php the_field('slider_home_1_enlace'); ?>">
      <img src="<?php the_field('slider_home_1'); ?>">
  </a>
<?php
} else if(qtrans_getLanguage()=="ca"){
?>
  <a href="<?php the_field('slider_home_1_enlace_ca'); ?>">
      <img src="<?php the_field('slider_home_1_ca'); ?>">
  </a>
<?php
}
?>
于 2012-11-09T11:51:26.880 回答
0

你不能那样使用它。比较:(我猜 the_field() 返回字符串;))

<a href="'.the_field("slider_home_1_enlace").'">
    <img src="'.the_field("slider_home_1").'" />
</a>

有多个错误。起初,您无法使用

'.(your things here).'

其次,在你的第四行有一个 < 并且你忘记关闭你的 img-tag。

于 2012-11-09T11:43:29.607 回答
0

彼此之间不能有 php-tags。

使用基本的字符串连接来组合你的字符串: http: //php.net/manual/en/language.operators.string.php

于 2012-11-09T11:42:52.253 回答
0

首先,安装 qTranslate Wordpress 插件。

然后,你可以试试这个:

<?php

    $slider_img_fields_langs = array(
        '',
        'ca',
        'es',
    );

    $lang = qtrans_getLanguage();
    if( !in_array( $lang, $slider_img_fields_langs ) );
        $lang = '';

    echo '
<a href="' . the_field( 'slider_home_1_enlace' . $lang ) . '">
    <img src="' . the_field( 'slider_home_1' . $lang ) . '">
</a>';

?>
于 2012-11-12T15:48:43.263 回答