Дмитрий

Исключить конкретные записи по Id

Ситуация: некоторые посты у меня являются составным единого целого. Визуально они оформляются как табы — «главный» пост и в нём ссылки-табы «дочерних» (я не путаю с категориями! Просто так назвал). Получаются посты, как главы.

Задача: скрыть определённые посты («дочерние»), чтобы они не висели дублями.

Создавать категорию под каждую группу таких постов не хочется, потому что это нечастая ситуация и нарушать стройный порядок категорий ради этого не целесообразно (усложнит структуру) Идеальным решением было бы исключение конкретных постов по их ID. Но что-то я никак не соображу, как это правильно оформить в запрос.

Посты сейчас выводятся так (из конкретных рубрик):

$posts = query_posts("cat=65, 66");

а исключение постов видимо должно делаться на основе post__in , верно?

Помогите пожалуйста правильно сформулировать запрос вида: выводим все посты из рубрик 65 и 66, но пост с ID=123 НЕ показываем.

Это вообще возможно?

Вывод дополнительных полей

У меня на главной странице (home) выводится заголовок и доп. поля (картинка и текст) последнего (нового) сообщения из конкретной отдельной категории. Реализовано это через код:

<?php

$posts_new = query_posts("cat=21&showposts=.$post_new");

foreach ($posts_new as $post_new) :
                
echo '<div id="home_book_img"><a href="http://www.mokkey.ru/?cat=21"><img src="http://mokkey.ru/img/books/';
echo get_post_meta($post->ID, 'readnow_index_pict', true); 
echo '" width="100px" alt="';
echo $post_new->post_title;
echo '"></a></div>';
                

echo '<div id="home_book_text"><dl><dt><a href="http://www.mokkey.ru/?cat=21" title="';
echo $post_new->post_title;
echo '">';
echo $post_new->post_title;
echo '</a></dt>';
                    
echo '<dd>'; 
echo get_post_meta($post->ID, 'readnow_author', true); 
echo '</dd></dl></div>';

        
endforeach;
?>

Запрос последней (новой) записи из отдельной категории выполняется через

$posts_new = query_posts("cat=21&showposts=.$post_new");

Вопрос: что использовать вместо

echo get_post_meta($post->ID, 'readnow_index_pict', true);

и

echo get_post_meta($post->ID, 'readnow_author', true);

, чтобы эти доп. поля также брались только от последней (новой) записи это конкретной категории, а не глобальной последней (новой) записи всего блога?

Я читал кодекс в разделе Template Tags/query posts ( http://codex.wordpress.org/Template_Tags/query_posts ) – не смог решить свою задачу.

У меня еще не всё гладко с программированием – понимаю только алгоритм, а вот на практике… 🙁

Прошу помощи. Заранее спасибо!

Версия WP: 2.7
Адрес сайта: http://www.mokkey.ru

P.S. Я задавал аналогичный вопрос на mywordpress.ru, но там как-то глухо – ответов нет.

Anonymous
Отправить
Ответ на: