我正在尝试在wordpress中的短代码之间添加php代码,当中间的内容是文本时,我可以使用以下代码。
<?php echo do_shortcode('[tab]
[tab_item title="ITEM_TITLE"]ADD_CONTENT_HERE[/tab_item]
[tab_item title="ITEM_TITLE"]ADD_CONTENT_HERE[/tab_item]
[tab_item title="ITEM_TITLE"]ADD_CONTENT_HERE[/tab_item]
[/tab]');
?>
我想添加以下用于在选项卡中生成内容的php代码。
<?php
$args = array('post_type' => 'package','package-category'=>'South Africa', 'posts_per_page'=>6 );
$loop = new WP_Query( $args );
while ( $loop->have_posts() ) : $loop->the_post();
?>
<div class="four columns gdl-package-grid2">
<div class="package-content-wrapper">
<?php the_post_thumbnail(); ?>
</div>
</div>
这是可能的,我该怎么做呢?
答案 0 :(得分:0)
尝试使用String Operators
echo do_shortcode('[tab]
[tab_item title="ITEM_TITLE"]' . $something . '[/tab_item]
[tab_item title="ITEM_TITLE"]' . $something . '[/tab_item]
[tab_item title="ITEM_TITLE"]' . $something . '[/tab_item]
[/tab]');
编辑 - 这应该可行,但是你可能会遇到循环周围的[tab] [/ tab]短代码问题。最简单的事情(如果可能的话)就是硬编码循环周围的[tab] [/ tab]输出。希望这会帮助你
<?php
$args = array('post_type' => 'package', 'package-category' => 'South Africa', 'posts_per_page' => 6);
$loop = new WP_Query($args);
while($loop->have_posts()) : $loop->the_post();
$thumbnail = get_the_post_thumbnail();
$sc_content = <<<SCC
<div class="four columns gdl-package-grid2">
<div class="package-content-wrapper">
$thumbnail
</div>
</div>
SCC;
/**
* The above line ("SCC;") MUST NOT have any other characters before it.
* No spaces or tabs (indentation) can be before or after it,
* those 4 characters must be the only characters on the line
*/
echo do_shortcode('[tab_item title="ITEM_TITLE"]' . $sc_content . '[/tab_item]');
endwhile;
?>