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

如何在WordPress短代码中调用当前文章ID实现Ninja Tables动态过滤

解决WordPress中Ninja Tables动态调用当前文章ID作为过滤条件的问题

方案1:用代码片段插件实现(无需深入PHP开发)

这是最直接的方法,只需复制粘贴代码即可:

  1. 安装并激活「Code Snippets」插件(WordPress官方插件库可直接搜到)
  2. 进入插件的「添加新片段」页面,粘贴以下代码:
function dynamic_ninja_table() {
    global $post;
    // 仅在单篇文章/页面中生效
    if (is_single() || is_page()) {
        $current_post_id = $post->ID;
        // 动态生成Ninja Tables短代码,替换filter值为当前文章ID
        return do_shortcode("[ninja_tables id='446' search=0 filter='{$current_post_id}' filter_column='Filter4' columns='name,address,city,website,facebook']");
    }
    return '';
}
add_shortcode('dynamic_ninja_table', 'dynamic_ninja_table');
  1. 给片段命名(比如「动态Ninja表格」),点击「保存并激活」
  2. 打开你的主题模板文件(比如single.php或page.php),找到需要显示表格的位置,插入代码:<?php echo do_shortcode('[dynamic_ninja_table]'); ?>
    • 如果你不会找模板文件,也可以用「自定义HTML」块(Gutenberg编辑器)或页面构建器的代码模块,直接插入[dynamic_ninja_table]短代码

方案2:用页面构建器的动态标签(如果你在用Elementor/Beaver Builder等)

如果你的网站用可视化页面构建器,直接用内置的动态标签替换filter值:

  • 以Elementor为例:添加「短代码」模块,输入[ninja_tables id="446" search=0 filter=",然后点击动态标签按钮,选择「文章ID」,再补全剩余短代码:" filter_column="Filter4" columns="name,address,city,website,facebook"]
  • 最终生成的短代码会自动在前端替换为当前文章的ID,无需手动修改

这样设置后,非技术管理员只需在Google Spreadsheet的「Filter4」列填入对应文章ID,表格就会自动匹配当前文章的内容,不用手动添加短代码。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.13 08:27:33