Wie benutzt man ein assoziatives Array in post__in mit WP_Query?

Ich habe in der user_meta Tabelle von WordPress Benutzer-Favoriten gespeichert. Die Daten werden in einem Format gespeichert, beispielsweise a:1:{s:8:"post-134";s:3:"134";s:8:"post-136";s:3:"136";} .

Wie bekomme ich das in Form eines Array wie array( 134, 136 ) so dass ich es in der Abfrage unten verwenden kann.

 $paged = (get_query_var('paged')) ? get_query_var('paged') : 1; $query = new WP_Query( array( 'paged' => $paged, 'post_type' => 'post', 'post__in' => I WANT AN ARRAY HERE ) ); if ( $query->have_posts() ) : while ( $query->have_posts() ) : $query->the_post(); get_template_part( 'content', 'fav' ) endwhile; wp_pagenavi(); wp_reset_postdata(); else : ?>
You have not faved any post.
<?php endif;

Solutions Collecting From Web of "Wie benutzt man ein assoziatives Array in post__in mit WP_Query?"

Sehen Sie sich die array_values function von PHP an. Alternativ könnten Sie tippen .

Beachten Sie, dass, wenn das Array wie oben beschrieben in serialisierter Form vorliegt, Sie es in jedem Fall zuerst deserialisieren müssen.

 $numerical_array = array_values( unserialize( 'a:1:{s:8:"post-134";s:3:"134";s:8:"post-136";s:3:"136";}' ) ); 

oder

 $numerical_array = (array) unserialize( 'a:1:{s:8:"post-134";s:3:"134";s:8:"post-136";s:3:"136";}' ); 

Sie können die Daten von Benutzermeta mit dem folgenden Code erhalten

 $pastids = get_user_meta($user_id, $key); 

$ pastids wird automatisch ein Array sein. Jetzt können wir seine Struktur in jedem Format ändern.

Wenn wir ein Array an add_user_meta () übergeben, wird es im serialisierten Format gespeichert und wenn wir es mit get_user_meta () erhalten, gibt es Daten im Array-Format zurück.