WP Serie: Les meilleurs hacks wordpress #2

Suite de la série des meilleurs hacks WordPress. Au sommaire:

  1. Reconnaissance du navigateur de vos visiteurs,
  2. Proposer un flux RSS personnalisé
  3. Tester si l’article consulté contient au moins une image
  1. Reconnaitre le navigateur de vos visiteurs dans WordPress:

    Rendre son site compatible avec internet explorer tous les navigateurs est souvent un travail de longue haleine.
    Voilà une fonctions aux multiples usages qui vous permettra de savoir quel est le navigateur de vos visiteurs, afin de changer le style css de votre page.
    Pour ce faire, ouvrez (ou créez) votre fichier functions.php (situé dans le dossier de votre thème et collez-y:

    		<?php
    			add_filter('body_class','browser_body_class');
    			function browser_body_class($classes) {
    				global $is_lynx, $is_gecko, $is_IE, $is_opera, $is_NS4, $is_safari, $is_chrome, $is_iphone;
    
    				if($is_lynx) $classes[] = 'lynx';
    				elseif($is_gecko) $classes[] = 'gecko';
    				elseif($is_opera) $classes[] = 'opera';
    				elseif($is_NS4) $classes[] = 'ns4';
    				elseif($is_safari) $classes[] = 'safari';
    				elseif($is_chrome) $classes[] = 'chrome';
    				elseif($is_IE) $classes[] = 'ie';
    				else $classes[] = 'unknown';
    
    				if($is_iphone) $classes[] = 'iphone';
    				return $classes;
    			}
    			?>
    		

    Une fois l’opération terminée, votre balide devrait ressemble à ceci pour un visiteur utilisant safari:

    		<body class=&quot;home blog logged-in safari&quot;>
    		

    Pratique non? Une fonction trouvée via http://www.nathanrice.net/blog/browser-detection-and-the-body_class-function/

  2. Proposer un flux RSS personnalisé:
    Si vous passer par Feed-Burner pour proposer votre flux RSS ou si vous souhaitez simplement fournir un lien vers un flux RSS perticulier et personnalisé (avec par exemple une catégorie en moins et comportant le tag « WordPress »), voilà une fonction simple est utile.
    Commencez par créer un template de page (que vous enregistrerez dans le dossier de votre thème), en la nommant par exemple custom-feed.php, et collez-y ceci:

    			<?php
    /*
    Template Name: Custom Feed
    */
    
    $numposts = 5;
    
    function yoast_rss_date( $timestamp = null ) {
      $timestamp = ($timestamp==null) ? time() : $timestamp;
      echo date(DATE_RSS, $timestamp);
    }
    
    function yoast_rss_text_limit($string, $length, $replacer = '...') {
      $string = strip_tags($string);
      if(strlen($string) > $length)
        return (preg_match('/^(.*)W.*$/', substr($string, 0, $length+1), $matches) ? $matches[1] : substr($string, 0, $length)) . $replacer;
      return $string;
    }
    
    $posts = query_posts('showposts='.$numposts);
    
    $lastpost = $numposts - 1;
    
    header("Content-Type: application/rss+xml; charset=UTF-8");
    echo '<?xml version="1.0"?>';
    ?><rss version="2.0">
    <channel>
      <title>VotreSite E-mail Update</title>
      <link>http://votresite.com/</link>
      <description>Les articles personnalise de mon blog.</description>
      <language>en-us</language>
      <pubDate><?php yoast_rss_date( strtotime($ps[$lastpost]->post_date_gmt) ); ?></pubDate>
      <lastBuildDate><?php yoast_rss_date( strtotime($ps[$lastpost]->post_date_gmt) ); ?></lastBuildDate>
      <managingEditor>votre@email.com</managingEditor>
    <?php foreach ($posts as $post) { ?>
      <item>
        <title><?php echo get_the_title($post->ID); ?></title>
        <link><?php echo get_permalink($post->ID); ?></link>
        <description><?php echo '<![CDATA['.yoast_rss_text_limit($post->post_content, 500).'<br/><br/>Keep on reading: <a href="'.get_permalink($post->ID).'">'.get_the_title($post->ID).'</a>'.']]>';  ?></description>
        <pubDate><?php yoast_rss_date( strtotime($post->post_date_gmt) ); ?></pubDate>
        <guid><?php echo get_permalink($post->ID); ?></guid>
      </item>
    <?php } ?>
    </channel>
    </rss>
    
    			

    Maintenant une modification s’impose. Repérez la ligne:

    			$posts = query_posts('showposts='.$numposts);
    			

    Dans les parenthèses, mettez les conditions qui vous interressent. Si vous n’y connaissez rien, visitez cette page: Les requetes query_post() de wordpress
    Ensuite, allez créer une nouvelle page, que vous nommerez comm vous voulez. N’y mettez pas de texte à l’interieur et choisissez ‘Custom Feed’ comme modèle de page.Il ne vous reste plus qu’à cliquer sur le lien de la page est vous verrez votre flux RSS!

    Article original: http://www.wprecipes.com/creating-user-defined-rss-feeds-in-wordpress

  3. Tester si l’article consulté contient au moins une image:
    Si vous souhaitez savoir si un article possède au moins un image (pratique si on veut l’afficher par exemple!), collez ce morceau de code dans la boucle des articles (loop):
    			<?php
    			$content = $post->post_content;
    			$searchimages = '~<img [^>]* />~';
    
    			preg_match_all( $searchimages, $content, $pics );
    
    			// verifie que l'on ait au moins 1 image
    			$iNumberOfPics = count($pics[0]);
    
    			if ( $iNumberOfPics > 0 ) {
    				 // afficher l'image, par exemple ...
    			}
    
    			?>
    
    			


    Article original: http://www.wprecipes.com/wordpress-tip-detect-if-a-post-has-at-least-one-image
    Dans la même idée, on peut essayer d’afficher directement une image que l’on aurait uploadé lors de la création de l’article. Il suffit d’ajouter ce code à la place:

    			<?php echo wp_get_attachment_image($post->ID); ?>
    			

C’est terminé pour aujourd’hui! Si vous avez des questions, n’hésitez pas à me laisser un commentaire! Si vous avez manqué l’article précédent, suivez le lien:

Mat_

Au départ on sort avec un diplôme d’ingénieur de l’ESIL (devenu Polytech’Marseille) en Informatique, réseau et multimédia, spécialisé dans les Systèmes d’Informations et Services E-Business. En même temps on bosse, on développe, on apprend. Et maintenant on entreprend. Passionné de nouvelles technologies, et évangéliste de WordPress, j’aime découvrir, tester, rechercher.

Vous pourriez aussi aimer...

Laisser un commentaire

Suivez Kune.fr sur les réseaux sociaux !

Kune.fr est votre site de ressources web. Vous y trouverez de nombreux outils utiles pour le web.
Alors n'hésitez plus, aimez notre page !

  • Ressources Wordpress, tutoriels, plugins et thèmes
  • Ressources design, packs d'icônes, kits UI ...
Fermer cette popup
%d blogueurs aiment cette page :