WP: Cele mai citite articole dintr-o anumită lună şi an


Am avut nevoie pe Catholica.ro de un „top” al celor mai citite ştiri pe lunile anului trecut. Cu siguranţă există vreun plugin pe undeva, dar de ce să apelez la unul când pot să îmi scriu singur câteva linii de cod? Şi astfel am avut rapid pagina pe care o puteţi consulta aici: www.catholica.ro/varia/cele-mai-citite-articole-din-2011/. Desigur, există o premisă importantă: că aveţi numărate afişările. În cazul meu, folosind WP-PostViews, am pentru fiecare articol asociat în wp_postmeta câte o înregistrare cu meta_key conţinând stringul views, în meta_value fiind desigur numărul de afişări.

function funcCMC($atts){
	global $wpdb;
	extract( shortcode_atts( array(
		'an' => '2011',
		'luna' => '1',
		'cate' => '10',
	), $atts ) );
	$results = $wpdb->get_results("SELECT ID,post_title,(meta_value-0) AS afisari FROM wp_posts,wp_postmeta WHERE YEAR(post_date)=$an AND MONTH(post_date)=$luna AND post_status='publish' AND post_type='post' AND 
wp_posts.ID=wp_postmeta.post_id AND meta_key='views' ORDER BY vizu DESC LIMIT $cate;");
	$content="<ul>";
	foreach ($results as $res) {
		$content .= "<li><a href=".get_permalink($res->ID).">".$res->post_title."</a> (".$res->afisari.")</li>";
	}
	$content.="</ul>";
	return $content;
}
add_shortcode('cmc','funcCMC');

Având codul de mai sus pus în functions.php (apropo: am ales cmc de la cele mai citite), tot ce mi-a mai rămas a fost să pun într-o pagină un cod de genul [cmc an=2011 luna=4]. De fapt ca să fie mai clar, exact codul de mai sus e inclus în acest articol şi vedeţi ce generează. Şi în cele din urmă m-am gândit: poate şi pe CNet.ro ar fi util aşa ceva. Drept urmare puteţi vedea şi www.cnet.ro/sumar/cele-mai-citite-in-2011/.

Aprilie 2011


Apreciază articolul:

1 stea2 stea3 stea4 stea5 stea (1 evaluări, media: 5,00 din 5)
Loading...Loading...

0 comentarii


Lasă un răspuns

Adresa ta de email nu va fi publicată. Câmpurile necesare sunt marcate *