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

如何在首尾短代码标签内添加HTML代码?

问题分析与修正方案

嘿,我来帮你搞定这个短代码的问题!你当前的写法存在一个核心错误,咱们一步步说:

你的错误点

你把[hide]短代码拆成了两部分调用:先用do_shortcode输出开头标签,然后直接写表格内容。但do_shortcode()函数的工作逻辑是必须接收完整的短代码字符串(包含开头、闭合标签和中间内容),拆分调用的话,WordPress根本没法识别这是一个完整的短代码,自然不会执行隐藏内容的逻辑,表格内容会直接暴露出来。

正确的实现方式

方式一:直接包裹完整内容

把你要隐藏的表格内容和短代码的首尾标签一起放进do_shortcode里,像这样:

<?php echo do_shortcode('[hide for="logged"]
    <table>
        <thead>
            <tr>
                <th>Domain</th>
                <th>Service Type</th>
                <th>User Name</th>
                <th>Client Name</th>
                <!-- 补充你的剩余表头/表体内容 -->
            </tr>
        </thead>
        <tbody>
            <!-- 这里放表格的具体数据行 -->
        </tbody>
    </table>
[/hide]'); ?>

方式二:动态拼接内容(适合内容较多或需要动态生成的场景)

如果你的表格内容是动态生成的(比如从数据库拉取数据),可以先把内容存进变量,再拼接成完整的短代码:

<?php
// 先构建要隐藏的表格内容(这里可以加动态生成逻辑)
$hidden_table = '<table>
        <thead>
            <tr>
                <th>Domain</th>
                <th>Service Type</th>
                <th>User Name</th>
                <th>Client Name</th>
                <!-- 剩余表头 -->
            </tr>
        </thead>
        <tbody>
            <!-- 动态生成的表体内容 -->
        </tbody>
    </table>';

// 拼接完整短代码并输出
echo do_shortcode('[hide for="logged"]' . $hidden_table . '[/hide]');
?>

这样写之后,WordPress就能正确解析[hide]短代码,实现仅登录用户可见内容的效果啦~

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.22 07:38:50