首页 > 解决方案 > 在 WordPress 的 do_shortcode() 中使用 PHP 变量

问题描述

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

这是我想做的:

1) 获取帖子 ID 2) 从所述帖子 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 . '"]');
?>

标签: phpwordpressshortcode

解决方案


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

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

而不是调用全局 $wp_query 并完成其他步骤。


推荐阅读