<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Wordpress &#8211; DesireLabs</title>
	<atom:link href="/category/cms/wordpress/feed/" rel="self" type="application/rss+xml" />
	<link>/</link>
	<description>Développement web, marketing digital, et référencement</description>
	<lastBuildDate>Tue, 06 Jun 2017 17:34:36 +0000</lastBuildDate>
	<language>fr-FR</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>https://wordpress.org/?v=4.9.4</generator>
<site xmlns="com-wordpress:feed-additions:1">67143140</site>	<item>
		<title>Utiliser SASS dans ses projets WordPress</title>
		<link>/utiliser-sass-projets-wordpress/</link>
		<comments>/utiliser-sass-projets-wordpress/#respond</comments>
		<pubDate>Sun, 10 Jan 2016 20:05:15 +0000</pubDate>
		<dc:creator><![CDATA[Franck]]></dc:creator>
				<category><![CDATA[HTML/CSS]]></category>
		<category><![CDATA[Non classé]]></category>
		<category><![CDATA[sass]]></category>
		<category><![CDATA[Wordpress]]></category>
		<category><![CDATA[compass]]></category>

		<guid isPermaLink="false">/?p=456</guid>
		<description><![CDATA[<p>Sass est devenu pour moi un outil du quotidien. Je l&#8217;utilise dans presque tous mes projets. Le fait est que je travaille beaucoup avec WordPress. Il est donc devenu évident qu&#8217;il fallait que je développe une méthodologie pour le faire entrer dans ces projets-ci. Aujourd&#8217;hui je vous propose de découvrir de quelle manière intégrer Sass &#8230; <a href="/utiliser-sass-projets-wordpress/" class="more-link">Continuer la lecture de <span class="screen-reader-text">Utiliser SASS dans ses projets WordPress</span></a></p>
<p>L’article <a rel="nofollow" href="/utiliser-sass-projets-wordpress/">Utiliser SASS dans ses projets WordPress</a> est apparu en premier sur <a rel="nofollow" href="/">DesireLabs</a>.</p>
]]></description>
				<content:encoded><![CDATA[<p>Sass est devenu pour moi un outil du quotidien. Je l&rsquo;utilise dans presque tous mes projets. Le fait est que je travaille beaucoup avec WordPress. Il est donc devenu évident qu&rsquo;il fallait que je développe une méthodologie pour le faire entrer dans ces projets-ci. Aujourd&rsquo;hui je vous propose de découvrir de quelle manière intégrer Sass dans vos projets WordPress.<span id="more-456"></span></p>
<p>Un thème WordPress nécessite normalement 1 seul et unique fichier CSS, à la racine : style.css. Mais tout mettre au kilomètre dans ce fichier c&rsquo;est la garantie de rendre le projet difficile à maintenir et à faire évoluer. C&rsquo;est pourquoi on préfèrera découper son design en modules. Plusieurs méthodologies existent, mais celle qui fait sens à mes yeux se rapproche de SMACSS. Je vous invite à aller faire un tour sur <a href="https://smacss.com/" target="_blank">leur site</a>, on y apprend des choses très intéressantes sur les manières possibles de découper son design CSS.</p>
<p>La puissance des préprocesseurs CSS n&rsquo;est plus à démontrer : ils nous permettent de s&rsquo;affranchir des préfixes vendeurs, d&rsquo;apporter de la logique dans nos feuilles de styles, de séparer proprement notre architecture, bref, de tout calibrer au plus juste sans se répéter. C&rsquo;est la méthode DRY (Don&rsquo;t repeat yourself). Globalement, on gagne en productivité, en stabilité, on limite les régressions et en plus on s&rsquo;éclate. Que demander de plus ?</p>
<p><strong>Sass embrasse parfaitement cette philosophie du DRY et de la scalabilité. Mais pour l’installer sur WordPress comment ça se passe ?</strong></p>
<p>Premièrement, il faut avoir déjà installé et configuré les outils sur sa machine. Dans mon cas, j&rsquo;utilise le framework COMPASS. Il est réputé pour être l&rsquo;un des plus complets avec une palette de mixins très étendue, et même si pas mal lui reprochent d&rsquo;être assez lourd / lent à la compilation, de mon point de vue c&rsquo;est à la marge. Car si vous n&rsquo;avez jamais utilisé SASS / COMPASS, il faut savoir que le code que vous générez est compilé à la volée en fichier css standards.</p>
<p>Je pars du principe que les personnes qui lisent cet articles ont déjà COMPASS d&rsquo;installé et sont prêts à se lancer.</p>
<p>Pour démarrer le projet (thème ou plugin) en mode SASS, il suffit d&rsquo;initialiser un projet COMPASS à la racine. Si je construit un thème, j&rsquo;ouvrirai le terminal à la racine de mon thème et je taperai :</p>
<p></p><pre class="crayon-plain-tag">compass init</pre><p></p>
<p>A la suite de quoi, je me retrouve avec un fichier config.rb, ainsi que 2 nouveaux dossiers : sass et stylesheets. Le dossier sass est celui dans lequel on va travailler à l&rsquo;avenir, mais avant, il faut aller un peu plus loin :</p>
<p>Les fichiers scss contenu dans le dossier sass vont entrainer la création / modification de leur alter égo css contenu dans le dossier stylesheets, à chaque fois que j&rsquo;ajouterai / modifierai un fichier scss. Je vais donc devoir demander à compass de se mettre en « écoute », de manière à <em>catcher</em> les modifications au fur et à mesure. Je tape donc dans mon terminal, toujours à la racine de mon thème :</p>
<p></p><pre class="crayon-plain-tag">compass watch</pre><p></p>
<p>Le watcher est à présent en mode « écoute », et toutes les modifications effectuées dans le dossier sass seront automatiquement compilées dans le dossier stylesheets. Mais cela ne suffit pas. Il faut dès maintenant indiquer à WordPress comment récupérer / lire les fichiers css créés.</p>
<p><strong>Voici la logique que j&rsquo;appliqu</strong>e :</p>
<p>Mon fichier style.css à la racine de mon thème va dès à présent me servir de passerelle, en appelant un seul et unique fichier contenu dans le dossier stylesheets. Bien sûr, la création de ce fichier se passe d&rsquo;abord dans le dossier sass : je créé un fichier nommé « main.scss », et automatiquement, son copain « main.css » est créé. Il me suffit alors d&rsquo;importer ce fichier css dans mon « style.css » :</p>
<p></p><pre class="crayon-plain-tag">@import url(stylesheets/main.css);</pre><p></p>
<p>Mais alors, et les autres fichiers aussi il va falloir  les importer ? Oui et non. En fait ce qu&rsquo;on va faire c&rsquo;est créer uniquement des fichiers scss qui ne seront pas compilés en fichiers css. Le but n&rsquo;est pas de remplir le dossier stylesheets, mais de le maintenir avec un seul fichier : notre fameux main.css, et de dire à ce dernier de faire tous les imports des fichiers qu&rsquo;on va créer par la suite.</p>
<p>Du coup on va préfixer tous nos nouveux fichiers scss avec un underscore « _ ». Par exemple, si je veux un fichier scss dédié à la navigation et un autre à mes modules, je vais les nommer respectivement « _navigation.scss » et « _modules.scss ». De cette manière je suis tranquille, je sais qu&rsquo;ils ne seront pas compilés en css. Il ne reste plus qu&rsquo;à les importer dans l&rsquo;ordre qui nous convient, dans le fichier main.scss (qui lui ne possède pas d&rsquo;underscore, et est donc compiler en main.css).</p>
<p>Voici ce que j&rsquo;écris dans mon main.scss :</p>
<p></p><pre class="crayon-plain-tag">@import "compass";
@import "navigation";
@import "modules";</pre><p></p>
<p>Première chose à noter, j&rsquo;importe les fichiers en les appelant par leur nom, sans l&rsquo;underscore et sans leur extension. C&rsquo;est tout à fait normal. De plus je n&rsquo;utilise pas « url(nom du fichier) », je met directement le nom de mon fichier entre guillemets, et c&rsquo;est tout ! L&rsquo;import de « compass » est nécessaire mais non obligatoire : le fait d&rsquo;utiliser le compilateur de COMPASS ne vous oblige nullement à utiliser les mixins fournies, mais bon, ce serait dommage de se priver <img src="https://s.w.org/images/core/emoji/2.4/72x72/1f609.png" alt="😉" class="wp-smiley" style="height: 1em; max-height: 1em;" /> Pour ma part je recommande de ne pas importer COMPASS entièrement, mais de sélectionner les outils qui vous intéressent. Je vous laisse jeter un oeil à la <a href="http://compass-style.org/help/" target="_blank">documentation de compass</a> à ce sujet.</p>
<p><strong>Si on récapitule :</strong></p>
<p>j&rsquo;ai un fichier style.css qui importe le fichier main.css, qui lui même est issu de la compilation de main.scss, et c&rsquo;est dans main.scss qu&rsquo;on importe autres feuilles de style scss. C&rsquo;est aussi simple que ça ! Les modules importés sont préfixés d&rsquo;un underscore, de manière à ne pas générer un fichier css pour rien, mais de tout centraliser grâce à un seul et unique fichier : main.scss</p>
<p>C&rsquo;est ainsi que je procède dans mes projets, une fois que tout est en place, il ne me reste qu&rsquo;à lancer mon watcher et tout se fait dans le dossier sass à la racine du thème. On ne peut faire plus simple, enfin pas tant que les navigateurs ne parleront pas autre chose que du css <img src="https://s.w.org/images/core/emoji/2.4/72x72/1f609.png" alt="😉" class="wp-smiley" style="height: 1em; max-height: 1em;" /></p>
<p>L’article <a rel="nofollow" href="/utiliser-sass-projets-wordpress/">Utiliser SASS dans ses projets WordPress</a> est apparu en premier sur <a rel="nofollow" href="/">DesireLabs</a>.</p>
]]></content:encoded>
			<wfw:commentRss>/utiliser-sass-projets-wordpress/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	<post-id xmlns="com-wordpress:feed-additions:1">456</post-id>	</item>
		<item>
		<title>Filtrer ses portfolios Jetpack grâce à Isotope</title>
		<link>/filtrer-ses-portfolios-jetpack-grace-a-isotope/</link>
		<comments>/filtrer-ses-portfolios-jetpack-grace-a-isotope/#respond</comments>
		<pubDate>Tue, 10 Nov 2015 17:18:23 +0000</pubDate>
		<dc:creator><![CDATA[Franck]]></dc:creator>
				<category><![CDATA[Plugins]]></category>
		<category><![CDATA[Wordpress]]></category>
		<category><![CDATA[isotope]]></category>
		<category><![CDATA[jetpack]]></category>
		<category><![CDATA[portfolio]]></category>

		<guid isPermaLink="false">/?p=450</guid>
		<description><![CDATA[<p>Desire Portfolio Filter est un nouveau plugin qui ajoute à Jetpack les fameux filtres de la librairie javascript Isotope pour trier ses projets de portfolio. Je trouvais que ce qui manquait réellement à Jetpack Portfolio, c&#8217;était la possibilité de filtrer ses projets en fonction du type par exemple. Et comme je trouvais dommage d&#8217;installer un &#8230; <a href="/filtrer-ses-portfolios-jetpack-grace-a-isotope/" class="more-link">Continuer la lecture de <span class="screen-reader-text">Filtrer ses portfolios Jetpack grâce à Isotope</span></a></p>
<p>L’article <a rel="nofollow" href="/filtrer-ses-portfolios-jetpack-grace-a-isotope/">Filtrer ses portfolios Jetpack grâce à Isotope</a> est apparu en premier sur <a rel="nofollow" href="/">DesireLabs</a>.</p>
]]></description>
				<content:encoded><![CDATA[<p>Desire Portfolio Filter est un nouveau plugin qui ajoute à Jetpack les fameux filtres de la librairie javascript Isotope pour trier ses projets de portfolio.</p>
<p>Je trouvais que ce qui manquait réellement à Jetpack Portfolio, c&rsquo;était la possibilité de filtrer ses projets en fonction du type par exemple. Et comme je trouvais dommage d&rsquo;installer un autre plugin de portfolio juste pour cette featurette, j&rsquo;ai opté pour un plugin maison qui fait appel aux portfolio Jetpack. <strong>Donc vous ne pouvez pas utiliser ce plugin sans Jetpack.</strong></p>
<p>Pour l&rsquo;heure, il utilise un template spécifique pour l&rsquo;affichage des portfolios, qu&rsquo;il faut choisir sur la page d&rsquo;affichage lors de l&rsquo;édition, en remplacement de l&rsquo;utilisation du shortcode fourni par automattic. Cela implique que l&rsquo;on n&rsquo;a plus la main sur les portfolios qu&rsquo;on affiche. Mais une version est en cours de développement afin de rendre à César ce qui est à César, et offrir à nouveau cette possibilité.</p>
<p>Télécharger le plugin sur :</p>
<p><a href="https://github.com/neovea/desire-portfolio-filter" target="_blank"><br />
</a><a href="https://github.com/neovea/desire-portfolio-filter" target="_blank"><img class="aligncenter" src="/wp-content/uploads/2015/11/GitHub_Logo-300x123.png" alt="GitHub_Logo" width="163" height="67" /></a></p>
<p>Ou sur :<br />
<a href="https://wordpress.org/plugins/desire-portfolio-filter/" target="_blank"><img class="aligncenter" src="/wp-content/uploads/2015/11/wordpress-logo-hoz-rgb-300x100.jpg" alt="wordpress-logo-hoz-rgb" width="300" height="100" /></a></p>
<p>Je vous laisse découvrir et me faire vos retours <img src="https://s.w.org/images/core/emoji/2.4/72x72/1f642.png" alt="🙂" class="wp-smiley" style="height: 1em; max-height: 1em;" /></p>
<p>L’article <a rel="nofollow" href="/filtrer-ses-portfolios-jetpack-grace-a-isotope/">Filtrer ses portfolios Jetpack grâce à Isotope</a> est apparu en premier sur <a rel="nofollow" href="/">DesireLabs</a>.</p>
]]></content:encoded>
			<wfw:commentRss>/filtrer-ses-portfolios-jetpack-grace-a-isotope/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	<post-id xmlns="com-wordpress:feed-additions:1">450</post-id>	</item>
		<item>
		<title>Intégrer des widgets dans ses contenus WordPress</title>
		<link>/integrer-des-widget-dans-ses-contenus-wordpress/</link>
		<comments>/integrer-des-widget-dans-ses-contenus-wordpress/#respond</comments>
		<pubDate>Sun, 01 Nov 2015 21:30:41 +0000</pubDate>
		<dc:creator><![CDATA[Franck]]></dc:creator>
				<category><![CDATA[Plugins]]></category>
		<category><![CDATA[Wordpress]]></category>
		<category><![CDATA[plugin wordpress]]></category>
		<category><![CDATA[widget]]></category>

		<guid isPermaLink="false">/?p=441</guid>
		<description><![CDATA[<p>Ne vous est-il pas déjà arrivé de vouloir afficher un ou plusieurs widgets sur une page ou dans un article WordPress ? Ces petites boîtes sont devenues tellement nombreuses et sont si pratiques que ce serait dommage de cantonner leur usage à la sidebar uniquement 🙂 Aujourd&#8217;hui je vous offre un plugin très simple qui &#8230; <a href="/integrer-des-widget-dans-ses-contenus-wordpress/" class="more-link">Continuer la lecture de <span class="screen-reader-text">Intégrer des widgets dans ses contenus WordPress</span></a></p>
<p>L’article <a rel="nofollow" href="/integrer-des-widget-dans-ses-contenus-wordpress/">Intégrer des widgets dans ses contenus WordPress</a> est apparu en premier sur <a rel="nofollow" href="/">DesireLabs</a>.</p>
]]></description>
				<content:encoded><![CDATA[<p>Ne vous est-il pas déjà arrivé de vouloir afficher un ou plusieurs widgets sur une page ou dans un article WordPress ? Ces petites boîtes sont devenues tellement nombreuses et sont si pratiques que ce serait dommage de cantonner leur usage à la sidebar uniquement <img src="https://s.w.org/images/core/emoji/2.4/72x72/1f642.png" alt="🙂" class="wp-smiley" style="height: 1em; max-height: 1em;" /> Aujourd&rsquo;hui je vous offre un plugin très simple qui vous permet cela, mais pas que&#8230; <span id="more-441"></span>Je ne trouvais pas chaussure à mon pied, et aucune solution existante ne me séduisait. J&rsquo;ai donc codé ce petit plugin qui offre deux fonctionnalités :</p>
<ol>
<li>Pouvoir ajouter des widgets dans un contenu (page ou article par exemple) via un simple shortcode</li>
<li>Pouvoir afficher une page dans un widget (pratique si l&rsquo;on souhaite faire un design one page)</li>
</ol>
<p>C&rsquo;est la version 1.0, ce qui signifie qu&rsquo;elle est stable bien sûr, mais aussi que pour l&rsquo;instant, il n&rsquo;y a aucune autre fonctionnalité que celles décrites plus haut. J&rsquo;ai déjà une petite liste d&rsquo;améliorations et d&rsquo;évolutions dans les cartons, so wait (try) and see <img src="https://s.w.org/images/core/emoji/2.4/72x72/1f609.png" alt="😉" class="wp-smiley" style="height: 1em; max-height: 1em;" /></p>
<p>Je ne vous décris pas son fonctionnement, je vous laisse découvrir ça par vous-même, car vous verrez c&rsquo;est très simple.</p>
<p>Quelques captures d&rsquo;écran viendront bientôt, donc en attendant, si vous souhaitez tester l&rsquo;application, rendez-vous sur mon compte GitHub :</p>
<p><a href="https://github.com/neovea/desire-page-widget" target="_blank"><br />
</a><a href="https://github.com/neovea/desire-page-widget" target="_blank"><img class="aligncenter" src="/wp-content/uploads/2015/11/GitHub_Logo-300x123.png" alt="GitHub_Logo" width="163" height="67" /></a>Ou sur wordpress.org :</p>
<p><a href="https://wordpress.org/plugins/desire-page-widget/" target="_blank"><img class="aligncenter" src="/wp-content/uploads/2015/11/wordpress-logo-hoz-rgb-300x100.jpg" alt="wordpress-logo-hoz-rgb" width="300" height="100" /></a></p>
<p>N&rsquo;hésitez pas à me faire vos retours sur mon compte GitHub ou dans les commentaires. Merci <img src="https://s.w.org/images/core/emoji/2.4/72x72/1f642.png" alt="🙂" class="wp-smiley" style="height: 1em; max-height: 1em;" /></p>
<p>L’article <a rel="nofollow" href="/integrer-des-widget-dans-ses-contenus-wordpress/">Intégrer des widgets dans ses contenus WordPress</a> est apparu en premier sur <a rel="nofollow" href="/">DesireLabs</a>.</p>
]]></content:encoded>
			<wfw:commentRss>/integrer-des-widget-dans-ses-contenus-wordpress/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	<post-id xmlns="com-wordpress:feed-additions:1">441</post-id>	</item>
		<item>
		<title>Tutoriel &#8211; Installer WordPress MultiSite et cloner son instance de site maître</title>
		<link>/multisite-wordpress-facile/</link>
		<comments>/multisite-wordpress-facile/#comments</comments>
		<pubDate>Mon, 13 Jul 2015 07:00:59 +0000</pubDate>
		<dc:creator><![CDATA[Franck]]></dc:creator>
				<category><![CDATA[Tutoriels]]></category>
		<category><![CDATA[Wordpress]]></category>
		<category><![CDATA[MultiSite]]></category>

		<guid isPermaLink="false">/?p=351</guid>
		<description><![CDATA[<p>Faire du MultiSite sous WordPress est très facile, mais demande tout de même un peu de réflexion avant de se lancer dans la bataille. Par ailleurs quand on souhaite des instances identiques en termes de structure et de contenu, ça peut vite devenir rébarbatif. Mais comme toujours, il y a une extension pour ça !Première &#8230; <a href="/multisite-wordpress-facile/" class="more-link">Continuer la lecture de <span class="screen-reader-text">Tutoriel &#8211; Installer WordPress MultiSite et cloner son instance de site maître</span></a></p>
<p>L’article <a rel="nofollow" href="/multisite-wordpress-facile/">Tutoriel &#8211; Installer WordPress MultiSite et cloner son instance de site maître</a> est apparu en premier sur <a rel="nofollow" href="/">DesireLabs</a>.</p>
]]></description>
				<content:encoded><![CDATA[<p>Faire du MultiSite sous WordPress est très facile, mais demande tout de même un peu de réflexion avant de se lancer dans la bataille. Par ailleurs quand on souhaite des instances identiques en termes de structure et de contenu, ça peut vite devenir rébarbatif. Mais comme toujours, il y a une extension pour ça !<span id="more-351"></span><strong>Première question à se poser</strong> : sous-domaines ou sous-répertoires ? Ceci dépend de votre projet et de ses objectifs. En ce qui me concerne, je travail surtout en sous-domaines.</p>
<p><strong>Ensuite vient la question de l&rsquo;organisation du travail à effectuer</strong> : si tous vos sites se ressemblent en termes de structure et de contenu, autant ne pas se fouler et utiliser un outil qui va industrialiser tout ça pour vous : <a href="https://wordpress.org/plugins/multisite-clone-duplicator/" target="_blank">MultiSite Clone Duplicator</a>. L&rsquo;idée de base est simple, on fait son site « maître », on active le multi, et on duplique.</p>
<h2>Etape 1 : la création du site maître et l&rsquo;activation de WordPress MultiSite</h2>
<p>On commence par créer sa première instance de site, et on active le multi en ajoutant à wp-config.php la ligne</p>
<p></p><pre class="crayon-plain-tag">define( 'WP_ALLOW_MULTISITE', true );</pre><p></p>
<p>juste au dessus du commentaire</p>
<p></p><pre class="crayon-plain-tag">/* C'est tout, ne touchez pas à ce qui suit ! Bon blogging ! */</pre><p></p>
<p>A partir de là, on se connecte à l&rsquo;administration, et sous le menu « Outils », une nouvelle entrée « Création du réseau » apparaît.</p>
<p><a href="/wp-content/uploads/2015/07/creation_reseau.png"><img class="aligncenter" src="/wp-content/uploads/2015/07/creation_reseau.png" alt="creation_reseau" /></a></p>
<p>Avant de cliquer, désactivez tous les plugins, ceci est impératif, sans quoi, vous ne pourrez pas poursuivre la configuration. A noter au passage que toute action sur un site au sein du réseau, nécessite que les plugins soient désactivés sous peine de voir apparaître des bugs.</p>
<p>Vous arrivez ensuite sur la page de configuration où l&rsquo;on vous demande de choisir entre sous-domaines ou sous-dossiers. C&rsquo;est à vous de voir. Pour mes besoins, ce sera en sous-domaines. Vous n&rsquo;avez qu&rsquo;à suivre à la lettre les indications de cette page et de la suivante pour procéder en bonne et due forme à l&rsquo;activation de votre réseau.</p>
<p><a href="/wp-content/uploads/2015/07/config_reseau.png"><img class="aligncenter" src="/wp-content/uploads/2015/07/config_reseau.png" alt="config_reseau" width="685" height="321" /></a></p>
<p>Avant de modifier vos fichiers .htaccess et wp-config.php comme demandé à l&rsquo;étape suivante, je vous recommande de vous en faire une sauvegarde, <em>just in case</em> <img src="https://s.w.org/images/core/emoji/2.4/72x72/1f609.png" alt="😉" class="wp-smiley" style="height: 1em; max-height: 1em;" /> Une fois que les modifications sont faites, il vous suffit de vous reconnecter et d&rsquo;admirer votre nouveau menu d&rsquo;administration de réseau.</p>
<p><a href="/wp-content/uploads/2015/07/admin_reseau.png"><img class="aligncenter" src="/wp-content/uploads/2015/07/admin_reseau.png" alt="admin_reseau" /></a></p>
<p>Voilà ! Vous n&rsquo;avez plus rien à configurer, si ce n&rsquo;est votre site maître. Car votre installation est encore toute fraîche, il vous faut l&rsquo;alimenter, la paramétrer, créer vos <em>users</em> ainsi que vos pages principales.</p>
<h2>Etape 2 : Cloner son site maître et créer un site enfant en sous-domaine</h2>
<p>Cette étape consiste à dupliquer son site maître ainsi que tous ses réglages, contenus, utilisateurs vers une instance MultiSite. Ceci peut être assez pratique quand on a des sites dont la configuration est les contenus sont similaires, ou qu&rsquo;on utilise des shortcodes pour structurer ses pages. Il suffit d&rsquo;installer le plugin <a href="https://wordpress.org/plugins/multisite-clone-duplicator/" target="_blank">MultiSite Clone Duplicator</a> qui, comme son nom l&rsquo;indique, va créer pour vous vos instances avec les sous domaines qui vont bien, tout en dupliquant vos données d&rsquo;un site vers l&rsquo;autre. Son utilisation et sa fiabilité font de ce plugin un must have quand on fait du MultiSite.</p>
<p>Pour installer le plugin, vous ne passez plus par le menu habituel, mais par le menu de « Mes sites » &gt; « Admin du réseau » &gt; « Extensions ». En effet les plugins et les thèmes sont des ressources partagées entre tous vos sites, que vous installez de manière globale. Mais rassurez vous, leur activation sur vos différents sites sont tout à fait libres. Installez donc ce plugin et cliquez sur « Activer sur le réseau », ce qui le rendra disponible pour tous vos sites. Une fois activé, une nouvelle entrée fait son apparition dans le menu d&rsquo;admin du réseau.</p>
<p><a href="/wp-content/uploads/2015/07/duplication_reseau.png"><img class="aligncenter" src="/wp-content/uploads/2015/07/duplication_reseau.png" alt="duplication_reseau" /></a></p>
<p>La page d&rsquo;option est très simple et vous demandera le sous-domaine souhaité (si c&rsquo;est l&rsquo;option que vous avez choisie), le titre du nouveau site ainsi que le mail du nouvel administrateur. Vous pourrez également choisir si vous souhaitez conserver les utilisateurs et rôles du site dupliqué, copier les fichiers du répertoire d&rsquo;upload, voire sauvegarder les logs dans un répertoire du plugin.</p>
<p>Et c&rsquo;est tout ! Reste qu&rsquo;à appuyer sur le bouton <img src="https://s.w.org/images/core/emoji/2.4/72x72/1f642.png" alt="🙂" class="wp-smiley" style="height: 1em; max-height: 1em;" /></p>
<p><strong>Nota Bene : Le Multi ne nous dispense pas de la création de nos vhosts pour rendre nos instances accessibles, mais ça c&rsquo;est une autre histoire !</strong></p>
<p>C&rsquo;est à peu près tout, je ne suis pas trop rentré dans les détails car je souhaitais que ce petit tuto reste simple et accessible, mais je posterai d&rsquo;autres articles connexes au sujet de WordPress MultiSite. N&rsquo;hésitez pas à venir discuter si le sujet vous intéresse ou que certaines choses ne sont pas claires.</p>
<p>L’article <a rel="nofollow" href="/multisite-wordpress-facile/">Tutoriel &#8211; Installer WordPress MultiSite et cloner son instance de site maître</a> est apparu en premier sur <a rel="nofollow" href="/">DesireLabs</a>.</p>
]]></content:encoded>
			<wfw:commentRss>/multisite-wordpress-facile/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
	<post-id xmlns="com-wordpress:feed-additions:1">351</post-id>	</item>
		<item>
		<title>Outil &#8211; Scanner de vulnérabilités WordPress</title>
		<link>/trouver-vulnerabilites-wordpress/</link>
		<comments>/trouver-vulnerabilites-wordpress/#respond</comments>
		<pubDate>Tue, 05 Aug 2014 13:16:58 +0000</pubDate>
		<dc:creator><![CDATA[Franck]]></dc:creator>
				<category><![CDATA[Outils]]></category>
		<category><![CDATA[Wordpress]]></category>
		<category><![CDATA[faille]]></category>
		<category><![CDATA[securité]]></category>
		<category><![CDATA[wpscan]]></category>

		<guid isPermaLink="false">/?p=221</guid>
		<description><![CDATA[<p>Bonjour, retour de vacances pour moi, et le moment de faire le point sur les projets en cours et faire un peu de ménage dans ceux passés. Du coup je me penche sur la sécurité. Et à ce propos, je viens de découvrir un outil fort pratique pour déceler les vulnérabilités d&#8217;un site WordPress. Il &#8230; <a href="/trouver-vulnerabilites-wordpress/" class="more-link">Continuer la lecture de <span class="screen-reader-text">Outil &#8211; Scanner de vulnérabilités WordPress</span></a></p>
<p>L’article <a rel="nofollow" href="/trouver-vulnerabilites-wordpress/">Outil &#8211; Scanner de vulnérabilités WordPress</a> est apparu en premier sur <a rel="nofollow" href="/">DesireLabs</a>.</p>
]]></description>
				<content:encoded><![CDATA[<p>Bonjour, retour de vacances pour moi, et le moment de faire le point sur les projets en cours et faire un peu de ménage dans ceux passés. Du coup je me penche sur la sécurité. Et à ce propos, je viens de découvrir un outil fort pratique pour déceler les vulnérabilités d&rsquo;un site WordPress.<span id="more-221"></span></p>
<p>Il s&rsquo;agit de WpScan. Tout en ruby, il s’installe sur une machine Linux. Tout site WP peut être scanner. Ce qui fait de cet outil un joujou de choix pour les hackers potentiels. Je l’ai installé sur mon serveur pour tester, et c’est plutôt efficace. De plus toutes les failles qu’il remonte sont documentées avec plusieurs sources. Bravo aux développeurs de cette perle !</p>
<p>Je vous encourage à le tester. Voici le site ainsi que leur GitHub :</p>
<p><a href="http://wpscan.org/">http://wpscan.org/</a></p>
<p><a href="https://github.com/wpscanteam/wpscan">https://github.com/wpscanteam/wpscan</a></p>
<p>Si vous aussi connaissez des outils similaires, n&rsquo;hésitez surtout pas à les partager !</p>
<p>A+</p>
<p>L’article <a rel="nofollow" href="/trouver-vulnerabilites-wordpress/">Outil &#8211; Scanner de vulnérabilités WordPress</a> est apparu en premier sur <a rel="nofollow" href="/">DesireLabs</a>.</p>
]]></content:encoded>
			<wfw:commentRss>/trouver-vulnerabilites-wordpress/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	<post-id xmlns="com-wordpress:feed-additions:1">221</post-id>	</item>
		<item>
		<title>Tutoriel &#8211; Optimiser WordPress pour les performances</title>
		<link>/optimiser-wordpress/</link>
		<comments>/optimiser-wordpress/#respond</comments>
		<pubDate>Sat, 12 Jul 2014 11:21:40 +0000</pubDate>
		<dc:creator><![CDATA[Franck]]></dc:creator>
				<category><![CDATA[Tutoriels]]></category>
		<category><![CDATA[Wordpress]]></category>
		<category><![CDATA[cache]]></category>
		<category><![CDATA[vitesse de chargement]]></category>

		<guid isPermaLink="false">/?p=209</guid>
		<description><![CDATA[<p>Au sein de la famille des CMS, WordPress a plutôt mauvaise réputation. L&#8217;évolution de son code pour le faire passer de plate forme de blogging pur à l&#8217;état de véritable CMS a été (et est encore) laborieuse. Chaque version amène son lot de petites nouveautés, de fonctionnalités qui mises bout à bout sans une véritable &#8230; <a href="/optimiser-wordpress/" class="more-link">Continuer la lecture de <span class="screen-reader-text">Tutoriel &#8211; Optimiser WordPress pour les performances</span></a></p>
<p>L’article <a rel="nofollow" href="/optimiser-wordpress/">Tutoriel &#8211; Optimiser WordPress pour les performances</a> est apparu en premier sur <a rel="nofollow" href="/">DesireLabs</a>.</p>
]]></description>
				<content:encoded><![CDATA[<p>Au sein de la famille des CMS, WordPress a plutôt mauvaise réputation. L&rsquo;évolution de son code pour le faire passer de plate forme de blogging pur à l&rsquo;état de véritable CMS a été (et est encore) laborieuse. Chaque version amène son lot de petites nouveautés, de fonctionnalités qui mises bout à bout sans une véritable refonte de son coeur, ont contribué à la dégradation de ses performances. Très récemment j&rsquo;ai du me pencher pour les besoins d&rsquo;un projet, sur les moyens à disposition afin d&rsquo;augmenter les performances de WordPress. Et je peux vous dire que les solutions existent bel et bien. Je vous expose ici mon expérience.</p>
<p><span id="more-209"></span>Il est de notoriété publique qu&rsquo;un site qui met du temps à s&rsquo;afficher pose 2 problèmes majeurs :</p>
<p>*Les visiteurs fuient<br />
*Les moteurs de recherche pénalisent le site</p>
<p>Les deux combinés contribuent à une dégradation notable du nombre de visites, une explosion du taux de rebond, et une mauvaise réputation.</p>
<h3>Petit état des lieux</h3>
<p>Un site c&rsquo;est avant tout un ensemble de ressources qui sont servies aux visiteurs. Ca comprend des données bien sûr, des feuilles de style CSS pour rendre le tout visuellement agréable à lire, et du javascript très souvent qui permet d&rsquo;apporter des fonctionnalités souvent discutables. Toutes ces ressources demandent de la bande passante et de la mémoire. La maîtrise de ces deux facteurs est la clé vers l&rsquo;optimisation d »un site de manière général, et tout particulièrement avec WordPress.</p>
<h3>Première étape : Faire du ménage</h3>
<p>La question qu&rsquo;il faut toujours se poser et garder à l&rsquo;esprit est la suivante :</p>
<p style="text-align: center;">*est-ce que cette fonctionnalité sert le contenu (et par extension, les visiteurs) ?*</p>
<p style="text-align: left;">Ca peut paraître bête dit comme ça, mais on a trop souvent tendance à rajouter des fonctionnalités pas toujours utiles à WordPress par l&rsquo;intermédiaire des extensions. Et c&rsquo;est compréhensible, avec plus de 32 000 plugins dispos sur le dépôt officiel, c&rsquo;est tentant. Alors on arrête les frais et on ne garde/installe que ce dont on a besoin. Une extension doit être pertinente et apporter une vraie plu-value à votre contenu. A titre d&rsquo;exemple, sur <a href="/">/</a> j&rsquo;ai en tout et pour tout 6 extensions installées :</p>
<p style="text-align: left;">Akismet<br />
Contact Form 7<br />
Crayon Syntax Highlighter<br />
WP-SEO<br />
Jetpack par WordPress.com<br />
WP Rocket</p>
<p style="text-align: left;">Et honnêtement je n&rsquo;ai pas besoin de plus. Ces 6 extensions répondent à l&rsquo;ensemble de mes besoins. Pareil pour les bibliothèques javascript, souvent activées par défaut dans votre thème. Sachez que même si vous ne les utilisez pas, elles se chargent en même temps que votre page. A défaut de les supprimer, mettez les au moins en commentaire dans votre code afin de pouvoir y revenir si besoin.</p>
<h3 style="text-align: left;">Externaliser les ressources</h3>
<p>Les CDN (content delivery network), ça vous parle ? Ce sont des serveurs tiers qui hébergent tout type de ressource comme du javascript, vos images ou vos vidéos. Pourquoi faire appel à un CDN ? Pour économiser votre bande passante, tout simplement. Exemple, un fichier javascript qui pèse 40ko et qui se charge sur chaque page et pour chaque visiteur, ça peut vite chiffrer quand on en a une bonne dizaine. Alors pourquoi ne pas libérer cette bande passante pour vos contenus et laisser d&rsquo;autres faire le sale boulot à la place de votre site ?</p>
<p>Quelques exemples de CDN :</p>
<p><a href="www.jsdelivr.com">www.jsdelivr.com<br />
developers.google.com</a><br />
<a href="http://www.maxcdn.com/">www.maxcdn.com</a></p>
<p>Il en existe des centaines, voire des milliers. Même les bibliothèques javascript les plus populaires possèdent leur propre CDN. Si vous utilisez un framewwork comme Bootstrap ou les icônes de fontawesome, vous y avez droit. Pourquoi se priver ?</p>
<h3>Alléger vos pages de leurs <del>gadgets</del> widgets</h3>
<p>Un petit encart pour le partage ici, les derniers articles par là, les archives par ci&#8230; Stop ! Les visiteurs s&rsquo;en tapent. S&rsquo;ils veulent trouver quelque chose, ils utiliseront la fonction recherche et la taxonomie présente sur votre site. Et s&rsquo;ils veulent partager vos contenus, ils le feront sans l&rsquo;aide de vos boutons. Au passage ça évite de nuire à la lecture de vos contenus.</p>
<h3>Jouer à cache cache</h3>
<p>WordPress permet d&rsquo;utiliser la mise en cache de vos contenus. Concrètement, un contenu qui a déjà été visite est servi directement de manière statique aux autres visiteurs. On évite les requêtes en base de donnée, ce qui n&rsquo;est pas un mal avec WordPress quand on sait qu&rsquo;il n&rsquo;utilise pas encore PDO MySql. Je crois pouvoir dire sans me tromper de beaucoup que c&rsquo;est la fonctionnalité la plus intéressante à votre disposition. Le hic, c&rsquo;est que pour en profiter, il faut un plugin. Et là, on a l&#8217;embarras du choix. En ce qui me concerne, j&rsquo;en ai testé plusieurs, et mon choix s&rsquo;est arrêté sur <a href="http://wp-rocket.me/fr/">WP-Rocket</a>. A ce jour, c&rsquo;est à mon avis la solution la plus aboutie, légère et complète en plus d&rsquo;être extrêmement simple à mettre en place. Parmi les options que cette extension propose : lazy loading, minification des css, html et javascripts, et bien d&rsquo;autres fonctionnalités bien sympa. A 29,00€ le plugin, c&rsquo;est du pain béni et une véritable cure de jouvence pour WordPress. Un vrai investissement quoi ! Sinon, parmi les gratuits, je recommanderais <a href="https://wordpress.org/plugins/w3-total-cache/">W3 Total Cache</a>.</p>
<h3>Minification</h3>
<p>La minification c&rsquo;est le fait de mettre tous ses fichiers de ressources css, js, html bout à bout et au kilomètre afin de se charger plus vite. Ce n&rsquo;est pas un gadget mais un véritable outil. Ajouté à la mise en cache, ce sont des performances accrues pour votre site et une meilleure disponibilité de vos contenus. Wp-Rocket inclut cette fonctionnalité, mais si vous recherchez un plugin gratuit : <a href="https://wordpress.org/plugins/bwp-minify/">Better WordPress Minify</a>.</p>
<h3>Compression des données</h3>
<p>Encore une véritable optimisation. Probablement l&rsquo;une des plus importantes avec la mise en cache. Il s&rsquo;agit de servir à vos visiteurs des contenus compressés. Cette manipulation n&rsquo;est pas triviale et s&rsquo;effectue côté serveur, à condition d&rsquo;avoir les bons modules apache activés et les bonnes directives dans votre fichier .htaccess. Je ne m&rsquo;étalerai pas sur ce sujet, car d&rsquo;autres sites bien plus spécialisés sauront le faire mieux que moi. Je vous donne tout de même un lien : <a href="http://www.alsacreations.com/article/lire/914-compression-pages-html-css-gzip-deflate.html">www.alsacreations.com</a>. Ceci est également proposé en standard par WP-Rocket (je vous l&rsquo;ai dit c&rsquo;est une petite bombe :p)</p>
<h3>Maîtriser son image</h3>
<p>Aujourd&rsquo;hui WordPress propose un outil pour la gestion des médias qui a bien évolué avec le temps. Beaucoup de tâches sont désormais possibles au travers de l&rsquo;interface offerte. Mais n&rsquo;oubliez pas qu&rsquo;une image destinée au web n&rsquo;est par défaut pas destinée à être imprimée. Donc on reste dans les standards du web et on optimise le poids des images en ajustant leur taille et leur résolution avant de les importer de préférence. Une image trop grande et de trop grande résolution ne sert à rien sur le net. 72dpi pour la résolution et 1024px de large maximum me semblent être un bon début. Au passage, pensez à bien nommer vos images avant import, pour le SEO, ça compte !</p>
<h3>Mais que fait la police ?</h3>
<p>Avant on n&rsquo;avait pas le choix pour les typos de son site : Arial, Times New Roman etc étaient les standards tristement incontournables. Aujourd&rsquo;hui ce n&rsquo;est plus le cas et on peut vraiment se lâcher. Du coup on fait un peu n&rsquo;importe quoi en servant des polices pas du tout optimisées pour le net. Là aussi il y a des services qui vous proposent des typos et ce sans trop alourdir votre site. Vous n&rsquo;avez plus besoin de choisir entre rapidité et esthétique. Mon préféré est <a href="http://www.fontsquirrel.com/">www.fontsquirrel.com</a> avec une pléthore de fonts disponibles et gratuites, des packs webfont prêt à l&#8217;emploi, et même un webfont generator. Sinon il y a <a href="https://www.google.com/fonts">www.google.com/fonts</a>. Pas mon préféré, mais il fait le job. Alors on arrête d&rsquo;importer des fonts qui pèsent un âne mort comme des bourrins <img src="https://s.w.org/images/core/emoji/2.4/72x72/1f642.png" alt="🙂" class="wp-smiley" style="height: 1em; max-height: 1em;" /></p>
<h3>Conclusion</h3>
<p>J&rsquo;ai volontairement été succinct en vous donnant toutes les pistes exploitables pour optimiser votre WordPress, car je n&rsquo;ai pas la prétention d&rsquo;être expert dans ce domaine. Mais ces pistes doivent être à mon avis un point de départ vers l&rsquo;optimisation. Et ne jamais perdre de vue que ce qui prime sur un site c&rsquo;est son contenu. Et que ces optimisations doivent être à son service. Je vous donne encore quelques liens utiles avant de vous quitter ainsi que ceux dont je vous ai parlé dans cet article, histoire de pas vous laisser sur votre faim <img src="https://s.w.org/images/core/emoji/2.4/72x72/1f642.png" alt="🙂" class="wp-smiley" style="height: 1em; max-height: 1em;" /></p>
<p>Si vous avez des remarques ou des idées et astuces pour améliorer les performances de votre site WordPress, ou que vous pensez qu&rsquo;il manque quelque chose dans la liste, venez en discuter via les commentaires <img src="https://s.w.org/images/core/emoji/2.4/72x72/1f642.png" alt="🙂" class="wp-smiley" style="height: 1em; max-height: 1em;" /></p>
<h4>Tester les performances de votre site et savoir ce qui cloche :</h4>
<p><a href="https://developer.yahoo.com/yslow/">https://developer.yahoo.com/yslow/ (extension pour navigateur)</a></p>
<p><a href="https://developers.google.com/speed/pagespeed/">https://developers.google.com/speed/pagespeed/</a></p>
<p><a href="http://tools.pingdom.com/fpt/">http://tools.pingdom.com/fpt/</a></p>
<p><a href="http://gtmetrix.com/">http://gtmetrix.com/</a></p>
<h4>Les plugins qui passent bien :</h4>
<p><a href="http://wp-rocket.me/fr/">http://wp-rocket.me/fr/</a></p>
<p><a href="https://wordpress.org/plugins/w3-total-cache/">https://wordpress.org/plugins/w3-total-cache/</a></p>
<p><a href="https://wordpress.org/plugins/bwp-minify/">https://wordpress.org/plugins/bwp-minify/</a></p>
<p><a href="https://wordpress.org/plugins/p3-profiler/">https://wordpress.org/plugins/p3-profiler/</a> (pas mal pour voir quels sont les plugins qui mangent vos performances)</p>
<h4>Les CDN</h4>
<p><a href="www.jsdelivr.com">www.jsdelivr.com</a></p>
<p><a href="https://developers.google.com/speed/libraries/devguide?hl=fr">developers.google.com</a></p>
<p><a href="http://www.maxcdn.com/">www.maxcdn.com</a></p>
<p>L’article <a rel="nofollow" href="/optimiser-wordpress/">Tutoriel &#8211; Optimiser WordPress pour les performances</a> est apparu en premier sur <a rel="nofollow" href="/">DesireLabs</a>.</p>
]]></content:encoded>
			<wfw:commentRss>/optimiser-wordpress/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	<post-id xmlns="com-wordpress:feed-additions:1">209</post-id>	</item>
		<item>
		<title>Astuce &#8211; Appliquer des permissions à un ensemble de fichiers et dossiers de manière récursive dans WordPress</title>
		<link>/wordpress-appliquer-permissions-fichiers-dossiers-maniere-recursive/</link>
		<comments>/wordpress-appliquer-permissions-fichiers-dossiers-maniere-recursive/#respond</comments>
		<pubDate>Thu, 03 Jul 2014 09:18:55 +0000</pubDate>
		<dc:creator><![CDATA[Franck]]></dc:creator>
				<category><![CDATA[Drupal]]></category>
		<category><![CDATA[Linux]]></category>
		<category><![CDATA[Wordpress]]></category>
		<category><![CDATA[permissions]]></category>

		<guid isPermaLink="false">/?p=190</guid>
		<description><![CDATA[<p>Sur WordPress, mais aussi sur Drupal et d&#8217;autres CMS les fichiers doivent avoir des permissions spécifiques. Inutile de se fouler à les appliquer pour chaque dossier quand on peut appliquer des permissions à un ensemble de fichiers et dossiers de manière récursive en 2 lignes de commande.L&#8217;exemple suivant s&#8217;applique à WordPress, mais peut tout autant &#8230; <a href="/wordpress-appliquer-permissions-fichiers-dossiers-maniere-recursive/" class="more-link">Continuer la lecture de <span class="screen-reader-text">Astuce &#8211; Appliquer des permissions à un ensemble de fichiers et dossiers de manière récursive dans WordPress</span></a></p>
<p>L’article <a rel="nofollow" href="/wordpress-appliquer-permissions-fichiers-dossiers-maniere-recursive/">Astuce &#8211; Appliquer des permissions à un ensemble de fichiers et dossiers de manière récursive dans WordPress</a> est apparu en premier sur <a rel="nofollow" href="/">DesireLabs</a>.</p>
]]></description>
				<content:encoded><![CDATA[<p>Sur WordPress, mais aussi sur Drupal et d&rsquo;autres CMS les fichiers doivent avoir des permissions spécifiques. Inutile de se fouler à les appliquer pour chaque dossier quand on peut appliquer des permissions à un ensemble de fichiers et dossiers de manière récursive en 2 lignes de commande.<span id="more-190"></span>L&rsquo;exemple suivant s&rsquo;applique à WordPress, mais peut tout autant l&rsquo;être à vos autres projets</p>
<p></p><pre class="crayon-plain-tag">sudo find wordpress/ -type d -exec chmod 755 {} \;
sudo find wordpress/ -type f -exec chmod 644 {} \;
sudo find wordpress/wp-config.php -type f -exec chmod 444 {} \;</pre><p></p>
<h3>Explications :</h3>
<p><strong>find</strong> : c&rsquo;est la fonction de recherche<br />
<strong>wordpress/</strong> : c&rsquo;est le répertoire à partir duquel chercher<br />
<strong>-type</strong> : le type avec en argument  « f » pour « folder » et « d » pour « document »-exec : précise qu&rsquo;on va exécuter quelque chose pour les fichiers ou dossiers rencontrés<br />
<strong>chmod</strong> : la commande pour changer les droits<br />
<strong>755</strong> : permission pour les dossiers<br />
<strong>644</strong> : permission pour les fichiers<br />
<strong>444</strong> : permission pour les fichiers de configuration sensibles (qui contiennent vos identifiants mysql par exemple)</p>
<p>Il va de soit que vous appliquez les permissions que vous voulez <img src="https://s.w.org/images/core/emoji/2.4/72x72/1f642.png" alt="🙂" class="wp-smiley" style="height: 1em; max-height: 1em;" /></p>
<p>L’article <a rel="nofollow" href="/wordpress-appliquer-permissions-fichiers-dossiers-maniere-recursive/">Astuce &#8211; Appliquer des permissions à un ensemble de fichiers et dossiers de manière récursive dans WordPress</a> est apparu en premier sur <a rel="nofollow" href="/">DesireLabs</a>.</p>
]]></content:encoded>
			<wfw:commentRss>/wordpress-appliquer-permissions-fichiers-dossiers-maniere-recursive/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	<post-id xmlns="com-wordpress:feed-additions:1">190</post-id>	</item>
		<item>
		<title>Ajouter une classe css personnalisée aux articles WordPress</title>
		<link>/ajouter-une-classe-personnalisee-aux-articles-wordpress/</link>
		<comments>/ajouter-une-classe-personnalisee-aux-articles-wordpress/#comments</comments>
		<pubDate>Sun, 08 Dec 2013 13:25:03 +0000</pubDate>
		<dc:creator><![CDATA[Franck]]></dc:creator>
				<category><![CDATA[Php]]></category>
		<category><![CDATA[Wordpress]]></category>
		<category><![CDATA[hook]]></category>
		<category><![CDATA[php]]></category>
		<category><![CDATA[wordpress]]></category>

		<guid isPermaLink="false">/?p=17</guid>
		<description><![CDATA[<p>J&#8217;ai travaillé récemment sur un petit plugin WordPress dans lequel je voulais ajouter une image au niveau des titres d&#8217;article. J&#8217;ai voulu ajouter via mon plugin, une classe html personnalisée pour pouvoir cibler tous mes articles, peu importe la version de WordPress utilisée, et ce, sans passer par jQuery. Mais comment faire ? L&#8217;astuce est &#8230; <a href="/ajouter-une-classe-personnalisee-aux-articles-wordpress/" class="more-link">Continuer la lecture de <span class="screen-reader-text">Ajouter une classe css personnalisée aux articles WordPress</span></a></p>
<p>L’article <a rel="nofollow" href="/ajouter-une-classe-personnalisee-aux-articles-wordpress/">Ajouter une classe css personnalisée aux articles WordPress</a> est apparu en premier sur <a rel="nofollow" href="/">DesireLabs</a>.</p>
]]></description>
				<content:encoded><![CDATA[<p>J&rsquo;ai travaillé récemment sur un petit plugin WordPress dans lequel je voulais ajouter une image au niveau des titres d&rsquo;article. J&rsquo;ai voulu ajouter via mon plugin, une classe html personnalisée pour pouvoir cibler tous mes articles, peu importe la version de WordPress utilisée, et ce, sans passer par jQuery. Mais comment faire ?<span id="more-17"></span></p>
<h3>L&rsquo;astuce est très simple en fait <img src="https://s.w.org/images/core/emoji/2.4/72x72/1f642.png" alt="🙂" class="wp-smiley" style="height: 1em; max-height: 1em;" /></h3>
<p>Dans le script de mon plugin j&rsquo;ai rajouté ce petit bout de code :</p>
<p></p><pre class="crayon-plain-tag">function fp_add_custom_post_class($classes) {
    $classes[] = 'test-class';
    return $classes;
}
add_filter('post_class','fp_add_custom_post_class');</pre><p></p>
<p>Et le tour est joué, tous mes articles hériteront de ma nouvelle classe perso.<br />
C&rsquo;est propre, efficace et léger <img src="https://s.w.org/images/core/emoji/2.4/72x72/1f609.png" alt="😉" class="wp-smiley" style="height: 1em; max-height: 1em;" /></p>
<p>Par extension, on peut appliquer ça au body avec le hook body_class.</p>
<p>L’article <a rel="nofollow" href="/ajouter-une-classe-personnalisee-aux-articles-wordpress/">Ajouter une classe css personnalisée aux articles WordPress</a> est apparu en premier sur <a rel="nofollow" href="/">DesireLabs</a>.</p>
]]></content:encoded>
			<wfw:commentRss>/ajouter-une-classe-personnalisee-aux-articles-wordpress/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
	<post-id xmlns="com-wordpress:feed-additions:1">17</post-id>	</item>
		<item>
		<title>Résoudre le conflit entre Google XML Sitemap et Contact Form</title>
		<link>/resoudre-le-conflit-entre-google-xml-sitemap-et-contact-form/</link>
		<comments>/resoudre-le-conflit-entre-google-xml-sitemap-et-contact-form/#respond</comments>
		<pubDate>Thu, 28 Nov 2013 09:45:04 +0000</pubDate>
		<dc:creator><![CDATA[Franck]]></dc:creator>
				<category><![CDATA[Php]]></category>
		<category><![CDATA[Wordpress]]></category>
		<category><![CDATA[wordpress]]></category>

		<guid isPermaLink="false">/?p=5</guid>
		<description><![CDATA[<p>Aujourd&#8217;hui, j&#8217;ai découvert qu&#8217;un conflit pouvait apparaître entre les plugins WordPress Google XML Sitemap et Contact Form 7. En tentant d&#8217;accéder au sitemap.xml, j&#8217;obtenais cette erreur : This page contains the following errors: error on line 11 at column 67: EntityRef: expecting &#8216;;&#8217; Below is a rendering of the page up to the first error. &#8230; <a href="/resoudre-le-conflit-entre-google-xml-sitemap-et-contact-form/" class="more-link">Continuer la lecture de <span class="screen-reader-text">Résoudre le conflit entre Google XML Sitemap et Contact Form</span></a></p>
<p>L’article <a rel="nofollow" href="/resoudre-le-conflit-entre-google-xml-sitemap-et-contact-form/">Résoudre le conflit entre Google XML Sitemap et Contact Form</a> est apparu en premier sur <a rel="nofollow" href="/">DesireLabs</a>.</p>
]]></description>
				<content:encoded><![CDATA[<p>Aujourd&rsquo;hui, j&rsquo;ai découvert qu&rsquo;un conflit pouvait apparaître entre les plugins WordPress Google XML Sitemap et Contact Form 7. En tentant d&rsquo;accéder au sitemap.xml, j&rsquo;obtenais cette erreur :<span id="more-5"></span></p>
<blockquote>
<h3>This page contains the following errors:</h3>
<div>error on line 11 at column 67: EntityRef: expecting &lsquo;;&rsquo;</div>
<h3>Below is a rendering of the page up to the first error.</h3>
</blockquote>
<p>Cette erreur est dûe au « &amp; » interprété comme un caractère html spécial auquel il manque le « ; » de fin.</p>
<h3>La solution</h3>
<p>Pour corriger ce souci, il suffit d&rsquo;éditer le code source de Google XML Sitemap, de repérer la dernière condition if et la modifier comme suit :</p>
<p></p><pre class="crayon-plain-tag">if ( ! empty( $post-&gt;post_title ) &amp;&amp; ( get_post_type( $post-&gt;ID ) != "wpcf7_contact_form" ) ) {
    $xml .= "\t\n";
    $xml .= "\t\t" . get_permalink( $post-&gt;ID ) . "\n";
    $xml .= "\t\t" . mysql2date( 'Y-m-d\TH:i:s+00:00', $post-&gt;post_modified_gmt, false ) . "\n";
    $xml .= "\t\t" . 'weekly' . "\n";
    $xml .= "\t\t" . '0.8' . "\n";
    $xml .= "\t\n";
}</pre><p></p>
<p>Cela supprimera tout bonnement la référence inutile <img src="https://s.w.org/images/core/emoji/2.4/72x72/1f642.png" alt="🙂" class="wp-smiley" style="height: 1em; max-height: 1em;" /><br />
Solution trouvée sur <a title="Google XML Sitemap erroring due to Contact Form 7" href="http://wordpress.org/support/topic/google-xml-sitemap-erroring-due-to-contact-form-7" target="_blank">http://wordpress.org/support/topic/google-xml-sitemap-erroring-due-to-contact-form-7</a></p>
<p><strong>EDIT</strong> : Depuis je suis passé à WordPress SEO by Yoast, il s&rsquo;agit d&rsquo;un plugin qui comme son nom l&rsquo;indique apporte toutes les fonctionnalités SEO qu&rsquo;on peut attendre, dont la gestion de sitemap. Du coup plus de bug.<br />
Je pense rédiger un article au sujet de ce plugin très bientôt, so stay plugged !</p>
<p>L’article <a rel="nofollow" href="/resoudre-le-conflit-entre-google-xml-sitemap-et-contact-form/">Résoudre le conflit entre Google XML Sitemap et Contact Form</a> est apparu en premier sur <a rel="nofollow" href="/">DesireLabs</a>.</p>
]]></content:encoded>
			<wfw:commentRss>/resoudre-le-conflit-entre-google-xml-sitemap-et-contact-form/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	<post-id xmlns="com-wordpress:feed-additions:1">5</post-id>	</item>
	</channel>
</rss>
