Come far accettare un array a WP_Query 'post__in'?
6 feb 2012, 21:23:32
Visualizzazioni: 47.6K
Voti: 8
Ho una funzione che restituisce una lista di ID di post separati da virgola a cui un particolare utente può accedere. Voglio utilizzare questa lista in un ciclo WP_Query.
La funzione personalizzata:
$array = user_albums();
foreach( $array as $post ) {
if( !in_array( $post->ID, $array ) )
$ids[] = $post->ID;
}
$access_ids = implode( ', ', $ids );
Ecco la situazione:
- Sul mio sito di test la lista degli ID è
158, 162, 145, 269
. - L'inserimento della lista di ID restituisce solo il primo post.
'post__in'=> array( $access_ids ),
- L'inserimento della lista di ID non in un array restituisce un errore.
'post__in'=> $access_ids ,
- L'inserimento manuale degli ID dei post restituisce i post corretti
'post__in'=> array( 158, 162, 145, 269 ),
Cosa potrei star facendo di sbagliato?
Apprezzo qualsiasi aiuto.

MTT
3.59K
Commenti
Tutte le risposte alla domanda
3
0
Probabilmente è implode()
che causa il problema:
$access_ids = '158, 162, 145, 269';
$array = array($access_ids); //sbagliato
var_dump( $array );
// array
// 0 => string '158, 162, 145, 269' (length=18)
$array = array_map( 'trim', explode( ',', $access_ids ) ); // corretto
var_dump( $array );
//array
// 0 => string '158' (length=3)
// 1 => string '162' (length=3)
// 2 => string '145' (length=3)
// 3 => string '269' (length=3)

Rarst
100K
6 feb 2012 21:38:07
Domande correlate
7
risposte
1
risposte
2
risposte
4
risposte