PHP标签内的自定义字段的PHP

时间:2012-11-09 11:38:03

标签: php wordpress plugins

我显示的滑块可以获取自定义字段中的图像,现在我需要滑块显示不同的图像,具体取决于语言(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 begginer所以我看到问题可能是php在另一个php内部,因为这样它不起作用,如果我只是在标签之间放置文本它可以正常使用该语言。

任何想法如何解释这个?

4 个答案:

答案 0 :(得分: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
}
?>

答案 1 :(得分:0)

你不能互相拥有php-tags。

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

答案 2 :(得分:0)

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

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

有多个错误。起初,你不能使用

'.(your things here).'

第二,theres a&lt;在你的第四行,你忘了关闭你的img标签。

答案 3 :(得分: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>';

?>