如何在Tabs的短代码之间插入PHP [tab]

时间:2012-07-09 14:45:15

标签: php wordpress shortcode

我希望得到一些帮助,如何在我的2个标签之间插入我的PHP。我正在使用wordpress并尝试修改模板,以便我可以在我的页面上有2个选项卡,其中包含来自其他两个php页面的动态内容。

我有两个标签,但内容没有出现在标签中,而是出现在它们之上。我误解了下面的代码做错了什么,但我不知道是什么!

我的代码如下:

<?php

echo do_shortcode('[tabs style="boxed"]
[tab title="First Tab"]' .get_template_part("includes/categories-panel"). '[/tab]
[tab title="Second Tab"]'. get_template_part('includes/home-map-panel')  .'[/tab]
[tab title="Third Tab"] Tab 3 Content here [/tab]
[tab title="Fourth Tab"] Tab 4 Content here [/tab]
[/tabs]');

?>

任何帮助非常感谢!

1 个答案:

答案 0 :(得分:3)

get_template_part只是吐出内容然后在那里,函数期望一个很长的字符串。

您必须capture the output并手动将其放入。

ob_start();
get_template_part("includes/categories-panel");
$cats = ob_get_clean();
ob_start();
get_template_part('includes/home-map-panel');
$home = ob_get_clean();

echo do_shortcode('[tabs style="boxed"]
[tab title="First Tab"]' .$cats. '[/tab]
[tab title="Second Tab"]'. $home  .'[/tab]
[tab title="Third Tab"] Tab 3 Content here [/tab]
[tab title="Fourth Tab"] Tab 4 Content here [/tab]
[/tabs]');