Нужна помощь за деньги

Помогите пожалуйста решить.
Есть код, который выводит содержимое рубрики. У нас есть записи, которые принадлежат к 2 рубрикам. Тут возникает проблема.
Этот код привязывает запись к одной из двух рубрик, и только там ее выводит. А в другой рубрике код не выводит название записи.
Например как тут: http://antioxbio.ru/category/for-life-bad/kardio-for-life-bad/
В рубрике "Кардио" опубликованых статей: 4 – а выводит только две!

Может ли кто-нибудь помочь решить это? Мы готовы заплатить.
Спасибо.

Я вижу все 4 записи.

Внизу вы видите все 4 записи, а в верху отображается, что записей 2. Должно быть тоже 4, как например соответствует тут: http://antioxbio.ru/category/for-life-bad/anti-stress-for-life-bad/

Ну значит надо смотреть цикл в котором они выводятся.

Что Вы имеете в виду? Мне действительно хочется это исправить и никто не может помочь пока.
Может быть Вы понимаете где это нужно править?

Для того чтобы понять, нужно смотреть код. В данном случае, кроме как советом куда копать, помочь не получается.

<?php if (is_category()) { ?>
<h2>Содержимое рубрики "<?php echo single_cat_title(); ?>"</h2>
<?php } ?>

<div class="box">

<?php if (count(get_categories(‘child_of=’.$cat)))
{
echo ‘<h5>Подрубрики:</h5>’;
echo ‘<ul class="cat">’;
wp_list_cats(‘show_count=1&title_li=&use_desc_for_title=false&child_of=’ . $cat);
echo ‘</ul>’;
}
else ;
?>
</div>

