El codi és meu

Navegant per les pàgines de la Colla de Dimonis de Massalfassar em vaig adonar que la següent pàgina tenia un error.

És un plugin de Chan Hong Wei Lester que vaig instal·lar perquè em va resultar interessant.

Anem al gra. En els “10 Enviaments Recents“, els enllaços apareixien malament. En lloc de posar per exemple l’enllaç a la següent adreça:

http://web.massalfassar.org/2005/06/16/89/

hi apareixia un enllaç a la següent:

http://web.massalfassar.org/2005/06/16//

Evidentment faltava el id de cada enviament.

Vaig llegir el codi del plugin i vaig veure que l’errada (si es pot dir així…) es trobava en la funció get_recentposts():

function get_recentposts($limit = 10) {

    global $wpdb, $post;

    $recentposts =$wpdb->get_results(”SELECT $wpdb->posts.ID as post_id, post_title, post_name, post_date, user_nickname FROM $wpdb->posts LEFT JOIN $wpdb->users ON $wpdb->users.ID =$wpdb->posts.post_author WHERE post_date_gmt < ‘”.gmdate(”Y-m-d H:i:s”).”‘ AND post_status =’publish’ AND post_password = ” ORDER  BY post_date DESC LIMIT $limit”);
    foreach ($recentposts as $post) {
      
     $post_title =htmlspecialchars(stripslashes($post->post_title));
      
     $post_date =mysql2date(’d.m.Y’, $post->post_date);
      
     $user_nickname =htmlspecialchars(stripslashes($post->user_nickname));
      
     echo”<li>$post_date - <a href=\”".get_permalink().”\”>$post_title</a> ($user_nickname)</li>”;
    }

}

Llavors pensant un poc i llegint la informació oficial de wordpress, he fet les dues modificacions que indique amb color i voilà! solucionat:

function get_recentposts($limit = 10) {

    global $wpdb, $post;

    $recentposts =$wpdb->get_results(”SELECT $wpdb->posts.ID as post_id, post_title, post_name, post_date, user_nickname FROM $wpdb->posts LEFT JOIN $wpdb->users ON $wpdb->users.ID = $wpdb->posts.post_author WHERE post_date_gmt < ‘”.gmdate(”Y-m-d H:i:s”).”‘ AND post_status =’publish’ AND post_password = ” ORDER  BY post_date DESC LIMIT $limit”);
    foreach ($recentposts as $post) {
       
    $post_title =htmlspecialchars(stripslashes($post->post_title));
       
    $post_date = mysql2date(’d.m.Y’, $post->post_date);
       
    $user_nickname =htmlspecialchars(stripslashes($post->user_nickname));
           
    $post_id=(int) $post->post_id;
       
    echo “<li>$post_date - <a href=\”".get_permalink($post_id).”\”>$post_title</a> ($user_nickname)</li>”;
    }

}

Això sols ho he pogut fer gràcies a que tinc accés lliure al codi.
El codi em pertany!!

Made on a Free Ubuntu

Deixa un comentari