📜  <?php echo do_shortcode(' '); ?>带变量 - PHP (1)

📅  最后修改于: 2023-12-03 14:38:55.608000             🧑  作者: Mango

以''带变量 - PHP

在WordPress主题开发过程中,经常会使用自定义的shortcode(短代码)来添加特定的功能或内容。通常情况下,shortcode 是以静态方式定义的,但有些情况下我们需要使用变量来构建 shortcode,这时候就需要用到 <?php echo do_shortcode(' '); ?> 这个函数。

do_shortcode 函数

do_shortcode 是 WordPress 内置的一个函数,它可以帮助我们将 shortcode 解析成特定的内容。通俗来说,就是在 WordPress 的文章或页面中使用 shortcode 时,系统会将 shortcode 抽离出来,经过 do_shortcode() 函数的解析处理,最终将 shortcode 渲染成具体的 HTML 内容。

使用 do_shortcode 带变量

下面是一个使用 do_shortcode 带变量的实例,我们可以将其添加到主题的 functions.php 文件中。

// 创建一个带变量的 shortcode
function my_shortcode_func($atts) {
    // 定义默认值
    $atts = shortcode_atts(
        array(
            'name' => 'World',
        ), $atts, 'my-shortcode'
    );

    // 返回 shortcode 的 HTML 格式
    return '<p>Hello, ' . esc_attr($atts['name']) . '!</p>';
}
add_shortcode('my-shortcode', 'my_shortcode_func');

在这个 shortcode 中,我们定义了一个变量 name 作为 shortcode 的参数,这个参数可以在 shortcode 调用时传入。

下面是如何在文章或页面中使用这个带变量的 shortcode。

[my-shortcode name="John"]

以上 shortcode 将会输出 <p>Hello, John!</p>

最后,通过 <?php echo do_shortcode(' '); ?> 函数,可以将带变量的 shortcode 嵌入到 WordPress 主题模板的相应位置。

<?php echo do_shortcode('[my-shortcode name="World"]'); ?>

将会输出 <p>Hello, World!</p>

结束语

在 WordPress 主题开发中,经常需要使用 shortcode 来添加特殊的功能或内容。使用 <?php echo do_shortcode(' '); ?> 函数可以将 shortcode 带上变量解析渲染,从而大大扩展了主题的功能。