我的PHP不循环,只在第一次结果后停止

时间:2013-01-25 15:17:36

标签: php wordpress

我是PHP的初学者,我正在使用wordpress。

我在表单(Gravity Forms)中调用帖子标题并使用以下代码行:

add_filter('gform_field_value_testtitle', create_function("", '$value = testing_title(); return $value;' ));

我需要做的是一个允许我使用帖子标题预先填充其中一个重力形式字段的函数,我这样做:

function testing_title() {
    global $wp_query;
    while ($postid = $wp_query->post->ID) {
        return $postid;
    }
}

这将返回第一个帖子ID然后停止。所以我有一个帖子列表,但只有第一个帖子出现,并且id被插入表单中。

我如何得到其余的?

2 个答案:

答案 0 :(得分:5)

“return”离开了你的功能。

如果要检索其余数据,则应将其存储在变量(即数组)中,并在循环结束后返回该变量。

答案 1 :(得分:1)

return将结束该函数,将结果存储在数组中,并在完成后返回。

function testing_title() {
    global $wp_query;

    $results = array();

    while ($postid = $wp_query->post->ID) {
        $results[] =  $postid;
    }
    return $results;
}