首页 > 解决方案 > 在模板管理面板中配置的链接在网站上不起作用

问题描述

Wordpress 网站上的问题是,即使在 WP 管理区域中正确设置了链接(参见附件 1),一旦网站发布,它们也无法正常工作。使用检查元素时,它会显示问题(见附件 2)。

单击并打开管理区域内的链接工作得很好。网站上的其他链接正常工作。这里缺少什么?WP 管理员

检查链接元素

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; ?>

中继器字段: 在此处输入图像描述

在此处输入图像描述

在此处输入图像描述

标签: htmlwordpress

解决方案


由于链接的编码方式错误,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>

推荐阅读