Похожие по категориям записи в WordPress

Берём записи из тех же категорий, отсортировываем записи по количеству категорий и выводим под текстом записи блок записей.

<?php
//Plugin Name: Похожие по категориям записи
//Author: Polyetilen

function same_category_posts($post){
    
	if(!is_single()) return $post;
	
    $id = get_the_ID();
	$categories = wp_get_post_categories($id);
	//берём макс 10 записей из тех же категорий
	$ps = get_posts(array('numberposts' => 10, 'offset'=> 0, 'category' => implode((array)$categories, ',')));

	if(!is_array($ps)) return $post;
	
	//идём по записям и вытаскиваем категории каждой
	$sorted = array();
	$data = array();
	foreach($ps as $p){
	$p_cats = wp_get_post_categories($p->ID);
		if($p->ID!=$id){
			$sorted[$p->ID] = count($p_cats);
			$data[$p->ID] = array('post_title'=>$p->post_title);
		}
	}
	if(count($sorted)<=0) return $post;
	//сортируем по количеству категорий
	arsort($sorted);
	
	//собираем список категорий
	$html = '';
	foreach($sorted as $p_id=>$p_c){
		$html .= '<li><a href="'.get_permalink($p_id).'">'.$data[$p_id]['post_title'].'</a></li>';
	}
	$html = '<h2>Похожие по категориям записи</h2><ul>'.$html.'</ul>';
	
    return $post.$html;
}
add_filter('the_content', 'same_category_posts', 1);

Скачать плагин похожие по категориям записи.

Запись опубликована в рубрике Программирование с метками , , . Добавьте в закладки постоянную ссылку.

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *

Этот сайт защищен политикой конфиденциальности и условиями использования reCAPTCHA и Google.