<?php if (is_category()) { ?>
     <h2>Содержимое рубрики "<?php echo single_cat_title(); ?>"</h2>
...

Это не тот код. Этот код выводит список подрубрик текущей рубрики.

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

rOOse, спасибо, что отозвались. Дело в том, что код выводит записи, прикрепленные к данной категории (рубрики).
У нас есть пять записей, которые принадлежат к двум категориям. А вывод записи происходит только в какой-то одной из двух категорий.
Тут http://antioxbio.ru/category/for-life-bad/kardio-for-life-bad/ это видно наглядно.

Код находится в файле category.php
Приведу весь код файла ниже:

<?php get_header(); ?>

<div id="page">

<div class="maincolumn">

<?php include (TEMPLATEPATH. ‘/includes/google-search.php’); ?>

<?php $post = $posts[0]; // Hack. Set $post so that the_date() works. ?>
<?php if (is_category()) { ?>
<h2>Содержимое рубрики "<?php echo single_cat_title(); ?>"</h2>
<?php } ?>

<div class="box">

<?php if (count(get_categories(‘child_of=’.$cat)))
{
echo ‘<h5>Подрубрики:</h5>’;
echo ‘<ul class="cat">’;
wp_list_cats(‘show_count=1&title_li=&use_desc_for_title=false&child_of=’ . $cat);
echo ‘</ul>’;
}
else ;
?>

<?php if (is_category() and get_category($cat)->parent) { ?>
<h5>В рубрике "<?php echo single_cat_title(); ?>" опубликованых статей: <?php echo $wpdb->get_var("SELECT COUNT(*) FROM $wpdb->posts INNER JOIN $wpdb->term_relationships ON ($wpdb->posts.ID = $wpdb->term_relationships.object_id) INNER JOIN $wpdb->term_taxonomy ON ($wpdb->term_relationships.term_taxonomy_id = $wpdb->term_taxonomy.term_taxonomy_id) WHERE $wpdb->term_taxonomy.taxonomy = ‘category’ AND $wpdb->term_taxonomy.term_id = ‘$cat’ AND post_type = ‘post’ AND post_status = ‘publish’"); ?></h5>
<?php } ?>

<?php function get_posts_count_per_cat($cat = 0) {
global $wpdb;
$cat = ereg_replace("[^0-9]","",$cat);
return $wpdb->get_var("select count from $wpdb->term_taxonomy where term_id = $cat");
} ?>
<ul class="cat">
<?php
query_posts("cat=$cat&showposts=1000");
if (have_posts()) : while (have_posts()) : the_post(); ?>

<?php
$k = get_the_category($post->ID);
if ( $k[0]->cat_ID == $cat ) {
?>

<li>
<?php get_image(‘thumbnail’,’news’); ?>
<span class=’title2′><a href="<?php the_permalink() ?>" rel="bookmark" title="<?php the_title(); ?>"><?php the_title2(”, ‘…’, true, ’40’) ?></a></span>
</li>
<?php } ?>

<?php endwhile; else: echo ‘<h5>В этой рубрике пока нет записей</h5>’; endif; ?>
</ul>

</div>

<?php
$order = "&orderby=cost&order=DESC";
$s2 = ‘ selected="selected"’;
if ($_POST[‘select’] == ‘title’) { $order = "&orderby=title&order=ASC"; $s1 = ‘ selected="selected"’; $s2 = ”; }
if ($_POST[‘select’] == ‘newest’) { $order = "&orderby=cost&order=DESC"; $s2 = ‘ selected="selected"’; }
if ($_POST[‘select’] == ‘oldest’) { $order = "&orderby=cost&order=ASC"; $s3 = ‘ selected="selected"’; $s2 = ”; }
?>

<?php $posts = query_posts($query_string . $order); ?>
<?php if (have_posts()) : ?>
<?php while (have_posts()) : the_post(); ?>

<h2><a href="<?php the_permalink() ?>" rel="bookmark"><?php the_title(); ?></a></h2>

<div class="post">
<div class="time">
<span class="date"> <?php the_time(‘d.m.Y’) ?> </span>
<span class="author"> Автор: <?php the_author_posts_link(‘namefl’); ?></span>
<span class="tags"> Рубрика: <?php the_category(‘, ‘) ?> </span>
<span class="com"><?php comments_popup_link(‘Отзывов нет &raquo;’, ‘Отзыв один &raquo;’, ‘Отзывов % &raquo;’); ?> </span>
<?php if ( get_the_time(‘Ymd’) == date(‘Ymd’) ) echo ‘<div class="new_today"></div>’; ?>
</div>

<?php $values = get_post_custom_values("thumbnail");
if (isset($values[0])) { ?>
<a href="<?php the_permalink() ?>" rel="bookmark" >
<img src="<?php echo bloginfo(‘template_url’); ?>/scripts/timthumb.php?src=<?php echo get_option(‘home’); ?>/<?php $values = get_post_custom_values("thumbnail"); echo $values[0]; ?>&amp;w=150&amp;h=120&amp;zc=1&amp;q=100;" alt="<?php the_title(); ?>" class="left" />
</a>
<?php } ?>

<?php the_excerpt(); ?>

<a href="<?php the_permalink(); ?>"><div class="more"></div></a>
</div><!– end post –>

<?php endwhile; ?>

<div class="clear"></div>

<div class="navigation">
<?php include(TEMPLATEPATH."/includes/navi.php"); ?>
</div>

<?php else : ?>

<h2>Файл не найден</h2>
<p>Извините, по вашему запросу ничего не найдено.</p>

<?php endif; ?>

<?php edit_post_link(‘Редактировать &raquo;’, ‘<p>’, ‘</p>’); ?>

</div><!– end maincolumn –>

<?php include (TEMPLATEPATH . ‘/sidebar.php’); ?>

</div><!– end page –>

<a href="#top" onClick="scroll(0,0); return false;" title="Наверх страницы" id="ancor"> </a>

<?php include (TEMPLATEPATH . ‘/includes/bottom.php’); ?>

<?php get_footer(); ?>

😮
В вашем коде черт ноги сломает.

Вот в чем траблы:

          <ul class="cat">
             <?php
                 ...
             <?php
                 $k = get_the_category($post->ID);
                 if ( $k[0]->cat_ID == $cat ) {
             ?>

                <li>...</li>
                ...
          </ul>

Если пост в 2 категориях сразу то get_the_category($post->ID); вернет массив с двумя объектами, а вы сравниваете только с первым, уберите вообще эту проверку и все.

rOOse, мы благодарны Вам! Все работает, все красиво. Как мы можем отблагодарить Вас за помощь, что мы Вам должны?
Ждем ответа, спасибо.

Да ничего ненадо 🙂

Спасибо Руслан! 🙂

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