2017-07-17 1 views
0

Ich möchte 3 spezifische Beiträge anzeigen.Mehrere Post-IDs aus Array in Wordpress

Problem: Meine Beiträge IDs stammen aus einem vorherigen Array.

Ergebnis: Es wird nur die erste angezeigt.

Funktion:

foreach($fav_author_list as $i => $item) { 
    $insert = get_user_favorites($item); 
    if (!is_array($insert[0])) { 
    $result = array_merge($result, $insert); 
    } 
} 
$algoid = implode(",", $result); 

Ergebnis von $ algoid (Beitrag ID) = 865, 866, 877

ich die drei Beiträge angezeigt werden sollen.

$myarray = array($algoid); 
$args = array(
    'post__in'  => $myarray, 
); 
// The Query 
$the_query = new WP_Query($args); 

Antwort

1

Sie müssen nicht Ihre $algoid für die post__in implodieren. Da Sie mit implode, bist du vorbei tatsächlich ein Array mit einem String für Ihre Anfrage:

array('865, 866, 877'); // Items: 1 

ist jedoch WP_Query ein Array mit den ids erwartet, nicht als String:

array(865, 866, 877); // Items: 3 

Hier ist, wie es sein sollte:

// Use your function to generate the array with the IDs 
$algoid = array(865, 866, 877); 

$args = array(
    'post__in' => $algoid 
); 

weitere Informationen über WP_Query: https://codex.wordpress.org/Class_Reference/WP_Query

post__in (Array) - Post-IDs verwenden. Geben Sie die abzurufenden Beiträge an. ACHTUNG Wenn Sie Posts mit Haftnotizen verwenden, werden diese in die Posts eingefügt, die Sie abrufen, unabhängig davon, ob Sie es wünschen oder nicht. Um dieses Verhalten zu unterdrücken, verwenden Sie ignore_sticky_posts.

+0

Funktioniert! Danke – user1708580

+1

@ user1708580 Sie begrüßen :) –