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

phpタグを相互に含めることはできません。

基本的な文字列連結を使用して、文字列を結合します:http: //php.net/manual/en/language.operators.string.php

于 2012-11-09T11:42:52.253 に答える
0

あなたはそれをそのように使うことはできません。比較:(the_field()は文字列を返すと思います;))

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

複数の間違いがあります。最初は使用できません

'.(your things here).'

次に、4行目に<があり、imgタグを閉じるのを忘れています。

于 2012-11-09T11:43:29.607 に答える
0

まず、qTranslateWordpressプラグインをインストールします。

次に、これを試すことができます:

<?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 に答える