如何将WordPress当前页面标题传入Formidable Forms统计代码
解决方案:自动匹配页面标题统计Formidable表单数据
一、PHP代码实现(适配Elementor自定义HTML模块)
直接替换原有代码中的固定值,用页面标题获取函数实现动态匹配:
echo FrmProStatisticsController::stats_shortcode(array( 'id' => '55jqi', 'type' => 'count', 50 => get_the_title() // 兼容自定义文章类型,自动返回当前页面标题 ));
也可使用你提到的single_post_title()(需将第二个参数设为false以返回值而非直接输出):
echo FrmProStatisticsController::stats_shortcode(array( 'id' => '55jqi', 'type' => 'count', 50 => single_post_title('', false) ));
将这段代码添加到Elementor自定义文章类型模板的自定义HTML模块中,即可在每个页面自动统计表单ID为55jqi、字段ID为50的值与当前页面标题匹配的条目数量。
二、短代码实现(需自定义封装)
原生[frm-stats]短代码无法直接嵌套PHP函数,需先在主题的functions.php文件中添加自定义短代码:
function custom_frm_stats_by_title() { $current_title = get_the_title(); return FrmProStatisticsController::stats_shortcode(array( 'id' => '55jqi', 'type' => 'count', 50 => $current_title )); } add_shortcode('frm-stats-by-title', 'custom_frm_stats_by_title');
添加完成后,在Elementor模板中直接使用自定义短代码即可:
[frm-stats-by-title]
核心逻辑说明
Formidable Forms的统计功能支持通过字段ID作为参数过滤结果:在统计参数中加入「字段ID => 过滤值」,就能仅统计该字段匹配指定值的条目。本次实现就是利用这一规则,将过滤值动态替换为当前页面标题,实现批量页面的自动统计。
内容的提问来源于stack exchange,提问作者Clonify207
相关产品推荐
相关产品推荐

