Intereting Posts
Изменить выбор по умолчанию для «Вставить или ссылку»? Лучшая практика при модификации плагинов CSS Постоянная ссылка: site.com/post-tite vs site.com/post-id/post-title для SEO и скорости Могу ли я предотвратить «wp_user_level» от добавления в wp_usermeta при регистрации? Пустая страница upload.php Предупреждение / Уведомление о functions.php get_page_template ничего не возвращает Плагин истекает заголовками – общий кэш W3 Как локализовать admin-ajax.php, который используется в Ajax Load More – Infinite Scroll? Как получить выпадающее меню шаблона в атрибутах страницы пользовательского типа сообщений? Как назначить настраиваемый шаблон для определенных продуктов в Woocommerce? просто не могу получить архивы на основе даты на пост-тип для работы Как перенаправить определенный тип сообщения с ролью пользователя Преобразование темы в дочернюю тему в сети Будет ли плагин способен знать is_user_logged_in?

Как я могу отображать все значения настраиваемого поля из сообщений с определенным значением другого настраиваемого поля или из определенных типов сообщений?

Я знаю, что вопрос довольно неоднозначный. Позволь мне объяснить:

У меня есть страница, в которой перечислены все сообщения с определенным значением настраиваемого поля. (Например: Страница « Rentals содержит все сообщения с offer_type rental пользовательского поля offer_type ).

Я хотел бы добавить фильтр по городу, чтобы отображались только сообщения с определенным значением пользовательского поля city . Для этого я создал форму, используя метод get который создает пользовательский запрос (в моем примере с двумя настраиваемыми полями, «offer_тип» и «город»).

Мне нужен способ перечислить все города (значения city пользовательского поля) для сообщений с rental стоимостью offer_type . Каждый город должен быть указан один раз.

Я пробовал этот бит кода (обратите внимание, что я взял всю форму упаковки):

 $metakey = 'city'; $cities = $wpdb->get_col($wpdb->prepare("SELECT DISTINCT meta_value FROM $wpdb->postmeta WHERE meta_key = %s ORDER BY meta_value ASC", $metakey) ); if ($cities) { foreach ( $cities as $city ) { echo $city; } } 

но в нем перечислены все значения пользовательского поля города для всех сообщений (так что если, например, у меня есть сообщение со значением offer_type отличное от rental , его значение пользовательского поля города будет отображаться в моем списке).

Я знаю, что проблема связана с sql-запросами и объединением таблиц, но мне действительно не хватает навыков для решения этой проблемы.

Пожалуйста помоги!

Solutions Collecting From Web of "Как я могу отображать все значения настраиваемого поля из сообщений с определенным значением другого настраиваемого поля или из определенных типов сообщений?"

взгляните на справочные документы для класса WP_Query: http://codex.wordpress.org/Class_Reference/WP_Query

что-то вроде этого:

 $args = array( //some key/value pairs...whatever 'meta_query => array( array( 'key' => somekey, 'value' => somevalue, 'compare' => some comparison operator ), array( 'key' => some other key, 'value' => some other value, 'compare' => some comparison operator ) ) ) $my_query = new WP_Query( $args ); //some code to do something with the results of the query 

это не прямой ответ на ваш вопрос, а строка кода, которую вы использовали бы в качестве ссылки на работу.

вот копия того, что я использую для поиска через мою таблицу, я ищу между диапазоном данных, а затем ограничиваю ее только отображением экземпляров введенного usr_id

  $this->items = $wpdb->get_results($wpdb->prepare("SELECT * FROM $table_name WHERE `datec` BETWEEN CAST('$start_date' AS DATE) AND CAST('$end_date' AS DATE) AND `usr_id`= $usr_id"), ARRAY_A); 

надеюсь это поможет 🙂