Как вывести последние 5 записей из категории Wordpress?

[Удален]
2349

Добрый день, уважаемые участники форума.

Я редко обращаюсь за помощью, поскольку стараюсь сам до всего доходить.

У меня сайт на движке Wordpress, который посвящен женской тематике. Ссылку на него дать побоялся, чтобы не схлопотать предупреждение.

На сайте достаточно много категорий или рубрик. У каждой рубрики есть свои статьи.

Моя задача- это вывод последних пяти статей из той же рубрики.

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

На просторах интернета есть готовые решения, но у меня не получилось встроить код jQuery в файл single.php сайта.

Сам код исправно работает, и выводятся последние 5 записей, но напрочь убиваются комментарии, оставленные к статьям и нарушается голосование сбоем.

Видимо, происходит какой- то конфликт.

Не могли бы Вы помочь мне решить эту проблему без использования плагинов?

Заранее безмерно признателен.

S
На сайте с 26.01.2014
Offline
17
#1

могу помочь вам напишите в личку хотел бы увидеть сайт и потом решить вашу проблемму с сайтом.

Занимаюсь созданием и продвижением сайтов, опыт 5 лет Doodle.TJ (http://doodle.tj)
SeVlad
На сайте с 03.11.2008
Offline
1609
#2
Edwin2012:
Ссылку на него дать побоялся, чтобы не схлопотать предупреждение.

Что бы не схлопотать - достаточно прочитать правила форума.

Edwin2012:
Не могли бы Вы помочь мне решить эту проблему без использования плагинов?

Если мучает паранойя, то кури query_posts\get_posts\wp_query.

И да, это чтиво, думаю, будет не лишним.

Делаю хорошие сайты хорошим людям. Предпочтение коммерческим направлениям. Связь со мной через http://wp.me/P3YHjQ-3.
[Удален]
#3
Snplus:
Могу помочь вам напишите в личку хотел бы увидеть сайт и потом решить вашу проблему с сайтом.

Вот код, который предлагают для вставки в файл single.php известные SEO- блоггеры:

http://pervushin.com/similar-posts-wordpress-without-plugin.html

Самый верхний код.

Но он ни черта не работает.

---------- Добавлено 26.01.2014 в 17:13 ----------

SeVlad:
Если мучает паранойя, то кури query_posts\get_posts\wp_query.
И да, это чтиво, думаю, будет не лишним.

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

Никому не в обиду сказано, но на просторах интернета- всякие разные Камы и Первушины мнят себя великими гуру в области программирования и SEO, имея посещаемость ресурса в 2 раза ниже моего сайта.

Выкладывают при этом нерабочие скрипты или те, которые требуют характерной доработки.

S
На сайте с 26.01.2014
Offline
17
#4

Для вывода похожих записей попробуйте в single.php вставить данный код:

<?php

$categories = get_the_category($post->ID);

if ($categories) {

$category_ids = array();

foreach($categories as $individual_category) $category_ids[] = $individual_category->term_id;

$args=array(

'category__in' => $category_ids,

'post__not_in' => array($post->ID),

'showposts'=>5 // Количество записей для показа.

);

$my_query = new wp_query($args);

if( $my_query->have_posts() ) {

echo '<h3>Похожие статьи</h3><ul>';

while ($my_query->have_posts()) {

$my_query->the_post();

?>

<li><a href="<?php the_permalink() ?>" rel="bookmark" title="Постоянная ссылка: <?php the_title_attribute(); ?>"><?php the_title(); ?></a></li>

<?php

}

echo '</ul>';

}

}

wp_reset_query();

?>

Если данный код не получится то напишите в личку может вы что то не правильно делайте.

постараюсь помочь вам.

спасибо заранее

[Удален]
#5

Snplus,

Огромное спасибо Вам, сейчас попробую.

Я аналогичным способом уже встраивал jQuery код после строчки <?php the_content(' читать полностью &raquo; '); ?> файла single.php

Код работал корректно, последние записи из той же категории отображались, НО этот код конфликтовал с плагином голосования статьи и с оставленными комментариями. Они просто исчезали.

Замучился искать решение в интернете- все Вебмастера просто воруют скрипту друг у друга!

Вот этот код я встраивал в файл шаблона под названием comments.php

<h3>Другие записи из категории "<?php the_category(', ') ?>":</h3>

<?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() ?>" title="<?php the_title(); ?>" 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() ?>" title="<?php the_title(); ?>" 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, 10);

wp_reset_query();

?>

Только после самой формы комментариев он не конфликтует с рейтингом статьи и не убивает сами комментарии. Но такая перелинковка находится почти в самом подвале сайта. Я хочу, чтобы она была сразу после окончания статьи. В файле single.php ее реализовать невозможно. Зато все говорят, что это проще простого.

S
На сайте с 26.01.2014
Offline
17
#6

Edwin2012, можете выйти на скайп ? есть ли у вас скайп ? если да то отправьте мне по личку

Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий