Mostrar los posts mas comentados sin usar un plugin

Tags: ,

Ultimamente me he vuelto partidario de no usar plugins, por esta razón he estado buscando opciones alternativas al uso de plugins, la razón, creo que la más básica y sencilla es evitar la sobrecarga de peticiones al servidor, de esta manera agilizar la carga de mi blog.

Hoy gracias a Ayuda Wordpress, me he encontrado con esta excelente función que nos permite mostrar cuales han sido los post más comentados, este debe ser unos de los widgets imprecindibles en nuestra sidebar, de esta manera para los usuarios será fácil saber cual es el “boom” del momento en nuestro blog o cual es el post más interesante.

Yo le he hecho un par de arreglito básicos para mejorar el orden y evitar el error que inevitablemente se mostrará en en la función hecha por Fernando Tellado, lo primero es que he creado una pagina especial llamada postmascoment.php, que incluye el siguiente código:


<?php
function posts_mas_comentados($no_posts = 5, $before = '<li>', $after = '</li>', $show_pass_post = false, $duration='') {
	global $wpdb;
	$request = "SELECT ID, post_title, COUNT($wpdb->comments.comment_post_ID) AS 'comment_count' FROM $wpdb->posts, $wpdb->comments";
	$request .= " WHERE comment_approved = '1' AND $wpdb->posts.ID=$wpdb->comments.comment_post_ID AND post_status = 'publish'";
	if(!$show_pass_post) $request .= " AND post_password =''";
	if($duration !="") {
		$request .= " AND DATE_SUB(CURDATE(),INTERVAL ".$duration." DAY) <post_date ";
	}
	$request .= " GROUP BY $wpdb->comments.comment_post_ID ORDER BY comment_count DESC LIMIT $no_posts";
	$posts = $wpdb->get_results($request);
	$output = '';
	if ($posts) {
		foreach ($posts as $post) {
			$post_title = stripslashes($post->post_title);
			$comment_count = $post->comment_count;
			$permalink = get_permalink($post->ID);
			$output .= $before . '<a href="' . $permalink . '" title="' . $post_title.'">' . $post_title . '</a> (' . $comment_count.')' . $after;
			}
	} else {
		$output .= $before . "No hay nada" . $after;
	}
		echo $output;
}
?>

[Leer mas]

Descargar Videos de Youtube con Php

Buscando como bajarme el video que postie ayer acerca de la explicación de lo que es la WEB 2.0, me encontré con este pequeño script en php, ya lo probé y me funcionó correctamente, es un poco lento, me imagino que es mientras hace la petición al servidor o algo así­.

Lo primero que tenemos que hacer es crear un formulario básico:


<html>
<head>
<title>PHP YouTube Video Downloader</title>
</head>
<body>
<center>
<p> </p>
<form action="<?=$_SERVER['PHP_SELF']?>" method="post">
URL Video:<br />
<input type="text" name="url" size="40"><br>
<input type="submit" value="Descargar">
</form>
</center>
</body>
</html>

Luego creamos el script para la descarga:


<?php
if (isset($_POST['url']) && strlen($_POST['url']) > 2) {
$data = file_get_contents($_POST['url']);
preg_match_all("/player2.swf\?video_id\=(.*)\"/", $data, $m);
list($id) = explode('"', $m[1][0]);
header ("Location: http://www.youtube.com/get_video?video_id=".trim($id));
exit();
}
?>

Y por último guardamos todo en un archivo *.php.

Sin embargo, si no quieren ponerse a hacer todo esto, se lo puede descargar de acá: Box.net

Antes de irte

¿Ya te vas? Aqui encontraras cosas interesantes