Получить пользовательский тип сообщения по категории в шаблоне страницы - PullRequest
0 голосов
/ 16 июля 2011

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

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

<?php 
$args = array( 'post_type' => 'portfolio', 'posts_per_page' => 10 );
$loop = new WP_Query( $args );
while ( $loop->have_posts() ) : $loop->the_post();
the_title();
echo '<div class="entry-content">';
the_content();
echo '</div>';
endwhile;
?>

Ответы [ 2 ]

9 голосов
/ 23 июля 2011

Я думаю, что возможно, приведенный ниже код не работал, потому что он использует устаревший параметр (я думаю caller_get_posts устарел в 3.1)

Думаю, что ниже следует разобраться:

$loop = new WP_Query( array( 
    'post_type' => 'portfolio', 
    'cat' => 5, // Whatever the category ID is for your aerial category
    'posts_per_page' => 10,
    'orderby' => 'date', // Purely optional - just for some ordering
    'order' => 'DESC' // Ditto
) );

while ( $loop->have_posts() ) : $loop->the_post(); ?>

Несколько вещей, которые следует учитывать (извините, если это пересекает «очевидную» территорию!):

1) - это ваш пользовательский тип записи, зарегистрированный для использования встроенных категорий, или это так?пользовательская таксономия, которую он использует?Если первое, то вышеупомянутое должно работать, если второе, то вам нужно будет использовать 'your-taxonomy-name' => 'your-taxonomy-term' вместо параметра cat => 5

http://codex.wordpress.org/Class_Reference/WP_Query#Parameters

2) У вас есть другие циклы, работающие на странице?Если это так, им потребуется

<?php wp_reset_query(); ?>

после них, чтобы последующие циклы работали правильно

http://codex.wordpress.org/Function_Reference/wp_reset_query

2 голосов
/ 19 июля 2011

Это должно работать:

$cat_id = get_cat_ID('My Category'); //the categories name
$args=array(
  'cat' => $cat_id,
  'post_type' => 'portfolio',
  'post_status' => 'publish',
  'posts_per_page' => -1,
  'caller_get_posts'=> 1
);
$new = new WP_Query($args);
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...