Les mises à jour de WordPress sont simples, c’est un constat. Remplacez vos fichiers, mettez à jour la base de données et c’est reparti ! Mais on aurai tendance à oublier que certains pluggins -Marekki’s watermark par exemple- nécessite des interventions dans les fichiers normalement intouchables… Alors tant sous forme de mémo que d’aide pour tous, voici les points à ne pas oublier…
Adds for PicLens :
Pour rendre compatible le site avec PicLens, le formidable plugin visionneuse photo, il m’a fallu intervenir assez lourdement sur le fichier media.php (wp-includes/media.php).
Concrètement, j’ai réalisé 2 changement importants : le premier permet d’utiliser le lightbox dés la page de post, au lieu de passer par une page dédiée à la photo (mais où est l’ergonome de cette release ???). A présent, lorsque l’utilisateur clique sur l’image dans le post, on lance le lightbox et la navigation de la galerie se fait automatiquement, sans quitter la page. Le lien en dessous pour aller commenter la photo est reporté sur une texte type “Votre commentaire”. La seconde opération permet à WordPress de créer le fichier xml/rss dont PicLens a besoin pour fonctionner. Le script serra à améliorer, car pour l’instant il n’y a pas de contrôle d’existence du fichier, il est donc généré à chaque visite de la page, ce qui peut ralentir un peu l’affichage de la page.
Ligne 432, il faut reporter le code suivant :
###########################################################
// ADD FOR PICLENS
$output .= '<a href="http://piclens.com" target="_blank">
<img src="http://piclens.com/lite/downloads/badges/piclens_badge.gif"
align="right" /></a>';
$output .= "<br style='clear: both;' >\n";
###########################################################
//print_r($attachments);
foreach ( $attachments as $id => $attachment ) {
// fonction originale
// $link = wp_get_attachment_link($id, $size, true);
// modif canalcoffee
// image + lightbox()
$link = "<span><a href=\"".$attachment->guid."\" title=\"".
trim($attachment->post_excerpt)."\">";
$link .= wp_get_attachment_image($id, $size, true);
$link .= "</a></span>";
// lien classique vers page commentaire photo
//$link .= "<br/><a href=\"".get_bloginfo('url')."?attachment_id=".$attachment->ID."\"
title=\"".$attachment->post_name."\">".$attachment->post_name."</a>";
$link .= "<br/><a href=\"".get_bloginfo('url')."?attachment_id=".$attachment->ID."\"
title=\"".$attachment->post_name."\">votre commentaire</a>";
$output .= "<{$itemtag} class='gallery-item'>";
$output .= "
<{$icontag} class='gallery-icon'>
$link
</{$icontag}>";
if ( $captiontag && trim($attachment->post_excerpt) ) {
$output .= "
<{$captiontag} class='gallery-caption'>
{$attachment->post_excerpt}
</{$captiontag}>";
}
$output .= "</{$itemtag}>";
if ( $columns > 0 && ++$i % $columns == 0 )
$output .= '<br style="clear: both" />';
}
#############################################################
// ADD FOR PICLENS
$outputPiclens = apply_filters('post_gallery', '', $attr);
if ( $outputPiclens != '' )
return $outputPiclens;
extract(shortcode_atts(array(
'orderby' => 'menu_order ASC, ID ASC',
'id' => $post->ID,
'itemtag' => 'dl',
'icontag' => 'dt',
'captiontag' => 'dd',
'columns' => 3,
'size' => 'thumbnail',
), $attr));
$id = intval($id);
$orderbyPiclens = addslashes($orderbyPiclens);
$attachmentsPiclens =
get_children("post_parent=$id&post_type=attachment&post_mime_type=image&
orderby=\"{$orderbyPiclens}\"");
if ( empty($attachmentsPiclens) )
return '';
$XMLoutput = '<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<rss version="2.0"
xmlns:media="http://search.yahoo.com/mrss"
xmlns:atom="http://www.w3.org/2005/Atom">
<channel>';
foreach ( $attachmentsPiclens as $id => $attachmentPiclens ) {
$link = wp_get_attachment_image_piclens($id, $size, true);
$XMLoutput .= "\n\t\t\t\t<item>\n";
$XMLoutput .= "\t\t\t\t\t<title>".$attachmentPiclens->post_name."</title>\n";
$XMLoutput .= "\t\t\t\t\t\t<link>".$attachmentPiclens->guid."</link>\n";
$XMLoutput .= "\t\t\t\t\t\t<media:thumbnail url=\"".$link."\"/>\n";
$XMLoutput .= "\t\t\t\t\t\t<media:content url=\"".$attachmentPiclens->guid."\" />\n";
$XMLoutput .= "\t\t\t\t</item>";
}
$XMLoutput .= '
</channel>
</rss>
';
// write piclens file
$myFile = "rss-piclens/gallery-piclens-".$post->ID.".rss";
$fh = fopen($myFile, 'w') or die("can't open file");
$stringData = $XMLoutput;
fwrite($fh, $stringData);
fclose($fh);
$output .= "
<br style='clear: both;' >
</div>\n";
#########################################################
et l’ajout d’une fonction en bas de la page de code :
//PICLENS MODIFICATION
// as per wp_get_attachment_image_src, but returns an name tag
function
wp_get_attachment_image_piclens(
$attachment_id,
$size='thumbnail',
$icon = false)
{
$xml = '';
$image = wp_get_attachment_image_src($attachment_id, $size, $icon);
if ( $image ) {
list($src, $width, $height) = $image;
$hwstring = image_hwstring($width, $height);
$xml = attribute_escape($src);
}
return $xml;
}
Marekki’s Wattermark :
Là aussi une interention sur le fichier media.php, mais pas le même (wp-admin/includes/media.php) vers la ligne 108-109. Ajouter avant “//Save the data” ceci : MM_Execute_WM($file,??);
), $post_data );
// Marekkis Watrermark MM_Execute_WM($file,??); // Save the data
RSS spécifique pour MySpace comment :
Pour la remontée des commentaire fais sur mon myspace, j’ai dupliqué et modifié une fonction du fichier rss.php (wp-includes/rss.php). En bas de page, ajouter le code suivant :
// Like get rss, but for MySpace Comments
function get_myspace_rss ($url, $num_items = 5, $affichage) {
$rss = fetch_rss($url);
if ( $rss ) {
$rss->items = array_slice($rss->items, 0, $num_items);
foreach ($rss->items as $item ) {
if(htmlentities(utf8_decode($item['title']))!='Unable to read blog post') {
if($affichage=='part') {
echo "<div class='part'>\n";
echo "<strong>".htmlentities(utf8_decode($item['title']))."</strong>";
echo "</div>\n";
} else {
echo "<div>\n";
echo "<strong>".htmlentities(utf8_decode($item['title']))."</strong>";
echo "$item[description]";
echo "</div>\n";
}
}
}
} else {
return false;
}
}
En front, appeller la fonction avec les arguments, et hop c’est fini !
Bonne mise à jour !!!

merci pour ce topic, si sueulement vous etiez un peeu plus claire :)
This reminds me, I need to update wordpress on some of my blogs…I remember back, not so long ago, when updating meant you had to download the lastest version, and go through a 12-15 minute process of copying over files etc. The one click update feature that WordPress now has is a real time saver!