php - 在 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 . '"]');
?>
解决方案
如果您在页面模板中执行此操作,您可以简单地执行此操作。
$meta = get_post_meta(get_the_ID(), 'id-del-instructor', true);
echo do_shortcode('[awsmteam id="' . $meta . '"]');
而不是调用全局 $wp_query 并完成其他步骤。
推荐阅读
- ml.net - 如何在 IDataView 中查看数据
- python - Difference of n dictionaries
- firebase - NoSuchMethodError:'在颤振中调用了 getter'uid'
- javascript - 如何保存/保持复选框选中?
- java - 格式化java输出
- asp.net-core-3.1 - Visual Studio 2019 社区中缺少“添加客户端库”选项
- azure - 使用 B2C 租户设置 Azure 帐户的最佳做法是什么?
- azure - Azure 高级威胁防护扫描 blob 时是否可以触发逻辑应用或函数
- azure - 无法创建推理,因为此管道上没有模型
- laravel - Laravel 集合用 where 子句分页