2011-08-07 6 views
1

コードでこの:2つのelseifを持つこのif文には何が問題なのですか?

<?php if ($current_language == es-ES) : ?> 
<?php next_post_link('%link', 'Proyecto Siguiente ' . _x('', 'next post link', 'twentyten') . ''); ?> 
<?php elseif($current_language == zh-TW) : ?> 
<?php next_post_link('%link', '下一個項目 ' . _x('', 'next post link', 'twentyten') . ''); ?> 
<?php elseif($current_language == zh-CN) : ?> 
<?php next_post_link('%link', '下一个项目 ' . _x('', 'next post link', 'twentyten') . ''); ?> 
<?php else : ?> 
<?php next_post_link('%link', 'Next Project ' . _x('', 'next post link', 'twentyten') . ''); ?> 
<?php endif; ?> 

何らかの理由で、私はまだLANGがZH-TW(繁体字中国語)に設定されている場合でも、「「PROYECTO Siguienteを取得していますが

どれ提案

。?

答えて

2

あなたは比較している文字列を引用していませんので、PHPはそれらを定数にしています(存在しない)。PHPは最初にes-ESという名前の定数を探してエラーをスローするため、 E_NOTICEレベル(未定義定数)。試してください:

if ($current_language == 'es-ES') 

など。

+0

修正は正しいが、説明は間違っている(またはむしろ不完全である)。 –

+0

@Ignacio Vazquez-Abrams私はそれを疑っていました。ありがとう! – alexchenco

+0

@Ignacio - 更新される – karim79

1

$current_languageは文字列に対応しますか?もしそうなら、式の右辺は引用符で囲む必要があります。なぜなら、現在のところPHPはそれらが定数だと思っているからです。 PHPを省略することも良い考えですが、私は議論を開始したくありません。

<?php if ($current_language == "es-ES"){... 
0

なぜこれらのPHPの開閉タグを使用していますか?なぜ文字列の前後に引用符を使用しないのですか?とにかにこれはあなたのコードがクリーンアップされ、それは動作するはずです:

<?php 
    if ($current_language == 'es-ES') { 
     next_post_link('%link', 'Proyecto Siguiente ' . _x('', 'next post link', 'twentyten') . ''); 
    } elseif($current_language == 'zh-TW') { 
     next_post_link('%link', '下一個項目 ' . _x('', 'next post link', 'twentyten') . ''); 
    } elseif($current_language == 'zh-CN') { 
     next_post_link('%link', '下一个项目 ' . _x('', 'next post link', 'twentyten') . ''); 
    } else { 
     next_post_link('%link', 'Next Project ' . _x('', 'next post link', 'twentyten') . ''); 
    } 
?> 
+0

バージョン3以降、PHPは[多くの変更](http://www.php.net/manual/en/control-structures.alternative-syntax.php)... –

+0

@nobodyまあ、 (私は思う)私はちょうどWordPressのコーディング規約に従っている。 – alexchenco

+0

@IgnacioVazquezAbramsさて、PHP5で導入されたその構文について知りましたか?とにかく、私はいつもそのGW-BASICスタイルの構文が嫌いでした。 – nobody

関連する問題