1

编辑网站 CMS 设置时,有没有办法告诉 CMS 不清理输入?有问题的网站在首页上包含一个号召性用语 (CTA),并带有输入。见图片:

在此处输入图像描述

看到我添加了<br />标签以在电子邮件和电话号码之间添加换行符。这是因为结果是一个很长的 CTA,我想把它分成两行。但是输出忽略了标签:

<div class="front-call-to-action">
                <a class="front-button" href="mailto:myname@example.com" >

                        Tel: 123.456.7891  myname@example.com                   </a>
            </div>

我知道我可以使用编辑器硬编辑输出,但想知道是否有某种特殊字符可以用来告诉 CMS 输出标签,而不是忽略它?

请注意,这与标准 CMS 后端不同,在后者中管理员将输入文本并可以在文本输入中使用“原始 html”输入进行编辑。这涉及网站设置输入。

4

1 回答 1

0

我的回答是——根本不要那样做。

有两个输入字段,一个用于电话号码,一个用于电子邮件地址。以下是我通常在下面执行的操作,在这种情况下,我使用选项树作为选项,但是从选项中提取数据不是问题,这是你之后要做的;

<?php
    $mainTel = ot_get_option('hq_tel_number');
    $mainEmail = ot_get_option('hq_email');

    $encodedEmailLink = encode_email('mailto:'. $mainEmail);
    $encodedEmail = encode_email($mainEmail);
?>

<div class="grid_4">
    <ul class="contact-info">
        <li class="number"><a href="tel:<?php echo $mainTel; ?>"><?php echo $mainTel; ?></a></li>
        <li class="email"><a href="<?php echo $encodedEmailLink; ?>"><?php echo $encodedEmail; ?></a></li>
    </ul>
</div>

因此,它被拆分的事实意味着我可以与可以在智能手机上使用的电话号码建立链接,可以单击该号码来拨打它。您可以对它们进行不同且适当的样式设置,并且电子邮件地址而不是仅仅将输出显示给所有人,并且使用functions.php中的这个函数至少可以将杂物刮掉一点点

/* FUNCTION TO ASCII ENCODE EMAIL ADDRESSES  ------------------------------------------------------------*/

function encode_email($e) {
  for ($i = 0; $i < strlen($e); $i++) { $output .= '&#'.ord($e[$i]).';'; }
  return $output;
}
于 2013-11-11T19:54:37.043 回答