WordPress – Customiser la galerie native de wordpress

[fusion_builder_container hundred_percent= »yes » overflow= »visible »][fusion_builder_row][fusion_builder_column type= »1_1″ background_position= »left top » background_color= » » border_size= » » border_color= » » border_style= »solid » spacing= »yes » background_image= » » background_repeat= »no-repeat » padding= » » margin_top= »0px » margin_bottom= »0px » class= » » id= » » animation_type= » » animation_speed= »0.3″ animation_direction= »left » hide_on_mobile= »no » center_content= »no » min_height= »none »][heading size= »5″ style= »underline »] Utilisation du shortcode [/heading]
Quoi tu m’as pris pour le codex ou quoi ?

[/fusion_builder_column][fusion_builder_column type= »1_1″ background_position= »left top » background_color= » » border_size= » » border_color= » » border_style= »solid » spacing= »yes » background_image= » » background_repeat= »no-repeat » padding= » » margin_top= »0px » margin_bottom= »0px » class= » » id= » » animation_type= » » animation_speed= »0.3″ animation_direction= »left » hide_on_mobile= »no » center_content= »no » min_height= »none »][fusion_separator/]
[heading size= »5″ style= »underline »] Refonte de la css [/heading]
A partir de la version WordPress 3.1 il est possible de faire un reset de la css. Dans le fichier « functions.php » de ton thème il faut rajouter en fin de fichier :
[php] add_filter( ‘use_default_gallery_style’, ‘__return_false’ ); [/php]

Puis copie/colle la css soit dans le fichier « style.css« , je me doute bien que tu vas pas tout retaper 🙂
[css]
/* The Gallery container (div) */
.gallery { }

/* A Gallery item container,
for 3, 2 and 4 column galleries */
.gallery .gallery-item { }
.gallery-columns-2 .gallery-item { }
.gallery-columns-4 .gallery-item { }

/* The actual image inside a container
for 3, 2 and 4 column galleries */
.gallery img { }
.gallery-columns-2 .attachment-medium { }
.gallery-columns-4 .attachment-thumbnail { }

/* A gallery image caption */
.gallery .gallery-caption { }

/* Definition lists elements */
.gallery dl, .gallery dt { }

/* Pick the second line break if two
line breaks are adjacent */
.gallery br+br { }
[/css]

Sinon,
[php]
add_filter( ‘gallery_style’, ‘hfnCssGallery’ );

function hfnCssGallery() {
$css = "<style type=’text/css’>
.gallery { margin: 0 auto 18px; }
.gallery .gallery-item {
float: left;
margin-top: 0;
text-align: center;
width: 33%;
}
.gallery-columns-2 .gallery-item { width: 50%; }
.gallery-columns-4 .gallery-item { width: 25%; }
.gallery img {
box-shadow: 0px 0px 4px #999;
border: 1px solid white;
padding: 8px;
background: #f2f2f2;
}
.gallery img:hover {
background: white;
}
.gallery-columns-2 .attachment-medium {
max-width: 92%;
height: auto;
}
.gallery-columns-4 .attachment-thumbnail {
max-width: 84%;
height: auto;
}
.gallery .gallery-caption {
color: #888;
font-size: 12px;
margin: 0 0 12px;
}
.gallery dl, .gallery dt { margin: 0; }
.gallery br+br { display: none; }
</style>
<div id=’$selector’ class=’gallery galleryid-{$id} gallery-columns-{$columns} gallery-size-{$size_class}’>";
return $css;
}
[/php]

[fusion_separator/]
[heading size= »5″ style= »underline »] Mise en place d’une lightbox [/heading]
En mode faignant l’utilisation de plugin genre :

  • Cleaner Gallery
  • jQuery Lightbox For Native Galleries

Mais les plugins c’est mal on ne nous dit pas tout !!

Tu es developpeur, bidouilleur ou encore tu n’y connais rien mais tu es curieux et tu n’as même pas peur ?
Voici d’autre méthodes un peu mieux, un bon vieux hack.

