php返回函数字符串

php返回函数字符串,php,wordpress,Php,Wordpress,首先,我为我的英语感到抱歉 我在Wordpress中返回函数结果(字符串)时遇到问题 这是我的PHP代码 <?php function printItem($item){ $r = '<td><a href="#" class="tooltips" title="'; $r.= "Nazwa kanału: <b>". $item->nazwa_kanalu."</b><br>\n";

首先,我为我的英语感到抱歉

我在Wordpress中返回函数结果(字符串)时遇到问题

这是我的PHP代码

<?php

function printItem($item){
          $r = '<td><a href="#" class="tooltips" title="';
          $r.= "Nazwa kanału: <b>". $item->nazwa_kanalu."</b><br>\n";
          $r.= "Język: <b>".$item->jezyk."</b><br>\n";
          $r.= "Napisy: <b>".$item->napisy."</b><br>";
          $r.= "Dzwięk: <b>".$item->dzwiek."</b><br>";
          $r.= "Obraz: <b>".$item->obraz."</b><br>";
          $r.= "Rodziaj: <b>".$item->rodzaj."</b><br>";
          $r.= "Dostępny w: <b>".$item->pakiety."</b><br>";
          $r.= '"><img src="'.$item->field_logo_fid.'"></a></td>';

    return $r;
}

function printJambox($pakiet,$row=7){
        $r = '<table>'."\n";
        foreach( JamboxChannelsByRows($pakiet,$row) as $v ){
                $r.= "<tr>\n";
                foreach ($v as $item){
                       $r.= printItem($item);
                }
                for ($i=0;$i<($row-sizeof($v));$i++){
                        $r.= "<td>&nbsp;</td>\n";
                }
                $r.= "</tr>\n";
        }
        $r.= "</table>\n";
    return $r;
}


function JamboxChannelsByRows($pakiet,$row=7)
{       
        $xml = simplexml_load_file('http://www.jambox.pl/xml/listakanalow.xml');
        $result = Array();
        $rowArray = Array();
        foreach($xml -> node as $item)
        {       echo $item;
                if( strstr($item->pakiety,$pakiet))
                {
                        if (sizeof($rowArray) < $row){
                                $rowArray[] = $item;
                        }
                        if (sizeof($rowArray) == $row){
                                $result[] = $rowArray;
                                $rowArray = Array();
                        }
                }
        }
        if ( sizeof($rowArray) != 0 ){
                $result[] = $rowArray;
        }
        return $result;
}

//[foobar]
function jambox_func( $atts ){
    return printJambox($atts['pakiet'],$atts['row']);

}
add_shortcode( 'jambox', 'jambox_func' );

?>

当我只返回printJambox($atts['pakiet',$atts['row']) 我的结果是这样的(问题在于标签)

Napisy:Dzwięk:Stereo
Obraz:SD 16:9
Rodziaj:rozrywka
Dostępny w:Start HD、Mikro HD、Mini HD、Wielotematyczny HD、Wielotematyczny Super HD、Wielotematyczny Mega HD
但当我把返回值改为echo时

<img src="https://www.jambox.pl/sites/default/files/tvlogo/tv6hd.png">

结果总是显示在我网站的顶部


有人能解释一下发生了什么吗?

你能给我们看一下你也叫printJambox的代码吗?我在这里叫它:函数jambox_func($atts){返回printJambox($atts['pakiet',$atts['row']);}听起来好像它被返回时正在被过滤器或其他东西处理。你在内容上有任何类型的过滤器吗?没有,没有过滤器。你能给我们看看你调用printJambox的地方的代码吗?我在这里调用它:函数jambox_func($atts){return printJambox($atts['pakiet'],$atts['row'])}听起来好像当它被返回时,它正在被过滤器或其他东西处理。您在内容上有任何类型的过滤器吗?没有,没有过滤器。
<img src="https://www.jambox.pl/sites/default/files/tvlogo/tv6hd.png">