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

如何在WooCommerce下载标签展示登录用户的Gravity PDF动态链接?

实现WooCommerce「我的账户」显示用户Gravity Forms提交的PDF下载链接

1. 关于用wp_get_current_user()获取Entry ID的问题

没错,必须通过wp_get_current_user()拿到当前登录用户的ID,才能精准筛选出该用户提交的所有表单条目。Gravity Forms的每个Entry都会记录创建者ID(created_by字段),用这个字段做过滤条件就能拿到对应用户的所有提交记录。

2. 基于查询结果创建动态短码

直接写一个自定义短码函数,在函数内部完成条目查询和PDF链接生成,代码示例如下:

// 注册自定义短码,用于显示用户的Gravity PDF下载链接
add_shortcode('user_gravity_pdfs', 'display_user_gravity_pdfs');
function display_user_gravity_pdfs($atts) {
    // 检查用户是否登录
    if (!is_user_logged_in()) {
        return '<p>请先登录查看您的PDF下载链接</p>';
    }

    // 获取当前登录用户ID
    $current_user = wp_get_current_user();
    $user_id = $current_user->ID;

    // 配置查询参数:替换成你的表单ID,这里假设表单ID是1
    $form_id = 1;
    $search_criteria = array(
        'status'        => 'active', // 只获取已提交的有效条目
        'field_filters' => array(
            array(
                'key'   => 'created_by',
                'value' => $user_id,
            ),
        ),
    );

    // 通过GFAPI查询用户的所有表单条目
    $entries = GFAPI::get_entries($form_id, $search_criteria);

    // 如果没有条目,返回提示
    if (empty($entries)) {
        return '<p>您还没有提交过表单,暂无PDF下载链接</p>';
    }

    // 开始生成PDF链接列表
    $output = '<ul class="user-gravity-pdfs">';
    foreach ($entries as $entry) {
        // 用GravityPDF短码生成链接,替换成你的PDF模板ID,可自定义链接文本
        $pdf_link = do_shortcode("[gravitypdf id='your-pdf-template-id' entry='{$entry['id']}' title='表单提交PDF(提交时间:{$entry['date_created']})']");
        $output .= "<li>{$pdf_link}</li>";
    }
    $output .= '</ul>';

    return $output;
}

注意:需要把代码里的$form_id替换成你实际的Gravity Forms表单ID,id='your-pdf-template-id'替换成你创建的Gravity PDF模板ID。

3. 展示多个PDF链接

上面的代码已经通过foreach循环遍历了用户的所有条目,每个条目生成一个PDF链接并放在<li>标签里,最终输出成无序列表。用户多次提交的话,就会显示多个下载链接,还可以通过{$entry['date_created']}显示提交时间,方便用户区分不同的PDF文件。

最后一步:在WooCommerce「我的账户」页面添加短码

进入WooCommerce后台,找到「我的账户」页面的编辑界面,在「下载」标签对应的内容区域(或页面内容中)添加短码[user_gravity_pdfs],保存后登录用户就能在「我的账户-下载」里看到自己的所有PDF下载链接了。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.22 16:48:58