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

WordPress PHP代码异常:链接文本应显示Testing 1却输出字母h

问题分析与修复方案

问题根源

你遇到的仅输出字母"h"的问题,核心是错误地将字符串类型的URL字段当作数组来访问。当你用$link_to_blogs['more_blogs_title']时,PHP会把非数字索引强制转换为整数0,最终取到的是URL字符串的第一个字符(比如https://...的首字母"h")。

另外代码还有两处小问题:

  • <p>标签未正确闭合,写成了<p>而非</p>
  • <ul>标签嵌套在循环内部,导致每个链接生成单独的列表,而非统一列表下的多个列表项

修正后的完整代码

<section>
<?php if ( have_rows( 'blog_layout' ) ): ?>
    <?php while ( have_rows( 'blog_layout' ) ) : the_row(); ?>
        <?php if ( get_row_layout() == 'blog_structure' ) : ?>
            <?php $hero_image = get_sub_field( 'hero_image' ); ?>
            <?php if ( $hero_image ) : ?>
                <img src="<?php echo esc_url( $hero_image['url'] ); ?>" alt="<?php echo esc_attr( $hero_image['alt'] ); ?>" />
            <?php endif; ?>
            <div class="wrapper">
                <h1><?php the_sub_field( 'blog_title' ); ?></h1>
            <?php if ( have_rows( 'blog_body_copy' ) ) : ?>
                <?php while ( have_rows( 'blog_body_copy' ) ) : the_row(); ?>
                    <p><?php the_sub_field( 'blog_body_copy_area' ); ?></p>
                <?php endwhile; ?>
            </div>
            <?php else : ?>
                <?php // No rows found ?>
            <?php endif; ?>
            <div class="wrapper">

            <h2><?php the_sub_field( 'more_blogs_header' ); ?></h2>
            <?php if ( have_rows( 'more_blogs_links' ) ) : ?>
                <ul>
                <?php while ( have_rows( 'more_blogs_links' ) ) : the_row(); ?>
                    <?php 
                    $blog_url = get_sub_field( 'link_to_blogs' );
                    $blog_title = get_sub_field( 'more_blogs_title' );
                    ?>
                    <?php if ( $blog_url && $blog_title ) : ?>
                        <li><a href="<?php echo esc_url( $blog_url); ?>"><?php echo esc_html( $blog_title ); ?></a></li>
                    <?php endif; ?>
                <?php endwhile; ?>
                </ul>
            <?php else : ?>
                <?php // No rows found ?> 
            <?php endif; ?>
        <?php endif; ?>
    <?php endwhile; ?>
<?php else: ?>
    <?php // No layouts found ?>
<?php endif; ?>
</div>
</section>

关键修正点说明

  1. 拆分字段获取:分别获取link_to_blogs(URL字段)和more_blogs_title(标题字段)两个独立子字段,避免字符串转数组的错误访问逻辑
  2. 修复标签闭合:修正<p>标签的闭合错误,避免HTML结构混乱
  3. 调整列表结构:将<ul>标签移到more_blogs_links循环外部,确保所有链接都在同一个列表容器下

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.16 00:10:36