BaroqueW

BaroqueW

and his sidekick nikkitaa

BaroqueW RSS Feed
 
 
 
 

Archive for February 24th, 2008

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.
  1. if (strcmp($al_settings['text_align'], "center") == 0) {
  2.  
  3.                 $text_style = ‘<span><center>’;
  4.  
  5.                 $text_style_close = ‘</center></span>’;
  6.  
  7.         }
  8.  
  9.         else {
  10.  
  11.                 $text_style = ‘<span style="text-align:’.$al_settings['text_align'].’; ">’;
  12.  
  13.                 $text_style_close = ‘</span>’;
  14.  
  15.         }
  16.  
  17.         $counter = 0;
  1. // Set the apperarance of the borders and the image according to user settings
  2.  
  3.         if ( $al_settings['use_border'] == false ) { $al_settings['border_style'] = ‘none’ ;}
  4.  
  5.         $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;’;
  6.  
  7. if (strcmp($image_align, "right") == 0 ){
  8.  
  9.                 $div_open .= ‘ float : right’;
  10.  
  11.         } else if (strcmp($image_align, "left") == 0 ){
  12.  
  13.                         $div_open .= ‘ float : left’;
  14.  
  15.         } else if (strcmp($image_align, "center") == 0){
  16.  
  17.                 $div_open .= ‘ margin-left : auto; margin-right : auto’;
  18.  
  19.         }
  20.  
  21. $div_open .= ‘">’;
  22.  
  23. $img_true_end = $img_start + strlen($img_text);
  24.  
  25.         $img_text = str_replace ($img_open, $img_incipit, $img_text);
  26.  
  27. $lgnd_start = strpos($img_text, $lgnd_open);
  28.  
  29.         if ($lgnd_start) { // if the alt or title description exists
  30.  
  31.         $img_text2 = substr($img_text, $lgnd_start + $lgnd_open_len + 1);
  32.  
  33.         $lgnd_end = strpos($img_text2, $lgnd_close);
  34.  
  35.         $lgnd_text = substr($img_text2, 0, $lgnd_end);
  36.  
  37.         $before = substr($data, 0, $img_start);
  38.  
  39.         $after = substr($data, $img_true_end);
  40.  
  41. $data_chunck[$counter] = $before.$div_open.$img_text.$text_style.$lgnd_text.
  42.                                          $text_style_close.$div_close;
  43.  
  44.         $data = $after;
  45.  
  46.         $counter++;
  47.  
  48.         } else {
  49.  
  50.          $before = substr($data, 0, $img_true_end);
  51.  
  52.          $after = substr($data, $img_true_end);
  53.  
  54. $data_chunck[$counter] = $before;
  55.  
  56.          $data = $after;
  57.  
  58.          $counter++;
  59.  
  60.         }
  61.  
  62. }
  63.  
  64. $data =”;
  65.  
  66.       for ( $c = 0; $c < $counter; $c++) {
  67.  
  68.        $data = $data.$data_chunck[$c];
  69.  
  70.              }
  71.  
  72.       $data = $data.$after;
  73.  
  74.        }
  75.  
  76.     return $data;
  77.  
  78. }
Category: Articles en français, Blog, Tech >> Computer | Leave a comment