我试图使用ACF URL字段将卡片组件包装在URL中,然后在按钮中使用该组件内部的相同URL,这是因为CSS中的样式化原因。
这是我的代码:
<a href="<?php the_field(\'first_featured_url\'); ?>">
<div class="cell medium-auto card">
<span class="card__title"><?php the_field(\'first_featured_title\'); ?></span>
<div class="card__image__wrap">
<div class="card__image" style="background-image: url(<?php echo get_field(\'first_featured_image\'); ?>);">></div>
</div>
<div class="card__footer">
<a href="<?php the_field(\'first_featured_url\'); ?>"><?php the_field(\'first_featured_link_text\'); ?></a>
</div>
</div>
</a>
但我得到的结果是:
<a href="correcturl">
</a>
<div class="cell medium-auto card"><a href="correcturl">
<span class="card__title">Featured Client</span>
<div class="card__image__wrap">
<div class="card__image" style="background-image: url(aurl);">></div>
</div>
<div class="card__footer">
<a href="correcturl">
</a><a href="correcturl">View Our Clients</a>
</div>
</div>
不知怎的,它工作了,组件是可点击的,它工作正常,但我不知道为什么它会复制页脚中的链接,而无法包装我的组件。这是预期的行为吗?我能做些什么来防止它吗?
非常感谢。
最合适的回答,由SO网友:tmdesigned 整理而成
这实际上是一个HTML问题,而不是ACF问题。
不能有嵌套的“a”标记。
如果你这样做了,浏览器会试图通过为你关闭它们来使事情合理化,通常会把你想做的事情弄得一团糟。
无论如何,您可能不需要内部元素,整个元素都是可以单击的。