Я работаю над WordPress, где у меня есть следующий код для получения сообщений в цикле.
<?php
$posts = $woo_options['woo_latest_entries'];
query_posts('post_type=post&category_name=company');
if ( have_posts() ) : while ( have_posts() ) : the_post(); $count++;
?>
/// Post Content Goes Here //
<?php endwhile; endif; ?>
Какой вывод сообщений внутри Loops примерно так ...
Post Goes Here ....
Other Post Goes Here ....
Another Post Goes Here ....
.....
То, что я хочу, это напечатать текущий номер индекса в цикле. пример
1. Post Goes Here ....
2. Other Post Goes Here ....
3. Another Post Goes Here ....
.....
Как я могу достичь этого? Благодарю.
РЕДАКТИРОВАТЬ
Ооо! Я могу сделать это таким образом ..
<?php
echo $wp_query->current_post +1;
?>
Есть ли другой / лучший способ?
Если это просто эстетика, и вам не нужно использовать переменную count для дальнейшего кодирования, вы можете просто обернуть свои сообщения в
ol
тег:источник
по какой-то причине у вас уже есть переменная counter в цикле; если это не используется для других целей, просто повторите это:
источник
Привет, я наткнулся на эту тему, интересно, как это сделать тоже. Выяснилось, что это чертовски легко. В главном файле шаблона, например index.php, объявите переменную $ post_idx перед циклом, а внутри приращения цикла - var. Как это:
Затем в вашем шаблоне контента (например, content.php), который выполняется каждый раз внутри цикла, просто сделайте $ post_idx глобальным и затем используйте его для своих нужд:
Это оно!
источник
Я хотел сделать то же самое, но за пределами цикла. По сути, я хотел узнать индекс поста по его идентификатору. Вот что я придумал:
Это было сделано исключительно для дизайна, так как клиент хотел иметь номера рядом с сообщениями, даже если сообщение находилось само по себе в поле «Избранные сообщения». Я также добавил ведущий нуль с помощью:
<?php echo str_pad(sleek_get_post_index($post), 2, '0', STR_PAD_LEFT) ?>
.источник
Даже если этот вопрос старый, я уложу его здесь на тот случай, если кому-то из поиска Google понадобится более гибкий ответ.
Со временем я разработал решение, которое будет
WP_Query
независимым от глобальных запросов. Когда вы используете кастомWP_Query
, вы ограничены в использовании толькоinclude
илиrequire
в возможности использовать переменные в вашем$custom_query
, но в некоторых случаях (которые в большинстве случаев для меня!) Части шаблона, которые я создаю, иногда используются в глобальном запросе. (например, шаблоны архивов) или в пользовательском режимеWP_Query
(например, запрос пользовательского типа сообщения на главной странице). Это означает, что мне нужен счетчик, который будет доступен глобально, независимо от типа запроса. WordPress не делает это доступным, но вот как это сделать, благодаря некоторым хукам.Поместите это в ваши functions.php
Прелесть этого решения в том, что когда вы входите в пользовательский запрос и возвращаетесь в общий цикл, он в любом случае будет сброшен на правильный счетчик. Пока вы находитесь внутри запроса (который всегда имеет место в WordPress, мало что вы знали), ваш счетчик будет правильным. Это потому, что основной запрос выполняется с тем же классом!
Пример :
источник