Записи с тегом "цикл"

Еще один вариант самых комментируемых записей

Ранее я публиковал пост о том, как выводить список самых комментируемых записей без использования плагина. Предлагаю еще один вариант, который делает то же самое. Мне он видится более красивым.

Код выглядит следующим образом:

<?php $popular = new WP_Query('orderby=comment_count&showposts=7'); ?>
<?php if ($popular->have_posts()) : ?>
	<ul>
		<?php while ($popular->have_posts()) : $popular->the_post(); ?>
	  <li><a href="<?php the_permalink(); ?>"><?php the_title(); ?></a></li>
		<?php endwhile; ?>
	</ul>
<?php endif; ?>

Цифра 7 в первой строке – это количество выводимых ссылок.

Оставить комментарий
(голосов: 4, средняя оценка: 4.00 из 5)
Loading ... Loading ...

Произвольное поле за пределами цикла

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

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

Первый вариант

  1. В файле single.php найти код начала цикла:

    <?php if (have_posts()) : while (have_posts()) : the_post(); ?>
    

    и сразу после него добавить такой код:

    <?php $GLOBALS['current_id'] = $post->ID; ?>
    

    В результате этого ID (идентификатор) поста станет доступным за пределами цикла (идентификатор нужен нам для считывания произвольного поля).

  2. Теперь, чтобы получить произвольное поле текущего поста за пределами цикла, необходимо использовать следующий код:

    <?php echo get_post_meta($GLOBALS['current_id'], 'customField', true); ?>
    

    Здесь customField – это имя произвольного поля.

Второй вариант

Этот вариант более простой и красивый по сравнению с первым. Достаточно вставить вот такой код в нужное место:

<?php
global $wp_query;
$postid = $wp_query->post->ID;
echo get_post_meta($postid, 'customField', true);
?>

customField – это имя произвольного поля.

Комментариев: 3
(голосов: 4, средняя оценка: 5.00 из 5)
Loading ... Loading ...

Выводим записи между двумя указанными датами

Теги: , 11 декабря 2009

Для этого в тех файлах шаблона, где необходимо отобразить записи, опубликованные между двумя конкретными датами, находим начало цикла:

<?php if (have_posts()) : ?>
	<?php while (have_posts()) : the_post(); ?>

и добавляем перед ним следующий код:

<?php
function filter_where($where = '') {
	$where .= " AND post_date >= '2009-11-07' AND post_date <= '2009-11-25'";
	return $where;
}
add_filter('posts_where', 'filter_where');
query_posts($query_string);
?>

Даты в двух местах, естественно, нужно заменить на нужные. Формат даты: год-месяц-день. 1-я дата – начала диапазона, 2-я – конец диапазона.

Оставить комментарий
(голосов: 3, средняя оценка: 3.67 из 5)
Loading ... Loading ...