这个有两个 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; ?>
出于某种原因,即使语言设置为 zh-TW(繁体中文),我仍然收到“Proyecto Siguiente”。
有什么建议吗?
This is the code:
<?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; ?>
For some reason, I'm still getting 'Proyecto Siguiente" even if the lang is set to zh-TW (Chinese Traditional).
Any suggestion?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(3)
您没有再次引用要比较的字符串,因此 PHP 将它们视为常量(不存在)。它仍然可以工作,因为 PHP 首先查找名为 es-ES 的常量,并会抛出 E_NOTICE 级别的错误(未定义常量)。尝试:
等等。
You are not quoting the strings agains which you are comparing, so PHP is taking them to be constants (which do not exist). It will still work because PHP first looks for a constant named es-ES and will throw an error of level E_NOTICE (undefined constant). Try:
and so on.
$current_language
是否对应于字符串?如果是这样,那么表达式的右侧需要加引号,因为目前 PHP 认为它们是常量。放弃简写 PHP 也是一个好主意,但我不想引发争论。
Does
$current_language
correspond to string? If so then the right hand side of your expressions need to be quoted because currently PHP thinks they are constants.Ditching shorthand PHP would also be a good idea but I don't want to start an argument.
你为什么使用所有这些 php 打开/关闭标签?为什么不在字符串周围使用引号?不管怎样,这是你清理过的代码,它应该可以工作:
Why do you use all those php open/close tags? Why don't you use quotes around strings? anyway this is your code cleaned up and it should work: