You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Wordpress中ACF搭配Slick Slider图片跳转仅到首页问题求助

问题原因

你的代码核心问题出在链接输出逻辑上,两处错误导致href属性为空,浏览器默认跳转首页:

  1. 没有用echo输出链接内容,PHP代码段里的逻辑不会自动打印到页面
  2. 直接使用链接ID没有转换成可访问的URL地址

修正方案

如果你ACF的link子字段设置的返回格式为链接数组,将a标签的href部分修改为以下代码即可:

<a href="<?php echo esc_url(get_permalink($link['id'])); ?>">

如果你的link字段返回格式设置为直接返回URL字符串,修改为:

<a href="<?php echo esc_url($link); ?>">

完整修正后代码示例

<h3 class="pb-3"><?php the_field('slider-text', false, false) ?></h3>
<div id="<?php echo esc_attr($id); ?>" class="<?php echo esc_attr($className); ?>">
    <?php if (have_rows('slides')): ?>
        <div class="slides"
             data-slick='{"slidesToShow": 5, "slidesToScroll": 1, "autoplay": true, "autoplaySpeed": 2000, "dots": true}'>
            <?php while (have_rows('slides')): the_row();
                $image = get_sub_field('image');
                $link = get_sub_field('link');
                ?>
                <div class="col">
                    <!-- 修正后的链接代码,默认适配链接数组返回格式 -->
                    <a href="<?php echo esc_url(get_permalink($link['id'])); ?>">
                    <?php echo wp_get_attachment_image($image['id'], 'full'); ?>
                    </a>
                </div>
            <?php endwhile; ?>
        </div>
    <?php endif; ?>
</div>

注意事项

  • 如果需要跳转外链,可给a标签添加target="_blank" rel="noopener noreferrer"属性,提升站点安全性
  • 若修改后仍有问题,可在循环内临时添加<?php var_dump($link); ?>打印字段值,确认ACF字段配置正确、能正常拿到链接数据

内容的提问来源于stack exchange,提问作者Beep

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.24 09:54:04