结果为一串

时间:2018-08-05 08:36:28

标签: php

我对编码非常陌生,所以请提前为菜鸟问题感到抱歉,但我非常困惑。

我在这里有以下代码。

for($a = 1; $a < $arr; $a++) {
    $play['song_name'] = $count[$a]->trackName;    
    print '<div class="rocks">'.$a.'. '.$play['song_name'].'</div>';
}

哪个返回以下输出。

<div class="rocks">1. Journey (feat. Emotionz &amp; Gisto)</div>
<div class="rocks">2. Tupperware (feat. JFB)</div>
<div class="rocks">3. Stutter (feat. Naomi Rose &amp; Lil Cat)</div>
<div class="rocks">4. Feel the Rain (feat. Beardthug)</div>

现在,我正尝试使用以下代码将这些数据添加到WordPress。

for($a = 1; $a < $arr; $a++) {
    $play['song_name'] = $count[$a]->trackName;    
    $content = '<div class="rocks">'.$a.'. '.$play['song_name'].'</div>';

    $my_post = array(
        'ID'           => $post_id,
        'post_content' => $content,
    );
    wp_update_post( $my_post );
}

但是在我的WordPress中,它仅返回此值。

<div class="rocks">4. Feel the Rain (feat. Beardthug)</div>

我怎样才能使它返回我的整个字符串?

2 个答案:

答案 0 :(得分:1)

我对WP不太熟悉,但是好像您只是在更新帖子-因此逻辑告诉我每次更新将覆盖以前的更新,因此仅保留最后一个。将它们全部一起写是否可行:

$content = "";
for($a = 1; $a < $arr; $a++) {
    $play['song_name'] = $count[$a]->trackName;    
    $content .= '<div class="rocks">'.$a.'. '.$play['song_name'].'</div>';
}

$my_post = array(
    'ID'           => $post_id,
    'post_content' => $content,
);
wp_update_post( $my_post );

答案 1 :(得分:0)

使用当前设置,您将为每次迭代更新相同的帖子。相反,您需要使用串联构建字符串:

$my_post = array(
    ‘ID’ => $post_id,
    ‘post_content’ => ‘’
);
for ($a = 1;  $a < $arr; $a++) {
    // setup your content string

    // concatenate with the . operator 
    $my_post[‘post_content’] .= $content
}
wp_update_post($my_post);