最近我一直在玩 Wordpress Shortcode。遵循本教程(当然,更改了一些内容)时,我发现即使没有返回任何内容(return $return_string; - 部分),我的代码仍然可以按预期工作。
我打开 PHP 手册,上面写着:
如果从函数内部调用,return 语句会立即结束当前函数的执行,并将其参数作为函数调用的值返回。return 还将结束 eval() 语句或脚本文件的执行。
我的问题:
既然看起来没有任何问题,我应该继续做我所做的事情,还是应该从我的函数中“返回”一些东西(实际上,不“返回”我还没有看到的任何东西有一个缺点)?
编辑:代码,以防万一..没有“返回”,仍在处理短代码/循环
function looping_cat($atts, $content) {
extract(shortcode_atts(array(
"query" => '',
"category" => ''
), $atts));
$wp_query = new WP_Query();
if(!empty($category)){
$query .= '&category_name='.$category;
}
$wp_query->query($query);
?>
<ul>
<?php while ($wp_query->have_posts()) : $wp_query->the_post(); ?>
<li>
<div>
<?php the_post_thumbnail(); ?>
<h2><?php the_title() ?></h2>
</div>
<?php the_excerpt(); ?>
</div>
</li>
<?php endwhile; wp_reset_query(); ?>
</ul>
<?php
}