С нами с 22.01.04
Сообщения: 140
Рейтинг: 58
|
Добавлено: 02/07/08 в 23:24 |
Вот здесь
хttp://blog.trampampam.ru/wordpress/neskolko-postingov-tekuschey-kategorii/
взял пару строк кода, который в самом простом виде заменяет плагин Similar Posts и ему подобные (выводит список постов из той же категории):
Код: | <?php
$mycat=get_the_category();
$mycat=$mycat[0];
$posts = get_posts('numberposts=5&category='.$mycat->cat_ID);
foreach($posts as $post) >
<li><a
href="<?php the_permalink(); ?>"><?php the_title();?></a></li>
<?php
endforeach;
?> |
добавляется это в файл single.php
Все вроде работает нормально, но этот скрипт помимо других постов из категории, выводит линк того самого поста, где он находится. Т.е. пост про Васю - в списке может быть линк на этот же пост про Васю.
Товарищи кодеры помогите решить два вопроса:
1. не показывать тот же самый пост в списке;
2. сделать вывод списка рандомным (сейчас он выводит просто последние 5 постов)
Сделать это явно очень просто, но для меня невозможно ввиду незнания php. Всем заранее спасибо.
|
|
|
|
С нами с 19.11.06
Сообщения: 2295
Рейтинг: 345
|
Добавлено: 03/07/08 в 01:20 |
Цитата: | <?php
$mycat=get_the_category();
$mycat=$mycat[0];
$posts = get_posts('numberposts=5&offset=1&category='.$mycat->cat_ID);
foreach($posts as $post) : ?>
<li><a
href="<?php the_permalink(); ?>"><?php the_title();?></a></li>
<?php
endforeach;
?> |
Будет выводить последние 5 постов категории, без текущего поста.
А если нужно, чтобы был вывод не просто предыдущих постов, а случайных, то вот как-то так :
Цитата: | <?php
$mycat=get_the_category();
$mycat=$mycat[0];
$posts = get_posts('numberposts=5&orderby=RAND()&category='.$mycat->cat_ID);
foreach($posts as $post) : ?>
<li><a
href="<?php the_permalink(); ?>"><?php the_title();?></a></li>
<?php
endforeach;
?> |
|
|
Строим Луна-парки с блэкджеком и шлюхами. Дорого.
|
3
|
|
|
С нами с 22.01.04
Сообщения: 140
Рейтинг: 58
|
Добавлено: 03/07/08 в 07:38 |
Большущее спасибо Почти получилось. Теперь рандомом выводит, а вот линк того же поста все равно в списке присутствует.
Как от него избавиться?
|
|
|
|
С нами с 20.01.03
Сообщения: 18003
Рейтинг: 9760
|
Добавлено: 03/07/08 в 08:06 |
numberposts=5&offset=1&orderby=RAND()
|
|
|
|
С нами с 22.01.04
Сообщения: 140
Рейтинг: 58
|
Добавлено: 03/07/08 в 08:25 |
Не работает. Я так понял offset=1 удаляет первую строку? Но в списке, линк, который нужно удалить не всегда идет первым.
|
|
|
|
С нами с 11.06.03
Сообщения: 1266
Рейтинг: 950
|
Добавлено: 03/07/08 в 08:51 |
Надо как-то так:
Код: | <?php
$thePostID=the_ID();
$mycat=get_the_category();
$mycat=$mycat[0];
$posts = get_posts('numberposts=6&orderby=RAND()&category='.$mycat->cat_ID);
$counter=0;
foreach($posts as $post) :
if (($counter<5) && ($thePostID != $post->ID)) :?>
<li><a
href="<?php the_permalink(); ?>"><?php the_title();?></a></li>
<?php
$counter++;
endif;
endforeach;
?>
|
Смотри аналоги функций. Я вордпресса не знаю.
|
|
|
|
Текстовая реклама в форме ответа Заголовок и до четырех строчек текста Длина текста до 350 символов Купить рекламу в этом месте! |