A la mode barbare, dans le fichier « wp-includes/post-template.php » de remplacer :
[php]return apply_filters( ‘wp_get_attachment_link’, "<a href=’$url’ title=’$post_title’>$link_text", $id, $size, $permalink, $icon );[/php]
par
[php]return apply_filters( ‘wp_get_attachment_link’, "<a href=’$url’ title=’$post_title’>$link_text", $id, $size, $permalink, $icon );[/php]
Le problème de cette méthode c’est lors de la prochaine mis à jour le fichier sera écraser et il l’opération sera a renouveller.

Donc cette solution est mal !!

Deux autres méthodes a rajouter dans le fichier fonction de ton thème :
[php]
add_filter( ‘wp_get_attachment_link’ , ‘add_lighbox_rel’ );
function add_lighbox_rel( $attachment_link ) {
if( strpos( $attachment_link , ‘a href’) != false && strpos( $attachment_link , ‘img src’) != false )
$attachment_link = str_replace( ‘a href’ , ‘a rel="prettyPhoto[]" href’ , $attachment_link );
return $attachment_link;
}
[/php]

ou encore
perso j’aime bien celle-ci car elle va permettre de rajouter a tout mes liens contenant une image l’attribut ici « rel= »prettyPhoto »« .

[php]
// Adapted and Modified from http://wordpress.org/extend/plugins/add-lightbox/
// Adds a rel="prettyPhoto" tag to all linked image files

add_filter(‘the_content’, ‘addlightboxrel_replace’, 12);
add_filter(‘get_comment_text’, ‘addlightboxrel_replace’);
function addlightboxrel_replace ($content)
{ global $post;
$pattern = "/<a(.*?)href=(‘|")([^>]*).(bmp|gif|jpeg|jpg|png)(‘|")(.*?)>(.*?)</a>/i";
$replacement = ‘<a$1href=$2$3.$4$5 rel="prettyPhoto[‘.$post->ID.’]"$6>$7</a>’;
$content = preg_replace($pattern, $replacement, $content);
return $content;
}
[/php]

Il y’a la possibilité également de le faire en javascript et sinon si tu es un grand malade et tu ne sais pas quoi faire ?
Tu te dis pourquoi ne pas reprendre le shortcode et faire le miens ?
Et pourquoi pas …

Direction « wp-include/media.php » et trouve :
[php]add_shortcode(‘gallery’, ‘gallery_shortcode’);

