• DONATE to NULLED!
    Вы можете помочь Форуму и команде, поддержать финансово.
    starwanderer - модератор этого раздела будет Вам благодарен!

Поиск Плагин/функцию для круговой перелинковки постов

Статус
В этой теме нельзя размещать новые ответы.

BadMotherFucker

Модератор (Core Team)
Регистрация
13 Ноя 2009
Сообщения
760
Реакции
574
Ищу плагин или функцию для круговой (A->B->C->A) перелинковки всех постов...
 
он же и так по дефолту ставит ссылки на следующий и предыдущий пост, Для просмотра ссылки Войди или Зарегистрируйся- типа <?php next_post_link(); ?>

или я не то говорю ? что-то другое имеешь ввиду?
 
Эта функция делает не круговую перелинковку, а A->B->C.
Нужно именно A->B->C->A.
 
Спомощью этого кода можно вывести n-количество записей из этой категории где опубликован пост,вставляем его в файл single.php (в папке Вашей темы) в то место где Вы хотите вывести "Предыдущие записи":
PHP:
<?php
function show_previous_posts_from_category ($the_post_id, $the_category_id = 0, $post_num) {
$num = 0;
global $wpdb;
$sql = "SELECT wposts.*
FROM $wpdb->posts wposts
LEFT JOIN $wpdb->term_relationships ON (wposts.ID = $wpdb->term_relationships.object_id)
LEFT JOIN $wpdb->term_taxonomy ON ($wpdb->term_relationships.term_taxonomy_id = $wpdb->term_taxonomy.term_taxonomy_id)
WHERE $wpdb->term_taxonomy.taxonomy = 'category'
AND $wpdb->term_taxonomy.term_id = '$the_category_id'
AND wposts.post_status = 'publish'
AND wposts.post_type = 'post'
AND wposts.ID < '$the_post_id'
ORDER BY wposts.ID DESC
LIMIT $post_num";
$result = $wpdb->get_results($sql, OBJECT);
global $post;
?>
<ul>
<?php
foreach ($result as $post) {
setup_postdata($post);
?>
<li><a href="<?php the_permalink() ?>" rel="bookmark"><?php the_title(); ?></a></li>
<?php
$num++;
$save_ids[] = $post->ID;
}
if ( $num < $post_num || !$result ) {
$need_more = $post_num-$num;
$save_ids[] = $the_post_id;
$save_ids = join (',', $save_ids);
$more_posts = get_posts("numberposts=$need_more&category=$the_category_id&exclude=$save_ids");
foreach ($more_posts as $post){
setup_postdata($post);
?>
<li><a href="<?php the_permalink() ?>" rel="bookmark"><?php the_title(); ?></a></li>
<?php
}
}
?>
</ul>
<?php } ?>
<?php
$the_cat = get_the_category();
$the_cat_id = $the_cat[0]->cat_ID;
show_previous_posts_from_category($post->ID, $the_cat_id, 5);
wp_reset_query();
?>
В 51 строке изменяется количество выводимых постов, по умолчанию выводится 5 предыдущих постов.
По мимо того что этот способ использует намного меньше ресурсов чем аналогичные плагины, он также более логично перелинковывает все страницы. У Вас не получится такая ситуация что на некоторые страницы будут 1-2 ссылки, а на другие по 10 ссылок, при использовании этого способа на каждую запись у Вас всегда будет по 5 ссылающихся страниц! Также плюсом можно назвать и постоянность ссылок, т.е. они не буду изменяться при появлении новых записей.
 
Статус
В этой теме нельзя размещать новые ответы.
Назад
Сверху