960 различных классов в сообщениях с тизерами

#wordpress #post #960.gs

#wordpress #Публикация #960.gs

Вопрос:

Мне трудно пытаться использовать сообщение teasers в моей теме WordPress (на основе 960gs), как вы можете видеть здесьhttp://img17.imageshack.us/img17/794/schermata20110420a15045.png то, что я получил до сих пор, — это один «избранный» пост и три сообщения с тизерами с миниатюрами, которых, вероятно, будет шесть (таким образом, на главной странице будет отображаться семь сообщений). Проблема в том, что для этого мне нужно присвоить класс «grid_2 alpha» сообщению о тизерах, и я не знаю, как присвоить этот класс только первому тизеру слева, оставив остальные без класса alpha или omega и поместив класс omega только в последнее сообщение о тизере (седьмое).

Если может помочь, вот код, который я использую для цикла:

 <?php $firstClass = 'firstpost'; ?>
<?php /* Start loop */ ?>
<?php while (have_posts()) : the_post();  ?>

    <?php if (function_exists('yoast_breadcrumb')) { if (is_page() amp;amp; $post->post_parent) { yoast_breadcrumb('<p id="breadcrumbs">','</p>'); } } ?>

<div class="post <?php echo $firstClass; ?>">
<?php $firstClass = 'grid_2 alpha'; ?>

<a href="<?php echo get_permalink(); ?>"><img src="<?php echo get_post_meta($post->ID, "Thumbnail", true);?>" width="140" height="100" style="padding-bottom:20px;" /></a>

    <h1><a href="<?php echo get_permalink(); ?>"><?php the_title(); ?></a></h1>
    <?php the_content(); ?>
    <?php wp_link_pages(array('before' => '<nav id="page-nav"><p>' . __('Pages:', 'roots'), 'after' => '</p></nav>' )); ?>
</div>
<?php endwhile; // End the loop ?>
  

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

Ответ №1:

 <?php $count = 0; ?>
<?php /* Start loop */ ?>
<?php while (have_posts()) : the_post();  ?>
<?php $count  ; ?>
<?php if ($count == 1):
        $class = "firstpost';
    elseif ($count == 2):
        $class = "grid_2 alpha";
    elseif ($count == $wp_query->post_count):
        $class = "grid_2 omega";
    else:
        $class = "grid_2";
    endif;
    ?>
    <?php if (function_exists('yoast_breadcrumb')) { if (is_page() amp;amp; $post->post_parent) { yoast_breadcrumb('<p id="breadcrumbs">','</p>'); } } ?>

<div class="post <?php echo $class; ?>">


<a href="<?php echo get_permalink(); ?>"><img src="<?php echo get_post_meta($post->ID, "Thumbnail", true);?>" style="padding-bottom:20px;" /></a>

    <h1><a href="<?php echo get_permalink(); ?>"><?php the_title(); ?></a></h1>
    <?php the_content(); ?>
    <?php wp_link_pages(array('before' => '<nav id="page-nav"><p>' . __('Pages:', 'roots'), 'after' => '</p></nav>' )); ?>
</div>
<?php endwhile; // End the loop ?>
  

Комментарии:

1. Спасибо, но это не работает. Возможно, я выразился недостаточно ясно, извините за это, что мне нужно, это начать подсчет (а затем редактирование) со второго поста (первого тизерного поста), а затем поместить классы таким образом: «grid_2 alpha» в первый тизерный пост и «grid_2 omega» в последний, сохранив в других тизерных сообщениях только класс «grid_2» и первый пост (большой), как это уже есть. Когда я использую этот цикл вместо того, который у меня есть сейчас, он просто ничего не показывает : (

2. @Antonio: вы хотите, чтобы у первого сообщения был класс «firstpost», у второго — классы «grid_2 alpha», у последнего — классы «grid_2 omega», а у промежуточных — просто «grid_2»? Это верно? Ваш пример выше, похоже, предназначен только для сообщений «grid_2».

3. Да, это именно то, что я хочу, извините, если я не объяснил себя раньше! Я не знаю, почему первый цикл, который я опубликовал, работает, но это просто работает, я действительно очень мало понимаю в PHP, поэтому я действительно не знаю, как с этим разобраться. Большое спасибо за вашу помощь!

4. Хорошо, это должно сработать. Но похоже, что в вашей теме уже есть цикл над этим…

5. Спасибо, но это не работает, я не подумал о других циклах, на самом деле кажется, что у меня есть пять разных loop.php файлы, потому что я работаю над фреймворком темы. Как вы думаете, это может быть проблемой, почему он не принимает ничего, что я помещаю в этот цикл? Спасибо.