/**
* The Gallery shortcode.
*
* This implements the functionality of the Gallery Shortcode for displaying
* WordPress images on a post.
*
* @since 2.5.0
*
* @param array $attr Attributes of the shortcode.
* @return string HTML content to display gallery.
*/
function gallery_shortcode($attr) {
[/php]

Mes sources ?

  • WordPress › Support » How-To and Troubleshooting[resolved] Add rel= »xyz » to Gallery Link
  • Web2Fenua, creation de site web a Tahiti
  • Le codex bien sur !!

[/fusion_builder_column][/fusion_builder_row][/fusion_builder_container]

DIY – se faire un support SSD 3,5″

J’ai acheté récemment un disque dur SSD (Solid State Drive), en voulant le monter dans la tour je me suis aperçu qu’il était en 2,5’’, apparemment il existe quasi que cette taille !!

Donc dans la tour pour le monter ce ne fut pas une chose si facile, trop impatient je n’ai pas voulu attendre j’ai donc décidé de faire mon propre support.

Après quelques recherches j’ai vu un mec qui l’a placé dans un ancien lecteur de disquette, bonne idée mais moi l’emplacement est déjà pris pour un lecteur de carte SD/MMC USB …

Mais l’idée est bonne et je m’en suis servi mais avec un ancien lecteur dvd HS (j’ai bien fait de le garder !!)

Voici le montage :

N’ayant pas de contrainte de position j’ai monté le disque à l’envers car le support des vis est la partie haute l’avantage est que le disque dispose de trou de fixation en latéral et sur le dos du disque.

Le support a était coupé par la moitié pour accéder plus facilement aux connectiques et en plus je vais pouvoir en rajouter un second pour partir sur un RAID 1.

ReTex – RssLounge gestionnaire de flux RSS

Etre toujours au courant de toutes les news bien geek, du nouveau matos qui vient de sortir de la dernière actu sur free …

Je suis fan de ça, il y a pleins de possibilités pour savoir tout ce qui se passe dans ce monde de Geek, perso j’utilise beaucoup les flux rss et twitter.
J’ai toujours utilisé Google Reader comme agrégateur RSS, le problème c’est que depuis quelques temps le proxy du boulot bloque les services Google.
J’ai donc décidé pour rester dans le coup de trouver un remplaçant à Google Reader.

Après avoir lu plusieurs de ces articles :

  • rssLounge, un excellent gestionnaire de flux RSS ! – Génération Linux
  • Agrégateur de flux RSS : rssLounge | One More Blog
  • Rémitaines : RssLounge, une alternative à Tiny Tiny Rss et Fever.
  • Vos flux RSS avec Rsslounge et Debian Squeeze! « OpenWebTech.fr

j’ai finalement choisi d’installer rssLounge, en suivant les explications sur rssLounge, un excellent gestionnaire de flux RSS ! – Génération Linux l’installation a été très rapide !

Pressé de tester mon nouveau joujou je me connecte sur l’interface utilisateur, je vais pour importer mon fichier OPML, mais la rien ne se passe !

Le javascript ne fonctionne pas, les boules … pas vraiment d’aide sur le site à ce sujet, en cherchant un peu sur GOOGLE je tombe sur un bug apparemment connu http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=474913, pas franchement convaincu je continue mes recherches et la sur ce site Vos flux RSS avec Rsslounge et Debian Squeeze! « OpenWebTech.fr je trouve l’explication du problème de JS.

Par défaut apache2 utilise les directives de /etc/javascript-common/javascript-common.conf avec un Alias pour le javascript :

[fusion_builder_container hundred_percent= »yes » overflow= »visible »][fusion_builder_row][fusion_builder_column type= »1_1″ background_position= »left top » background_color= » » border_size= » » border_color= » » border_style= »solid » spacing= »yes » background_image= » » background_repeat= »no-repeat » padding= » » margin_top= »0px » margin_bottom= »0px » class= » » id= » » animation_type= » » animation_speed= »0.3″ animation_direction= »left » hide_on_mobile= »no » center_content= »no » min_height= »none »][plain]
Alias /javascript /usr/share/javascript/
Options FollowSymLinks MultiViews
[/plain]

La solution :

[/fusion_builder_column][fusion_builder_column type= »1_1″ background_position= »left top » background_color= » » border_size= » » border_color= » » border_style= »solid » spacing= »yes » background_image= » » background_repeat= »no-repeat » padding= » » margin_top= »0px » margin_bottom= »0px » class= » » id= » » animation_type= » » animation_speed= »0.3″ animation_direction= »left » hide_on_mobile= »no » center_content= »no » min_height= »none »][plain]
ln -s /var/www/rsslounge/public/javascript/all.js /usr/share/javascript/all.js
ln -s /var/www/rsslounge/public/javascript/jquery-1.5.min.js /usr/share/javascript/jquery-1.5.min.js
[/plain]

Après quelques mois d’utilisation j’en suis vraiment content, voici un petit retour d’expérience :

Installé le 22 août 2011, d’ailleurs c’est bête de ne pas avoir une date de création, enfin bon c’est rien ça.
je totalise aujourd’hui le 23/02/2012

Pour une taille total de la base de :

Pour vous faciliter la navigation vous pouvez retrouver la liste des raccourcis clavier ici
[two_two]

Les plus

  • Auto-Hébergé je ne crains pas que mes données soient exploitées
  • Je ne suis plus bloqué par le boulot
  • Pseudo proxy

[/two_two]
[two_two]

Les moins

  • Niveau mobilité ce n’est pas top
  • Pas d’appli iPhone – iPad (depuis peu sur Android)
  • Pas de super possibilités pour classer les flux (en plus des catégories un système de tag, ou catégories récursives)
  • Pas de possibilités d’avoir un fil public
  • Pas de possibilités de partager
  • Pas de possibilités de multi-user
  • Pas de possibilités de thème (optionnel ce n’est pas un vrai moins)

[/two_two][/fusion_builder_column][/fusion_builder_row][/fusion_builder_container]

NPDS – Meta Mot X Derniers commentaires

ketzol a demandé il y a quelques jours sur le forum de NPDS, si il existait une fonction permettant d’afficher les X Derniers Commentaires, jusqu’à présent ce n’était pas possible mais aujourd’hui c’est chose faite.

Pour installer ce méta-mot vous avez deux possibilités :

L’installer manuellement en suivant cette méthode, Installation et Gestion des Méta-Mot,
avec le fichier d’installation automatique qui se trouve par ici X derniers commentaires

[fusion_builder_container hundred_percent= »yes » overflow= »visible »][fusion_builder_row][fusion_builder_column type= »1_1″ background_position= »left top » background_color= » » border_size= » » border_color= » » border_style= »solid » spacing= »yes » background_image= » » background_repeat= »no-repeat » padding= » » margin_top= »0px » margin_bottom= »0px » class= » » id= » » animation_type= » » animation_speed= »0.3″ animation_direction= »left » hide_on_mobile= »no » center_content= »no » min_height= »none »][php]
function MM_dernierCommentaires($nbCommentaire = 10, $maLimite = 80) {
global $NPDS_Prefix;

$nbCommentaire = arg_filter($nbCommentaire);
$maLimite = arg_filter($maLimite);

$sqlSelect = ‘SELECT ‘.$NPDS_Prefix.’posts.topic_id, ‘.$NPDS_Prefix.’posts.poster_id, ‘.$NPDS_Prefix.’posts.post_text, ‘.$NPDS_Prefix.’users.name, ‘.$NPDS_Prefix.’stories.title
FROM ‘.$NPDS_Prefix.’posts
INNER JOIN ‘.$NPDS_Prefix.’users ON ‘.$NPDS_Prefix.’posts.poster_id = ‘.$NPDS_Prefix.’users.uid
INNER JOIN ‘.$NPDS_Prefix.’stories ON ‘.$NPDS_Prefix.’posts.topic_id = ‘.$NPDS_Prefix.’stories.sid
WHERE forum_id = -1
ORDER BY post_id DESC
LIMIT ‘.$nbCommentaire;
$execSqlSelect = sql_query($sqlSelect);
$content .= ‘<ul id="dernierCommentaire">’;

while($dernierCommentaires = sql_fetch_row($execSqlSelect)) {
$dernierComment = strip_tags($dernierCommentaires[2]);
if(strlen($dernierComment) &amp;gt;= $maLimite) {
while($dernierComment[$maLimite – 1] != " ") {
$maLimite++;
}
$dernierComment = substr($dernierComment, 0, $maLimite);
$dernierComment .= ‘ …’;
}
$remplaceNPDS = str_replace(‘NPDS’, ‘npds’, $dernierCommentaires[4]);
$content .= $dernierCommentaires[1] == 1 ? ‘<li>Anonyme : <a title="’.$remplaceNPDS.’" href="article.php?sid=’.$dernierCommentaires[0].’">’.$dernierComment.'</a></li>’ : ‘<li><a href="user.php?op=userinfo&amp;amp;uname=’.$dernierCommentaires[3].’">’.$dernierCommentaires[3].'</a> : <a title="’.$remplaceNPDS.’" href="article.php?sid=’.$dernierCommentaires[0].’">’.$dernierComment.'</a></li>’;
}
$content .= ‘</ul>’;
return($content);
}

[/php][/fusion_builder_column][/fusion_builder_row][/fusion_builder_container]

SQLServer – Comment réindexer une base

Le script qui suit est issu de la FAQ du site Developpez

Voici la description faite sur le site par HULK

La gestion des index par SQL Server peut entraîner la fragmentation de ceux-ci et une dégradation des performances. Si le volume d’informations de votre base évolue beaucoup, il est nécessaire de réindexer votre base. Plus votre base change, plus les index perdent en efficacité, il faut donc les recréer. On peut reconstruire les index avec la commande DBCC REINDEX.

Le seul truc pour moi c’est que le script ne prenait pas en compte les schémas, voici donc la modification du script avec la prise en compte des schémas.

[fusion_builder_container hundred_percent= »yes » overflow= »visible »][fusion_builder_row][fusion_builder_column type= »1_1″ background_position= »left top » background_color= » » border_size= » » border_color= » » border_style= »solid » spacing= »yes » background_image= » » background_repeat= »no-repeat » padding= » » margin_top= »0px » margin_bottom= »0px » class= » » id= » » animation_type= » » animation_speed= »0.3″ animation_direction= »left » hide_on_mobile= »no » center_content= »no » min_height= »none »][sql]
DECLARE @schemaName sysname
DECLARE @table_name sysname
DECLARE @schemaTable varchar(max)
DECLARE @TSQL nvarchar(4000)
DECLARE @Err int
DECLARE @Mess varchar(400)
SET @Mess = ‘Début réindexation’
RAISERROR(@Mess, 10, 1) WITH LOG
–Modif de la requete Hotfirenet
DECLARE table_list CURSOR FAST_FORWARD FOR SELECT sch.name as schemaName, tab.name as nom FROM sys.tables as tab INNER JOIN sys.schemas as sch ON tab.schema_id = sch.schema_id WHERE type = ‘u’
–Fin de modif
OPEN table_list
FETCH NEXT FROM table_list INTO @schemaName, @table_name
WHILE @@fetch_status = 0
BEGIN
–Modif Hotfirenet
SET @schemaTable = ‘[‘+@schemaName+’].[‘+@table_name+’]’
–Fin de modif
SET @TSQL = N’DBCC DBREINDEX("’ + @schemaTable + N’")’

EXECUTE sp_executesql @TSQL
–SELECT @TSQL
SET @Err = @@error
IF (@Err != 0)
BEGIN
SET @Mess = ‘Echec réindexation table ‘ + @schemaTable + ‘ suite erreur ‘ + CONVERT(varchar, @Err)
RAISERROR(@Mess, 16, 1) WITH LOG
END

FETCH NEXT FROM table_list INTO @schemaName, @table_name
END
CLOSE table_list
DEALLOCATE table_list
SET @Mess = ‘Fin réindexation’
RAISERROR(@Mess, 10, 1) WITH LOG
GO
[/sql][/fusion_builder_column][/fusion_builder_row][/fusion_builder_container]

RetEx – Pas content de Filesonic

J’ai eu besoin il y a quelques temps de souscrire à un abonnement premium de 30 jours au service Filesonic, assez content de la prestation de celui-ci j’aurais pu faire de la pub.

Pour info je suis passé par PayPal pour payer l’abonnement.

30 jours sont passés, fin de l’abonnement du moins c’est ce que je pensais car en regardant de plus près PayPal je constate un débit de 9$ de la société FilesSonic.

Lorsque j’ai accepté le paiement par PayPal j’ai eu un abonnement automatique mensuel au service, je vous conseille si vous souhaitez utiliser FileSonic de bien vérifier dans votre service de paiement qu’il n’y ai pas la même chose.

Bon en même temps j’avoue ne pas avoir tout lu !!

Dans l’histoire faut que je me trouve rapidement un moteur de recherche pour FileSonic :), il ne me reste plus que 23 jours.

XBOX – Abonnement Xbox Live Gold

C’est pour moi la période de renouveler mon abonnement au Xbox Live, sachant que chez Microsoft on le trouve à 59,99€ et que l’année dernière je l’ai trouvé chez G-Rom au prix de 34,69€ je me suis que renouveler chez le même prestataire pourrait être bien.

Jusqu’à ce que je tombe sur la boutique de Abonnement-Xbox-Live.com qui propose pour 36,79€ l’abonnement Gold pour 14 mois.

Pas de problème pour la réception du code l’activation auprès de Microsoft.

Enfin bref direction la console …[/fusion_builder_column][/fusion_builder_row][/fusion_builder_container]

Freebox – j’ai des problèmes pour lire des mkv

Vous venez de transférez un mkv sur votre Freebox HD mais vous n’avez pas d’image, ou alors pas de son ou pire la vidéo ne se lance pas.

Ce n’est pas si grave que cela en a l’air.

Suivant le problème que vous avez il y a plusieurs utilitaires qui sont à votre disposition le résoudre :

La vidéo ne se lance pas !
Certains fichiers MKV contiennent des sous-titres. La Freebox ne sait pas les lire et refusera de lire le fichier MKV. Il faut donc retirer les sous-titres.

J’ai l’image, mais pas de son !
Certains fichiers MKV sont encodés en DTS. Problème, la Freebox n’est pas capable de décoder ce format audio. Il va falloir donc extraire la piste audio de votre MKV et la réencoder au format AC3.

[fusion_builder_container hundred_percent= »yes » overflow= »visible »][fusion_builder_row][fusion_builder_column type= »1_1″ background_position= »left top » background_color= » » border_size= » » border_color= » » border_style= »solid » spacing= »yes » background_image= » » background_repeat= »no-repeat » padding= » » margin_top= »0px » margin_bottom= »0px » class= » » id= » » animation_type= » » animation_speed= »0.3″ animation_direction= »left » hide_on_mobile= »no » center_content= »no » min_height= »none »][ads client= »3683597995550252″ slot= »3862709332″ width= »468″ height= »15″]

Vous pourrez trouver de bon tutoriaux sur le net pour le faire manuellement, pourquoi je ne donne pas plus d’informations ?
Tout simplement parce qu’il existe un logiciel qui regroupe tous les utilitaires présentés ci-dessus.

A quoi sert mkvsmoothie ?
Principalement, et c’est pour cela que le logiciel a été créé : à automatiser le transcodage des pistes audio DTS en Ac3 de vos mkv. Secondairement a simplifier les mkvs et a les rendre plus compatibles. Il crée et lance un script d’extraction,transcodage et remuxage de vos mkv originaux pour les rendre compatibles avec votre boitier multimédia ou votre console Le résultat est un fichier « votrefichieroriginal-remux.mkv »

