functions.php中的循环


The loop within functions.php

我在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;
}

我使用这段代码来调用AJAX请求,所以它返回一个NULL响应。这让我相信循环在函数中不起作用。

在我看来,您需要将while语句放在正确的附件中,可以说是

while(have_posts() ) : the_post();应该是while((have_posts() ) : the_post()); 然后最后的;杀死了它,而它看起来像这个while((have_posts() ) : the_post()): 它是一个冒号,而不是一个需要的分号。试试看。