马上:我不是一个程序员,做了很短时间的网站,这是我在这里的第一篇帖子。我从不需要编码,我相信这对于有经验的人来说是一个非常基本的代码,所以只要看看是否有人能给我指出正确的方向。
我有一个PHP模板,用于Wordpress网站上门户插件(WP客户端)的短代码,我需要添加一个;“条件文本”;到(我已经向他们求助了,他们帮不了我)。
说明:
当短代码放置在页面上时,它会显示一个包含英文收件箱、已发送邮件、垃圾箱等的消息中心。我的网站是多语种的,所以我需要能够更改某些页面上的标签。我的想法是在模板中插入一段代码,上面写着;“收件箱”;如果页面ID/名称为;示例1“;并将;Bandeja de entrada”一词;如果页面ID/名称为;示例2;。
这是我正在处理的模板:
<div class="wpc_private_messages_shortcode">
<div class="wpc_msg_nav_wrapper">
<input type="button" class="wpc_msg_new_message_button wpc_button" value="<?php _e( \'New\', WPC_CLIENT_TEXT_DOMAIN ); ?>" title="<?php _e( \'New Message\', WPC_CLIENT_TEXT_DOMAIN ); ?>"/>
<div class="wpc_msg_nav_list_wrapper">
<div class="wpc_msg_nav_list_collapsed"></div>
<ul class="wpc_msg_nav_list">
<li class="wpc_nav_button inbox" data-list="inbox"><?php _e( \'Inbox\', WPC_CLIENT_TEXT_DOMAIN ); ?></li>
<li class="wpc_nav_button sent" data-list="sent"><?php _e( \'Sent\', WPC_CLIENT_TEXT_DOMAIN ); ?></li>
<li class="wpc_nav_button archive" data-list="archive"><?php _e( \'Archive\', WPC_CLIENT_TEXT_DOMAIN ); ?></li>
<li class="wpc_nav_button trash" data-list="trash"><?php _e( \'Trash\', WPC_CLIENT_TEXT_DOMAIN ); ?></li>
</ul>
</div>
</div>
如您所见,共有5个标签:New、Inbox、Sent、Archive和Trash。这些是我需要能够根据页码/名称更改为另一种语言的页面。
我大概已经用了10种不同的方式写了这篇文章,但我还没有完全做到这一点。
我在想一些类似的事情(但使用页面ID/名称):
<?php
$t = date("H");
if ($t < "10") {
echo "Have a good morning!";
} elseif ($t < "20") {
echo "Have a good day!";
} else {
echo "Have a good night!";
}
?>
非常感谢您的帮助。
谢谢
詹姆斯
SO网友:Mat
插件中使用的字符串使用可翻译字符串,即。_e( \'Inbox\', WPC_CLIENT_TEXT_DOMAIN )
最好使用WPML或Polylang之类的翻译插件,而不是在模板文件中有条件地执行此操作。
然而,如果您更喜欢在模板文件中执行此操作,那么您可能应该考虑使用PHP Switch语句(https://www.w3schools.com/php/php_switch.asp), 例如:。
<?php
$pageid = get_the_ID();
switch ($pageid) {
case 123:
echo "Your favorite color is red!";
break;
case 456:
echo "Your favorite color is blue!";
break;
case 789:
echo "Your favorite color is green!";
break;
default:
echo "Your favorite color is neither red, blue, nor green!";
}
?>