Intereting Posts
Использование previous_post_link и next_post_link для округления последовательности сообщений Что действительно фильтрует файл fililtered_html и filterfiltered_upload? Изменение CSS при входе пользователя в систему Как отобразить два отдельных архива таксономии для двух типов сообщений, которые разделяют одну таксономию? Пользовательский метабокс timepicker не сохраняет данные После изменения корневого сайта, как это отразить для wp-admin? Пользовательский тип сообщения – заголовок страницы архива Создайте нового пользователя из phpMyAdmin Импорт изображений приводит к неправильной структуре папок get_posts () возвращает один и тот же файл the_title () для каждого сообщения LOST в шаблоне WP Hireachy Где разместить пользовательские функции? Как добавить изображения в сообщение, не вставляя их в область содержимого редактора сообщений? Показать форму HTML перед удалением плагина WordPress Ссылка на Shop-Filter с .current-menu-item

Работает ли meta_query в массиве get_posts?

Кажется, я не могу заставить это работать – я пытаюсь показать сообщения, для которых значение meta 'featured_image' установлено на что угодно. Из того, что я могу сказать, он настроен правильно, но я немного над головой. Вот что я имею:

<ul> <?php global $post; $myposts = get_posts(array( 'showposts' => 5, 'offset' => 7, 'meta_query' => array( array( 'key' => 'featured_image', 'value' => '', 'compare' => 'NOT LIKE' ) ) )); foreach($myposts as $post) { setup_postdata($post); $meta = get_post_meta($post->ID, ''); ?> <li> <a href=""><img src="<?php bloginfo('template_directory'); ?>/timthumb.php?src=<?php if (isset($meta['featured_image'][0]) && !empty($meta['featured_image'][0])): echo $meta['featured_image'][0]; else: ?>/wp-content/themes/SSv2011/images/review-default.gif<?php endif; ?>&w=84&h=60" alt="" /></a> </li> <?php unset($myposts); ?> <?php } ?> </ul> 

Обновлен, чтобы отобразить весь запрос. Есть идеи? : \


Обновлено WP_Query, и я получаю сообщения, чтобы появляться, но они не являются ТОЛЬКО сообщениями, у которых есть что-то внутри «featured_image». Есть идеи с этим? Новый запрос:

  <?php $args = array( 'showposts' => 5, 'meta_query' => array( array( 'key' => 'featured_image', 'value' => '', 'compare' => '!=' ) ) ); $ft_pagination = new WP_Query( $args ); ?> <?php while ($ft_pagination->have_posts()) : $ft_pagination->the_post(); ?> <?php $ftimage = get_post_meta(get_the_id(), 'featured_image', TRUE); ?> <li> <article> <a href=""> <?php if ($ftimage): ?> <img src="<?php bloginfo('template_directory'); ?>/timthumb.php?src=<?php echo $ftimage; ?>&w=84&h=60" alt="" /> <?php else: ?> <img src="<?php bloginfo('template_directory'); ?>/timthumb.php?src=/wp-content/themes/ssv/images/review-default.gif&w=84&h=60" alt="" /> <?php endif; ?> </a> </article> </li> <?php endwhile; wp_reset_query(); ?> 

Solutions Collecting From Web of "Работает ли meta_query в массиве get_posts?"

Невозможно с пустым значением. См.: Как показывать сообщения только в том случае, если meta_value не пуст

Во-первых, ваш вызов get_post_meta не имеет ключа, не должен быть get_post_meta( $post->ID, 'featured_image', true ) или get_post_meta( $post->ID, 'featured_image', false ) если вы хотите, чтобы несколько значений ,

Кроме того, вы обрабатываете результаты вызова get_post_meta как он имеет массив значений здесь $meta['featured_image'][0] , но вы не указали ключ, что означает, что он вряд ли будет содержать что-либо в этой точке.

Я подозреваю, что нехватка ключа в вызове get_post_meta является основной проблемой.

Addtitionally, я бы предложил вернуться к оператору != , А NOT LIKE не было бы действительно подходящим для пустого сравнения строк, представьте, как будет выглядеть этот SQL.

 WHERE meta_value NOT LIKE '%%' 

Где, используя неравномерное сравнение, мы получаем.

 WHERE meta_value != '' 

.. который (я считаю) именно то, что мы намерены проверить, мета-поле со значением, которое является чем-то вроде пустого значения.