Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/246.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/wordpress/13.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
functions.php中的循环_Php_Wordpress - Fatal编程技术网

functions.php中的循环

functions.php中的循环,php,wordpress,Php,Wordpress,我正在functions.php中使用循环,我知道循环不起作用。我需要全球化吗?我环顾四周,我不确定。这是我的职责: function loadDiffSection($name) { $term = get_term_by('name', $name, 'category'); $termIdFeat = $term->term_id; $everything = ""; if(have_posts() ): query_posts("

我正在functions.php中使用循环,我知道循环不起作用。我需要全球化吗?我环顾四周,我不确定。这是我的职责:

function loadDiffSection($name)
{
    $term = get_term_by('name', $name, 'category');
    $termIdFeat = $term->term_id;

    $everything = "";

    if(have_posts() ):
        query_posts("cat=".$termIdFeat."&posts_per_page=5");
        $count = 1;

        while(have_posts() ) : the_post();
            set_post_thumbnail_size(520 , 0, true);
            $everything .="<a href='?p=".the_ID()."'>";
                $everything .="<div class='pushLeft grid thisPost pos_".$count."'>";
                    $everything .="<div class='capMedia hide'>";
                            $everything .="<font size='3'>".get_the_title()."</font><br /><br />";
                            $actualLen = strlen(strip_tags(removeImagefromContent()));
                            $limit = 200;

                            if($actualLen > $limit)
                            {
                                $everything .= substr(strip_tags(removeImagefromContent()), 0, $limit)."...";
                            }
                            else
                            {
                                $everything .= strip_tags(removeImagefromContent());
                            }
                    $everything .= "</div>";
                    $everything .= get_the_post_thumbnail();
                $everything .= "</div></a>";
            $count++;
        endwhile;
    endif;
    header( 'Content-Type: application/json; charset=UTF-8' );
    echo json_encode(array("returned" => $everything));
    exit;
}
函数loadDiffSection($name)
{
$term=get_term_by('name',$name,'category');
$termIdFeat=$term->term\u id;
$everything=“”;
如果(have_posts()):
查询帖子(“cat=“.termIdFeat.”和每页帖子=5”);
$count=1;
while(have_posts()):the_post();
设置缩略图大小(520,0,真);
$everything.=”;
$count++;
结束时;
endif;
标题('Content Type:application/json;charset=UTF-8');
echo json_encode(数组(“返回的”=>$everything));
出口
}

我使用这段代码调用AJAX请求,因此它返回一个空响应。这使我相信循环在函数中不起作用。

在我看来,您需要将while语句封装在正确的附件中

while(have_posts()):the_post()应该是
而((have_posts()):the_post());
然后是
在结尾杀死while,它看起来像这样((have_posts()):the_post()):

它是一个冒号,不需要分号。试试看。

你的错误是什么?为什么要在单个字段JSON响应中包装一个只有HTML的响应?没有错误,它只是返回一个空JSON响应,这意味着循环不起作用。我查过了。不,这不是问题。直接来自wordpress站点的循环语法如下:Link: