在 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 并执行其他步骤。
首先 - 对标题感到抱歉,不确定如何命名我需要的内容。
这是我想做的事情:
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 并执行其他步骤。