2015-01-06 4 views
1

Я ищу, чтобы сделать код ниже, сортировать свой собственный почтовый индекс (Тип продукта). Чтобы моя активная страница отображала только сообщения с термином «Нефть», а не «Топливо» и «Шины».Категория сортировки WP_Query по категории

$args = array(
    'post_type' => 'Products', 
    'posts_per_page' => -1 
); 

$my_query = new WP_Query($args); 

if ($my_query->have_posts()) { 
    while($my_query->have_posts()) {       
    echo '<div class="custom-post">'; 
    $my_query->the_post(); 
    echo '<p>' . the_content() . '</p>'; 
    the_post_thumbnail(); 
    echo '</div>'; 
    } 
    wp_reset_postdata(); 
} 

// Edit, в ответ на 3 ниже ответы

Я предполагаю, что цикл Еогеасп является заменой метода WP_Query, но tax_query было ново для меня, и теперь, когда я знаю, что это существует Я искал его в кодексе, однако он все еще не работает. Я honostly считаю, что это как-то просто, как мне назвать что-то в tax_query неправильно, поэтому я буду показывать мой таксономию код здесь:

function my_custom_taxonomies() { 
    register_taxonomy(
     'product-type', 
     'products', 
     array(
      'label' => 'Type of Product', 
      'rewrite' => array('slug' => 'race-products'), 
      'hierarchical' => true, 
     ) 
    ); 
} 

add_action('init', 'my_custom_taxonomies'); 

и изменение к арг $:

$args = array(
    'post_type' => 'Products', 
    'posts_per_page' => -1, 
    'tax_query' => array( 
     array(
      'taxonomy' => 'product-type', 
      'field' => 'slug', 
      'terms' => 'oil' 
     ), 
    ), 
); 

ответ

0

ПОПРОБУЙТЕ ВЫПОЛНИТЬ ниже код:

<?php 
    $myposts = get_posts(array(
     'showposts' => -1, 
     'post_type' => 'Products', 
     'tax_query' => array(
      array(
      'taxonomy' => 'products_cat', 
      'field' => 'slug', 
      'terms' => 'oil' 
       ); 
     ) 
    ) 
    ); 

    foreach ($myposts as $mypost) { 
      echo $mypost->post_title . '<br/>'; 
      echo $mypost->post_content . '<br/>'; 
      echo get_the_post_thumbnail($mypost->ID); 
    } 
?> 
+0

Исправлено, это было просто смешение моего родного языка «Оли» с «Масло», спасибо за информацию tax_query! :) – Abarth

0
$loop = new WP_Query(array(
    'posts_per_page' => 10, 
    'post_type' => 'product_type', 
    'order' => 'DESC', 
    'orderby' => 'id', 
    'post_status' => 'publish', 
    'tax_query' => array(
     array(
      'taxonomy' => 'your_texonomy', 
      'field' => 'slug', 
      'terms' => 'Oil', 
     ), 
    ),)); 
0

Вы должны попробовать следующие параметры в запросе.

$args = array(
'post_status' = 'publish', 
'tax_query' = array(
    'taxonomy' => 'categories', 
    'field' => 'id', 
    'term'  => 'category id here' 
) 
); 
$the_query = wp_query($args); 
Смежные вопросы