Master-X
Форум | Новости | Статьи
Главная » Форум » Программинг, Скрипты, Софт, Сервисы » 
Тема: Помогите отредактировать скрипт для WP
цитата
02/07/08 в 23:24
 stone
Вот здесь
х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) icon_confused.gif>
    <li><a
    href="<?php the_permalink(); ?>"><?php the_title();?></a></li>
    <?php
  endforeach;
?>

добавляется это в файл single.php
Все вроде работает нормально, но этот скрипт помимо других постов из категории, выводит линк того самого поста, где он находится. Т.е. пост про Васю - в списке может быть линк на этот же пост про Васю.
Товарищи кодеры помогите решить два вопроса:
1. не показывать тот же самый пост в списке;
2. сделать вывод списка рандомным (сейчас он выводит просто последние 5 постов)
Сделать это явно очень просто, но для меня невозможно ввиду незнания php. Всем заранее спасибо.
цитата
03/07/08 в 01:20
 Klirik
Цитата:
<?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 постов категории, без текущего поста.
А если нужно, чтобы был вывод не просто предыдущих постов, а случайных, то вот как-то так icon_smile.gif :
Цитата:
<?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;
?>
цитата
03/07/08 в 07:38
 stone
Большущее спасибо smail54.gif Почти получилось. Теперь рандомом выводит, а вот линк того же поста все равно в списке присутствует.
Как от него избавиться?
цитата
03/07/08 в 08:06
 SAV
numberposts=5&offset=1&orderby=RAND()
цитата
03/07/08 в 08:25
 stone

Не работает. Я так понял offset=1 удаляет первую строку? Но в списке, линк, который нужно удалить не всегда идет первым.
цитата
03/07/08 в 08:51
 Sha
Надо как-то так:
Код:
<?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;
?>

Смотри аналоги функций. Я вордпресса не знаю.


Эта страница в полной версии