在PHP中包含WordPress自定义字段

3
我正在尝试将图像幻灯片短代码合并到自定义的WordPress主题模板中,这样客户就能够粘贴短代码到自定义字段中,模板会正确地读取并显示它。我不希望客户将短代码粘贴到文章正文中,因为幻灯片需要在帖子包装器之外(以全浏览器宽度)显示。
由于我对PHP不是很了解,因此非常感谢任何关于此问题的帮助!
目前我所拥有的代码通过模板来显示幻灯片:
<?php echo do_shortcode("[metaslider id=27]"); ?>

为了显示自定义字段的输出,我有以下内容:

<?php echo get_post_meta($post->ID, 'slider', true); ?>

每个都可以独立使用,但我需要将它们合并起来,这样客户就不必编辑模板才能添加短代码。所以我认为以下方法应该可行:
<?php echo do_shortcode("[<?php echo get_post_meta($post->ID, 'slider', true); ?>]"); ?>

...但它没有。

非常感谢您提前帮助解决这个问题。

C


你不能这样使用 do_shortcode。你只能使用 do_shortcode 来引用实际的 shortcode。 - Joe Buckle
那么在这种情况下,你有什么建议?我该如何让它工作? - user2654408
我仍然盯着这个问题,自己也在思考。这是一个好问题 :) - Joe Buckle
我想我弄明白了。这似乎有效: - user2654408
1
<?php echo do_shortcode(get_post_meta($post->ID, 'slider', true)); ?> - user2654408
1个回答

2
只需将get_post_meta的返回值(据我了解,其中包含短代码)作为参数传递给do_shortcode函数即可:
do_shortcode(get_post_meta($post->ID, 'slider', true));

找到答案了,然后这个回答确认了它。感谢大家——这是我第一次在这里发帖——非常棒的体验。 - user2654408

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接