如何在选项卡[tab]的短代码之间插入PHP

如何在选项卡[tab]的短代码之间插入PHP,php,wordpress,shortcode,Php,Wordpress,Shortcode,我希望得到一些帮助,如何在我的两个标签之间插入我的php。我正在使用wordpress并试图修改一个模板,这样我就可以在我的页面上有两个选项卡,其中包含来自另外两个php页面的动态内容 我有两个选项卡,但内容不显示在选项卡中,而是显示在选项卡上方。我不知道下面的代码有什么问题,但我不知道是什么 我的代码如下: <?php echo do_shortcode('[tabs style="boxed"] [tab title="First Tab"]' .get_template_part(

我希望得到一些帮助,如何在我的两个标签之间插入我的php。我正在使用wordpress并试图修改一个模板,这样我就可以在我的页面上有两个选项卡,其中包含来自另外两个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]');

?>


非常感谢任何帮助

get\u template\u part
只是随意地吐出内容,函数需要一个大的长字符串

您必须手动将其安装并放入

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]');

get\u template\u part
只是在函数需要一个大的长字符串的地方随意地吐出内容

您必须手动将其安装并放入

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]');

除非get_template_part()返回
[tab]
-类型的文本,否则这就像在html表结构中插入裸文本一样,它将在表的外部呈现。嗨,Marc B,可能就是这样。对于上面的选项卡1和2,内容呈现在选项卡上方,但内容3和4与文本一样好。你知道我会怎么做你的建议吗?如何重新键入文本?如果get_template_part()返回
[tab]
-类型文本,那么这就像在html表结构中插入裸文本一样,它将在表外呈现。嗨,Marc B,可能就是这样。对于上面的选项卡1和2,内容呈现在选项卡上方,但内容3和4与文本一样好。你知道我会怎么做你的建议吗?如何重新键入文本?干杯我就是这么想的。OP中的问题是wordpress函数通常是回显而不是返回+1嗨,jeremyharris,为快速回复干杯。我确实尝试过使用上面的代码,但现在一切都在标签之外,看起来有点混乱。再加上我的谷歌地图(在HomeMap面板中)不再显示地图,只显示PIN…不确定你是说这是绝对答案还是只是解决方案的一部分?谢谢你的帮助这是绝对的回答。它不能解释您可能在循环外部调用
get\u template\u part
,这会导致模板本身中断。不过,这解决了实际问题。循环业务和让模板在它之外工作可能是另一个问题。同时检查输出的HTML,确保它不会干扰你的HTML标签。嗨,谢谢…是的,我一定是做错了什么。我可能需要请Woo的同事看看你的建议/答案,看看他们是否能帮我。(意外按下enter键)我这里有一个代码片段,你能确认我正确插入了你的代码吗?干杯我就是这么想的。OP中的问题是wordpress函数通常是回显而不是返回+1嗨,jeremyharris,为快速回复干杯。我确实尝试过使用上面的代码,但现在一切都在标签之外,看起来有点混乱。再加上我的谷歌地图(在HomeMap面板中)不再显示地图,只显示PIN…不确定你是说这是绝对答案还是只是解决方案的一部分?谢谢你的帮助这是绝对的回答。它不能解释您可能在循环外部调用
get\u template\u part
,这会导致模板本身中断。不过,这解决了实际问题。循环业务和让模板在它之外工作可能是另一个问题。同时检查输出的HTML,确保它不会干扰你的HTML标签。嗨,谢谢…是的,我一定是做错了什么。我可能需要请Woo的同事看看你的建议/答案,看看他们是否能帮我。(意外按下enter键)我这里有一个代码片段,你能确认我正确插入了你的代码吗?干杯