帖子内容和快码内容显示无序

时间:2011-09-19 作者:biggles

我已经看到了几个解决这个问题的问题,但根据给出的答案,我似乎无法让它发挥作用。

我有两个自己编写的插件,通过短代码输出内容。两者必须显示在同一页上,因此在我的页面上有如下内容:

[shortcode1]
Some Content
[shortcode2]
然而,在页面上,两个短代码生成的所有内容都显示在“部分内容”上方

我读到这是一个不使用return的问题。实际上,我的插件正在使用echo,因为它们基本上是WP\\u查询,我想输出一些用特定HTML包装的数据。所以我得到的是一组变量,我在查询循环中执行类似的操作:

<?php
   $foo = get_the_title();
   $bar = get_permalink();
   echo \'<a href="\'.$bar.\'">\'.$foo.\'</a>\';
?>
这两个插件都能正常工作,除了出现故障。我无法将“echo”的用法转换为正确使用return。我尝试过:

1)查找(&A);将所有“echo”替换为“return”(这显然不起作用:P)

2)使用一个与我想要输出的字符串相等的变量,并在函数末尾返回该变量(但仍在查询循环中)

1 个回复
最合适的回答,由SO网友:Milo 整理而成

用return替换echo不起作用,因为一旦遇到return,函数就会立即终止。看见PHP docs for return.

查看实际代码会很有帮助,但shortcode函数中的一般概念是:

$output = \'\'; // initialize output

while( $your_shortcode_query->have_posts() ):
    $your_shortcode_query->the_post();
    $foo = get_the_title();
    $bar = get_permalink();
    $output .= \'<a href="\'.$bar.\'">\'.$foo.\'</a>\'; // add to output
endwhile;

wp_reset_query();

return $output; // return output

结束

相关推荐

EDIT-Tags.php主页上的定制列

我正在尝试添加自定义列以编辑标记。php,用于我创建的自定义分类法。这种自定义分类法称为设备类型,它仅适用于一种称为设备的自定义post类型。我正在尝试使用与在编辑中添加自定义列相同的过滤器和操作。php页面。我能够使用此筛选器实际创建自定义列:add_filter(\'manage_edit-equipment-types_columns\', \'define_equip_types_columns\'); 然而,我似乎无法用任何数据填充这些列。通常,用于编辑。php页面我将使用以下操作:a