您可以使用PHPs输出缓冲,使用ob_start 打开缓冲和ob_get_clean 获取并删除当前输出缓冲。
所以按照你的代码看应该是这样的
function blogPost(){
ob_start();
?>
<section class="blog container spacer">
<article class="blog__list">
<div class="glide-blog">
<div class="glide__arrows" data-glide-el="controls">
<button class="glide__arrow glide__arrow--left" data-glide-dir="<"><</button>
<button class="glide__arrow glide__arrow--right" data-glide-dir=">">></button>
</div>
<div class="glide__track" data-glide-el="track">
<ul class="glide__slides">
<?php
$the_query = new WP_Query( \'posts_per_page=3\' );
// Start our WP Query
while ($the_query->have_posts()) : $the_query->the_post();
?>
<li class="glide__slide"><?php the_post_thumbnail(\'medium\'); ?>
<a href="<?php the_permalink() ?>" class="new-article__main-title"><?php the_title(); ?></a>
</li>
<?php
// Repeat the process and reset once it hits the limit
endwhile;
wp_reset_postdata();
?>
</ul>
</div>
</div>
</article>
</section>
<?php
return ob_get_clean();
}
add_shortcode(\'blog_shortcode\',\'blogPost\');
请注意
add_action
我们现在有
add_shortcode
,
add_shortcode
是用于创建自定义短代码的函数。
我还修复了代码的一些问题。
$the_query -> have_posts()
“之间不应包含空格”;箭头“;,应该是这样的$the_query->have_posts()
.添加了一些缺少的结束语</div>
标签根据缺失的</div>
标签