Wordpress: извлечение сообщений определенной пользовательской категории в пользовательской таксономии - PullRequest
0 голосов
/ 13 мая 2010

Я могу получить все сообщения из пользовательской категории с этим вызовом WP_Query

$q = new WP_Query(array( 'taxonomy' => 'jh-portfolio-category',
                          'term' => 0, 'post_type' => 'jh-portfolio' ));

Однако, скажем, в рамках таксономии категории jh я определил некоторые подкатегории, как мне указать, что я хочу получать сообщения из определенной подкатегории? Изменение свойства 'term' на term_id, как представлено в wp_term_taxonomy, похоже, не работает. Все посты в этой таксономии все еще перечислены.

Ответы [ 3 ]

0 голосов
/ 23 мая 2013

Попробуйте это:

$args = array('posts_per_page'=>10,'post_type' => 'deposits','tax_query' => array(array('taxonomy' => 'deposit_types','field' => 'slug','terms' => '12-months')));<br /><br /> query_posts($args);<br /><br /> while (have_posts()) : the_post(); ...

Я проверил его для проекта и обнаружил, что он работает. Моя конфигурация следующая:

Пользовательский тип сообщения: Депозиты (вкладка: депозиты)
Пользовательская таксономия: типы депозитов (slug: deposit_types)
Категория пользовательских таксономий: фиксированная (слизняк: фиксированная)
Пользовательская подкатегория таксономии: 12 месяцев (слаг: 12 месяцев)

0 голосов
/ 09 сентября 2014

Я не уверен, что это полезно или нет, но вы можете создать свой SQL-запрос, как это

select * from `wp_term_taxonomy` t1 ,`wp_terms` t2 where t1.`term_id` = t2.`term_id` and  t1.`taxonomy`='product_cat'

или

SELECT * FROM orderdb.wp_terms where term_id in (SELECT term_id FROM orderdb.wp_term_taxonomy where `taxonomy`='product_cat');
0 голосов
/ 27 сентября 2010

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

Название вашего post_type: jh-portfolio. Ваша таксономия называется jh-portfolio-category. Вы не указали название своего термина в своем сообщении, поэтому давайте назовем его foobar. Ваша функция get_posts или query_posts будет выглядеть так:

  get_posts("post_type=jh-portfolio&jh-portfolio-category=foobar");
query_posts("post_type=jh-portfolio&jh-portfolio-category=foobar");

Я не уверен, как это отразится на WP_Query, но если бы мне пришлось угадывать, я бы сказал:

$q = new WP_Query(array( 'jh-portfolio-category' => 'foobar',
                                     'post_type' => 'jh-portfolio' ));
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...