在 WordPress 的 do_shortcode() 中使用 PHP 变量

Using PHP variable inside do_shortcode() for WordPress

首先 - 对标题感到抱歉,不确定如何命名我需要的内容。

这是我想做的事情:

1) 获取post ID 2) 从上述 post id 获取自定义字段 3) 使用自定义字段的值显示简码

这是我的:

<?php
global $wp_query;
$postid = $wp_query->post->ID;
echo get_post_meta($postid, 'id-del-instructor', true);
wp_reset_query();
?>

有了这个,我能够获取并显示短代码的值 - 虽然我需要存储它以备后用而不是显示它。

然后,我发现这是用 PHP 显示简码:

<?php echo do_shortcode("[awsmteam id="XXX"]"); ?>

我曾尝试组合这两个代码,但每次它都会破坏我的网站。

基本上,在显示 XXX 的地方,我需要简码中的值。这可能很容易实现,但我一直在兜圈子,无法理解它。

帮忙? :) 非常感谢!

已通过此代码解决 - 感谢@Alon Eitan:

<?php
    global $wp_query;
    $postid = $wp_query->post->ID;
    $meta =  get_post_meta($postid, 'id-del-instructor', true);
    wp_reset_query();
    echo do_shortcode('[awsmteam id="' . $meta . '"]');
?>

如果您在页面模板内执行此操作,您可以简单地执行此操作。

    $meta =  get_post_meta(get_the_ID(), 'id-del-instructor', true);
    echo do_shortcode('[awsmteam id="' . $meta . '"]');

而不是调用全局 $wp_query 并执行其他步骤。