html - 在模板管理面板中配置的链接在网站上不起作用
问题描述
Wordpress 网站上的问题是,即使在 WP 管理区域中正确设置了链接(参见附件 1),一旦网站发布,它们也无法正常工作。使用检查元素时,它会显示问题(见附件 2)。
单击并打开管理区域内的链接工作得很好。网站上的其他链接正常工作。这里缺少什么?
WP模板中的代码:
<?php if ($section['link_to_doc']) : ?>
<?php foreach ($section['link_to_doc'] as $link) : ?>
<div>
<a href="<?php echo $link['link_to_doc'] ?>" class="btn-txt">
<?php echo $link['text_of_link'] ?>
</a>
</div>
<?php endforeach; ?>
<?php endif; ?>
解决方案
由于链接的编码方式错误,ACF 链接对象似乎没有在 href 中返回正确的输出。
通常你会想要这样的东西:
$link = get_field('link');
<a href="<?= $link['url']) ?>"<?= $link['title'] ?></a>
那是提供 ACF 字段没有嵌套,并且字段名称是“链接”并且只有一个。
修改后的代码(大概):
<?php if ($section['link_to_doc']) : ?>
<?php foreach ($section['link_to_doc'] as $link) : ?>
<div>
<a href="<?= $link['url'] ?>" class="btn-txt">
<?= $link['text_of_link'] ?>
</a>
</div>
<?php endforeach; ?>
<?php endif; ?>
甚至认为整个概念不是最好的,因为您不会创建额外的自定义字段来放置链接的文本,因为您可以使用 $link['title'] ,但是是的......
编辑2:
根据您的屏幕截图,将 a 编辑为:
<a href="<?= $link['link'] ?>" class="btn-txt">
<?= $link['text_of_link'] ?>
</a>
推荐阅读
- mailgun - Mailgun:电子邮件转发不起作用?
- php - 从本地文件系统复制文件并处理到另一台服务器的数据库中
- android - Xamarin Android:接收 Firebase 通知令牌
- java - 任务 ':query-api:compileJava' 的 Gradle 执行失败。
- javascript - 给定一个随机值数组,计算缺少哪些值以及其中有多少?
- javascript - 将音频文件从 Angular 资产发布到服务器
- c# - 如何将 XML 从 ASP.NET 4 Web API 返回到 ASP.NET Core 2 应用程序?
- wkwebview - WKWebView 无法从 https://mobile.bet365.com 加载整页
- c# - WPF 应用程序不会使用 Application.Run() 打开;
- azure-resource-group - AzureStack 删除资源组中的所有资源及其依赖资源