将条件文本添加到PHP快捷代码模板

时间:2021-08-19 作者:Jimmyb

马上:我不是一个程序员,做了很短时间的网站,这是我在这里的第一篇帖子。我从不需要编码,我相信这对于有经验的人来说是一个非常基本的代码,所以只要看看是否有人能给我指出正确的方向。

我有一个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!";
}
?>

非常感谢您的帮助。

谢谢

詹姆斯

1 个回复
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!";
}

?>