post__in не принимает мой список идентификаторов

У меня есть пользовательское поле на странице с именем banner_id_list .

У меня есть пользовательский тип сообщения, называемый top_banner . Я добавляю несколько баннеров, отмечаю идентификаторы, а затем возвращаюсь на страницу и добавляю список идентификаторов с разделителями-запятыми в настраиваемом поле banner_id_list .

В моем шаблоне план состоит в том, чтобы проверить текущие сообщения meta с помощью get_post_meta () . Это должно создать список идентификаторов, которые я могу затем использовать и использовать в get_posts () с post__in = array() (см. Post__in ).

Теперь о коде, я что-то пропустил, но я немного новичок в этом.

 // get the banner_id_list based on the meta custom field for this page $banner_id_list = get_post_meta($post->ID, 'banner_id_list', true); 

Если я дам, я увижу ожидаемые данные, список идентификаторов, которые я ввел в пользовательское поле.

Теперь по моему запросу:

 $args = array( 'post_type' => 'top_banner', 'post_status' => 'publish', 'numberposts' => -1, 'order' => ASC, 'orderby' => menu_order, 'post__in' => array($banner_id_list) ); $banners = get_posts($args); 

Но есть что-то напуганное об использовании $banner_id_list здесь. Это только одна запись. Но если я вручную вводим значения вместо этой переменной, она работает правильно.

Я думаю, что это что-то простое / фундаментальное, я не хватает, надеюсь, что кто-то может помочь!

Solutions Collecting From Web of "post__in не принимает мой список идентификаторов"

Если $banner_id_list содержит список с разделителями-запятыми, то для преобразования его в массив вместо

 array($banner_id_list) 

вам нужно сделать

 explode(',', $banner_id_list)