Intereting Posts
Как я могу добавить пользовательские изображения заголовков для каждой категории? Не удается получить доступ к панели управления, время подключения (другие страницы работают нормально) Каков наилучший способ сопоставления отношений типа «один ко многим»? Лучший способ предотвратить повторное дублирование при использовании нескольких циклов Отключить виджет плагина Как отобразить post_content из базы данных на другой странице <p> на странице шаблона? Как ограничить содержание сообщения и удалить изображение с него Добавить скрипт в начало из моего плагина WordPress «публикует» атомную? Добавление настраиваемых типов сообщений в archive.php wordpress добавить поле для post_class Включая базы данных, созданные в поиске по сайту Источник подключения к WordPress Избавиться от категории WordPress, тегов и авторских архивов? Как удалить меню из темы?

get_pages Не принимать мой запрос

Я надеюсь, что кто-то, возможно, сможет указать на мою ошибку. У меня есть функция в functions.php с простой meta_query.

Если я использую этот запрос.

$args = array( 'meta_query' => array( array( 'meta_key' => 'Partner_Level', 'meta_value' => 'Gold', 'post_type' => 'page', 'post_status' => 'publish' ))); $pages = get_pages($args); foreach ( $pages as $page ) { $option = '<option value="' . get_page_link( $page->ID ) . '">'; $option .= $page->post_title; $option .= '</option>'; echo $option; } 

Я извлекаю каждую страницу на своем сайте, а не те, которые соответствуют аргументам $ args, переданным в get_pages ();

Если я упрощу $ args

 $args = array( 'meta_key' => 'Partner_Level', 'meta_value' => 'Gold', 'post_type' => 'page', 'post_status' => 'publish' ); 

Тогда я не получаю никаких результатов вообще.

Так что это действительно все или ничего, из того, что я вижу, мой запрос выглядит хорошо, но я знаю, что я что-то пропускаю, но что ….? Оцените любую помощь с этим.

Я выполнил инструкцию SQL и Im смог получить ожидаемые результаты с помощью.

 $querydetails = " SELECT wposts.* FROM $wpdb->posts wposts, $wpdb->postmeta wpostmeta WHERE wposts.ID = wpostmeta.post_id AND wpostmeta.meta_key = 'Partner_Level' AND wpostmeta.meta_value = 'Gold' AND wposts.post_status = 'publish' AND wposts.post_type = 'page' ORDER BY wposts.post_date DESC "; 

Поэтому мое предположение – это что-то с get_pages (), не слушая мои $ args.

Заранее спасибо.

Solutions Collecting From Web of "get_pages Не принимать мой запрос"

Я поднял пни на этом подходе и вернулся к своей первоначальной функции. Он просматривает сообщения, ищет переданный ему уровень партнера, а затем извлекает список страниц. Затем я показываю список стилей с миниатюрами сообщений в качестве ссылки с возможностью клика. Необходимо будет настроить для достижения желаемого уровня доступности, но это будет позже. Я ценю ваши комментарии к этому вопросу.

Для справок:

 function the_partners($cpLevel) { global $wpdb; $querydetails = " SELECT wposts.* FROM $wpdb->posts wposts, $wpdb->postmeta wpostmeta WHERE wposts.ID = wpostmeta.post_id AND wpostmeta.meta_key = 'Partner_Level' AND wpostmeta.meta_value = '$cpLevel' AND wposts.post_status = 'publish' AND wposts.post_type = 'page' ORDER BY wposts.post_title ASC "; $pageposts = $wpdb->get_results($querydetails, OBJECT); echo "<ul class=\"logobox clearfix\">"; foreach ( $pageposts as $page ) { $option = '<li>'; $option .= '<a href="' . get_page_link( $page->ID ) . '">' . get_the_post_thumbnail( $page->ID ) . '</a>'; $option .= '</li>'; echo $option; } echo "</ul>"; 

}

Когда вы выполняете meta_query нет ключей с именем meta_key или meta_value попробуйте использовать только key и value .

Как это:

 $args = array( 'post_type' => 'page', 'post_status' => 'publish', 'meta_query' => array( array( 'key' => 'Partner_Level', 'value' => 'Gold' ) ) ); 

Дайте мне знать, если это работает. Вам также нужно будет использовать соответствующий мета-сопоставление .

Вы также должны указать тип сравнения. Попробуй это:

 $args = array( 'post_type' => 'page', 'post_status' => 'publish', 'meta_query' => array( array( 'key' => 'Partner_Level', 'value' => 'Gold', 'compare' => 'LIKE' ) ) );