Настройка изображения с функцией, 1 часть не работает

Я пытаюсь установить отображаемое изображение сообщения на основе настраиваемых полей. Существуют разные типы сообщений, и поэтому выбранное изображение должно быть установлено в зависимости от того, какие пользовательские поля были заполнены.

Вот что я сейчас (отредактировал):

//Set post thumbnail based on various conditions if (get_post_meta($post_id, 'featured_image', true)) { $attachment_id = get_post_meta($post_id, 'featured_image', true); } elseif (get_post_meta($post_id, 'upload_single_image', true)) { $attachment_id = get_post_meta($post_id, 'upload_single_image', true); } elseif (get_post_meta($post_id, 'create_gallery', false)) { $gallery = get_post_meta($post_id, 'create_gallery', false);//get the full gallery $attachment_id = $gallery[0]['upload_image']; //Get image from first row } 

Первые два условия работают, но третье условие (создать галерею) – нет. Я думал, что получение первой строки таблицы db, а затем вызов имени пользовательских метаданных, сделает это, но он не работает.

Кто-нибудь видит, что я могу делать неправильно?

Solutions Collecting From Web of "Настройка изображения с функцией, 1 часть не работает"

Вы должны установить $single get_post_meta в значение false (или не устанавливать) для получения массива.

Вот ускоренная версия:

  if ($attachment_id = get_post_meta($post_id, 'featured_image', true)) : elseif ($attachment_id = get_post_meta($post_id, 'upload_single_image', true)) : elseif ($attachment_id = get_post_meta($post_id, 'create_gallery', false)) : $attachment_id = $attachment_id[0]['upload_image']; endif; 

Примечание . Я не тестировал это.


// РЕДАКТИРОВАТЬ
Вот код с функцией ACF:

  if ($attachment_id = get_post_meta($post_id, 'featured_image', true)) : elseif ($attachment_id = get_post_meta($post_id, 'upload_single_image', true)) : elseif ($gallery = get_field('create_gallery', $post_id)) : $attachment_id = $gallery[0]['upload_image']; endif; 

Получил его работу, используя пользовательские функции ACF вместо мета-функций wp.

Окончательный рабочий результат:

 //Set post thumbnail based on various conditions if (get_post_meta($post_id, 'featured_image', true)) { $attachment_id = get_post_meta($post_id, 'featured_image', true); } elseif (get_post_meta($post_id, 'upload_single_image', true)) { $attachment_id = get_post_meta($post_id, 'upload_single_image', true); } elseif (get_field('create_gallery', $post_id)) { $gallery = get_field('create_gallery', $post_id);//get the full gallery $attachment_id = $gallery[0]['upload_image']; //Get image from first row }