Customisation de WordPress - Alt to Legend
Puisque je viens de migrer de Spip à WordPress, il y a pas mal de choses à refaire. Heureusement de nombreux plugins sont là pour me simplifier la tâche. Alt to Legend est un de ceux-là. Il permet en un tour de main de faire apparaître la légende des photos que vous ajoutez à vos articles. Il permet notamment de ne pas avoir à se salir les mains ou à plonger dans le code de vos thèmes pour tout faire vous-même.
J’ai dû légérement le modifier pour arriver à mes fins cela dit.
- D’abord, le centrage des légendes ou des images ne marchaient pas. float : center ne passe pas : remplacé par margin-left : auto; margin-right : auto; pour le cadre et par <center></center> pour le texte
- La reconnaissance du centrage ne se fait plus sur align=”left/right/center” mais sur class=”alignleft/right/center” pour refléter mon thème
- Lorsqu’une image n’a pas de légende, elle est désormais zappée (attention, cela zappe aussi le cadre autour de l’image.
-
if (strcmp($al_settings['text_align'], "center") == 0) {
-
-
$text_style = ‘<span><center>’;
-
-
$text_style_close = ‘</center></span>’;
-
-
}
-
-
else {
-
-
$text_style = ‘<span style="text-align:’.$al_settings['text_align'].’; ">’;
-
-
$text_style_close = ‘</span>’;
-
-
}
-
-
$counter = 0;
-
// Set the apperarance of the borders and the image according to user settings
-
-
if ( $al_settings['use_border'] == false ) { $al_settings['border_style'] = ‘none’ ;}
-
-
$div_open = ‘<div id="img_lgnd" style="position: relative; font-size: ‘.$al_settings['font_size'].’; border: ‘.$al_settings['border_size'].’px ‘.$al_settings['border_style'].’ ‘.$al_settings['border_color'].’; margin: ‘.$al_settings['margin'].’; padding: ‘.$al_settings['padding'].’; max-width: ‘.$img_width.’px; height:auto !important;’;
-
-
if (strcmp($image_align, "right") == 0 ){
-
-
$div_open .= ‘ float : right’;
-
-
} else if (strcmp($image_align, "left") == 0 ){
-
-
$div_open .= ‘ float : left’;
-
-
} else if (strcmp($image_align, "center") == 0){
-
-
$div_open .= ‘ margin-left : auto; margin-right : auto’;
-
-
}
-
-
$div_open .= ‘">’;
-
-
$img_true_end = $img_start + strlen($img_text);
-
-
$img_text = str_replace ($img_open, $img_incipit, $img_text);
-
-
$lgnd_start = strpos($img_text, $lgnd_open);
-
-
if ($lgnd_start) { // if the alt or title description exists
-
-
$img_text2 = substr($img_text, $lgnd_start + $lgnd_open_len + 1);
-
-
$lgnd_end = strpos($img_text2, $lgnd_close);
-
-
$lgnd_text = substr($img_text2, 0, $lgnd_end);
-
-
$before = substr($data, 0, $img_start);
-
-
$after = substr($data, $img_true_end);
-
-
$data_chunck[$counter] = $before.$div_open.$img_text.$text_style.$lgnd_text.
-
$text_style_close.$div_close;
-
-
$data = $after;
-
-
$counter++;
-
-
} else {
-
-
$before = substr($data, 0, $img_true_end);
-
-
$after = substr($data, $img_true_end);
-
-
$data_chunck[$counter] = $before;
-
-
$data = $after;
-
-
$counter++;
-
-
}
-
-
}
-
-
$data =”;
-
-
for ( $c = 0; $c < $counter; $c++) {
-
-
$data = $data.$data_chunck[$c];
-
-
}
-
-
$data = $data.$after;
-
-
}
-
-
return $data;
-
-
}