Pour le télécharger : http://www.mendeleiev.info/mkvsmoothie/download=mkvsmoothie+0.8.5
Pour l’utilisation : http://www.mendeleiev.info/mkvsmoothie/aide

[/fusion_builder_column][/fusion_builder_row][/fusion_builder_container]

iPhone – Passage en mode DFU

Le mode DFU sert à « anesthésier » l’iPhone avant de lui « transplanter le coeur » (le firmware). Vous pourrez l’utiliser pour restaurer l’iPhone avec le firmware de votre choix sur iTunes. Le mode DFU est à privilégier au mode récupération pour éviter « d’endommager le système nerveux » de l’iPhone.

Les étapes :

  1. Lancer iTunes
  2. Eteindre son iPhone et le débrancher du PC
  3. Brancher l’iPhone sur le PC et attendre l’affichage de l’image de démarrage
  4. A l’apparition de l’image, il faut appuyer simultanément sur les boutons POWER et HOME.
  5. Lorsque l’image de démarrage disparaît, il faut continuer à appuyer sur les deux bouton pendant 2 secondes puis relâcher le bouton POWER uniquement.
  6. Maintenir le bouton HOME enfoncé jusqu’à ce que l’iPhone soit reconnu comme étant en mode DFU par iTunes.

En mode DFU, l’iPhone ne doit pas afficher d’image mais simplement un écran noir.