Мне нужно, чтобы первое сообщение, которое когда-либо было опубликовано, было написано по-разному. Есть ли способ, чтобы я мог видеть, является ли сообщение первым, а затем изменить его содержимое? В настоящее время у меня есть div
на всех моих постах. Это нужно заменить на другой div
.
По-видимому, следующий код может помочь, но я не уверен, как его реализовать:
<?php if (have_posts()) : $postCount = 1; while (have_posts()) : $postCount++; ?>
Я новичок в WordPress, поэтому не совсем уверен, как это может работать?
Добавьте следующие коды после вашего:
<?php if (have_posts()) : $postCount = 1; while (have_posts()) : $postCount++; ?> <?php if($postCount == 2) { ?> // SOMETHING TO DO WITH FIRST POST <?php } else { ?> // SOMETHING TO DO WITH ALL OTHER POSTS <?php } ?>
<?php if (have_posts()) : $postCount = 0; while (have_posts()) : $postCount++; ?>
Вышеприведенная часть кода создаст переменную $postCount
и $postCount
ее каждый раз, когда петли Loop . Обратите внимание, что я изменил его, чтобы начать с 0 вместо 1.
Теперь у нас есть счетчик в переменной $postCount
. Нам просто нужно найти первое сообщение и применить стили к этому сообщению.
Обычно у вас будет что-то вроде этого:
<div class="post" id="post-<?php the_ID(); ?>">
Измените это на:
<div <?php if($postCount == 1) { ?>class="YourSpecialClass"<?php } else { ?>class="post"<?php } ?> id="post-<?php the_ID(); ?>">
Вышеприведенный код проверяет, является ли $postCount
1
(первая запись), а затем добавляет часть class="YourSpecialClass"
качестве атрибута <div>
.
Более читаемая версия:
<?php if($postCount == 1) { ?> //the first post -- style it <?php } else { ?> //other posts -- proceed normally <?php } ?>
Надеюсь это поможет!