Добрый День, зашедшим в топик. Появилась задачка реализовать вывод похожих записей с миниатюрами и коротким куском текста из основной статьи (the content - the expert) в сайдбаре WordPress посредством php кода (Плагины исключены). Дабы было понятнее, что хочется видеть в конечном результате, приведу в пример подобный плагин - (YD Recent Posts with thumbnails и скрины 1, 2. Собственно поиск по блогам, форумам не увенчался успехом ибо приводился код с выводом популярных записей или последних, а это не то, что надо.
- 01.09.2012 18:49
- 05.10.2012 08:46PHP код:может поможет
<?php
$this_post = $post;
$category = 106; // id категории
$posts = get_posts('numberposts=6&offset=0&orderby=post_date&order=DESC&category='.$category);
$count = 0;
foreach ( $posts as $post ) {
if ( $post->ID == $this_post->ID || $count == 10) {
unset($posts[$count]);
}else{
$count ++;
}
}
?>
<?php if ( $posts ) : ?>
<li id="related-category">
<div class="related-cat-entry">
<h5><a style="color: #ffffff;"href="http://www.site.ru/rubrika/kalejdoskop">Похожие</a></h5>
<?php foreach ( $posts as $post ) : ?>
<?php setup_postdata($post); ?>
<div class="related-cat-meta post-<?php the_ID(); ?>">
<?php $values = get_post_custom_values("feat-cat-img"); if (isset($values[0])) { ?>
<div class="related-cat-img">
<img src="<?php $values = get_post_custom_values("feat-cat-img"); echo $values[0]; ?>" alt="<?php the_title(); ?>" width="50" height="50" border="0" /></div>
<!-- RELATED CATEGORY IMAGE END -->
<?php } else { ?>
<div class="related-cat-img">
<img src="<?php echo get_featcat_image(); ?>" alt="<?php the_title(); ?>" width="50" height="50" border="0" /></div>
<!-- RELATED CATEGORY IMAGE END -->
<?php } ?>
<h2><a href="<?php the_permalink(); ?>" title="<?php the_title(); ?>"><?php the_title(); ?></a></h2>
<span class="related-cat-date"><?php the_time('l, j.m.Y'); ?></span>
<p><?php the_excerpt_feat_cat(); ?></p>
<div class="clearfix"></div>
</div><!-- RELATED CAT META <?php the_ID(); ?> END -->
<?php endforeach // $posts as $post ?>
</div><!-- RELATED ENTRY END -->
</li><!-- RELATED CATEGORY END -->
<?php else : ?>
<?php { /* nothing */ } ?>
<?php endif // $posts ?>
<?php
$post = $this_post;
unset($this_post);
?> - 17.10.2012 18:14
Чеснок, Кажется, код не рабочий.
- 17.10.2012 19:08
а на чем вы хотите похожесть основать? вывод из той же рубрики, по тегам или анализируя слова в заголовке?
Я желаю всем счастья - 08.11.2012 15:04
pingvincible, последний вариант был бы неплох ) Если такое возможно в WP )
- 08.11.2012 16:11
Такой вариант предлагает плагин Yet Another Related Posts. Но плагины - не для вас:) Кстати, почему не хотите их использовать?
Я желаю всем счастья - 08.11.2012 21:39
pingvincible, Ничего особенного, просто решил новый сайтец сделать без плагинов, (только functions.php т.е скрипты) ну по крайней мере, на сколько это возможно ) Пока получается )
- 08.11.2012 22:34
Для вывода похожих записей на основании категории можно вот так сделать:
PHP код:Будут выводиться посты той же категории, а если вы на странице, у которой нет категории, то можно задать категорию по умолчанию. В качестве картинки будет выводиться миниатюра поста. Ну и название и кусок текста, длину которого можно регулировать.<div id="related_posts">
<h2 class="widgettitle">Похожие статьи</h2>
<ul >
<?php global $post;
$cat = get_the_category( $post->ID );
if ($cat){
$cat_id = $cat[0]->cat_ID;
}
else{
$cat_id = 1; // Тут задается дефолтная категория
}
$args = array( 'numberposts' => '3', 'category' => $cat_id );
$myposts = get_posts( $args );
foreach( $myposts as $post ) : setup_postdata($post); ?>
<li>
<?php echo get_the_post_thumbnail($post->ID, 'thumbnail'); ?> // Миниатюра поста
<a href="<?php the_permalink(); ?>"><?php the_title(); ?></a>
<p><?php echo mb_substr ( $post->post_content , 0, 150 ); ?> ...</p> // Кусок текста статьи
<div class="clear"></div>
</li>
<?php endforeach; ?>
</ul>
</div>Последний раз редактировалось pingvincible; 08.11.2012 в 22:39.
Я желаю всем счастья Спасибо сказали:
monwm(07.12.2014), samouschka(01.03.2014), - 07.12.2014 23:11
Приветствую, а как вместо дефолтной категории вывести последнии записи со всех категорий, на страницах вне рубрик?
PHP код:ЗЫ... уже разобрался просто поставить 0else{
$cat_id = 1; // Тут задается дефолтная категория
Последний раз редактировалось monwm; 07.12.2014 в 23:26.
Похожие темы
Темы | Раздел | Ответов | Последний пост |
---|---|---|---|
Вывод меняющихся картинок в сайдбаре | Web программирование | 4 | 15.08.2012 00:00 |
Ищу плагин вывода похожих записей в формате тизеров. | WordPress | 4 | 09.08.2012 02:21 |
Случайный вывод видео в сайдбаре WordPress | WordPress | 4 | 20.07.2012 00:55 |
Вывод в Wordpress популярных записей из определенных категорий | Web программирование | 6 | 03.12.2011 20:47 |
Плагины для вывода похожих записей в wordpress | Дайджест блогосферы | 0 | 29.04.2011 22:33 |