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

LearnPress结账表单前添加自定义内容失效,求代码排查

问题排查与修复方案

你的代码未显示内容,主要有几个核心问题,逐一排查修复:

1. 页面判断逻辑错误

LearnPress的结账页面通常不是普通WordPress页面(page类型),而是自定义路由或专属页面类型,is_page(1463)这个条件大概率不成立,导致代码块根本没执行。

替换为LearnPress专属的结账页面判断函数:

if ( learn_press_is_checkout() ) {
    // 内容输出代码
}

如果确实需要指定特定页面,可先在结账页面用echo get_the_ID();打印真实ID,再替换到判断条件中。

2. 钩子名称可能不匹配

不同版本的LearnPress钩子名称存在差异,你使用的learn_press_checkout_before_checkout_form可替换为更通用的learnpress_checkout_before_form,或对照当前LearnPress版本的官方钩子文档确认正确名称。

3. 子主题函数文件加载验证

确保代码放在子主题的functions.php中,且文件无语法错误(如括号不匹配、引号未闭合)。可在函数开头添加echo 'test';测试是否触发,验证函数是否被正确加载。

4. HTML写法优化(非核心问题)

代码中&lt;和&quot;可直接写成<和",PHP的echo里直接输出HTML更简洁易读。

修复后的完整代码示例

function custom_content_before_checkout() {
    // 正确判断LearnPress结账页面
    if ( learn_press_is_checkout() ) {
        echo '<div class="custom-content">';
        echo '<table>';
        echo '<tr><th>Header 1</th><th>Header 2</th></tr>';
        echo '<tr><td>Data 1</td><td>Data 2</td></tr>';
        echo '<tr><td>Data 3</td><td>Data 4</td></tr>';
        echo '</table>';
        echo '</div>';
    }
}
add_action('learnpress_checkout_before_form', 'custom_content_before_checkout', 10);

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.08 05:22:15