<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet type="text/xsl" media="screen" href="/~d/styles/rss2full.xsl"?><?xml-stylesheet type="text/css" media="screen" href="http://feeds.feedburner.com/~d/styles/itemcontent.css"?><rss 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/" xmlns:feedburner="http://rssnamespace.org/feedburner/ext/1.0" version="2.0"><channel><title>bbxdesign</title> <link>http://bbxdesign.com</link> <description>CSS + WordPress + Web Design</description> <lastBuildDate>Wed, 08 Sep 2010 08:12:30 +0000</lastBuildDate> <generator>http://wordpress.org/?v=2.9.2</generator> <language>fr</language> <sy:updatePeriod>hourly</sy:updatePeriod> <sy:updateFrequency>1</sy:updateFrequency> <atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="self" type="application/rss+xml" href="http://feeds.feedburner.com/bbxdesign" /><feedburner:info uri="bbxdesign" /><atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="hub" href="http://pubsubhubbub.appspot.com/" /><item><title>Follow, Like, et vice-versa</title><link>http://feedproxy.google.com/~r/bbxdesign/~3/8zYcTlZ9OiY/</link> <comments>http://bbxdesign.com/2010/09/08/follow-like-et-vice-versa/#comments</comments> <pubDate>Wed, 08 Sep 2010 08:00:12 +0000</pubDate> <dc:creator>Jeremy</dc:creator> <category><![CDATA[Web World]]></category> <category><![CDATA[facebook]]></category> <category><![CDATA[social]]></category> <category><![CDATA[twitter]]></category><guid isPermaLink="false">http://bbxdesign.com/?p=1300</guid> <description><![CDATA[Vous en connaissez surement d&#8217;autres. ]]></description> <content:encoded><![CDATA[<p><img title="follow-twitter" src="../wp-content/uploads/follow-twitter.png" alt="" width="88" height="35" /><img title="follow-tumblr" src="../wp-content/uploads/follow-tumblr.png" alt="" width="66" height="21" /><img class="alignnone size-full wp-image-1301" title="follow-blogger" src="http://bbxdesign.com/wp-content/uploads/follow-blogger.png" alt="" width="116" height="35" /><img class="alignnone size-full wp-image-1303" title="follow-digg" src="http://bbxdesign.com/wp-content/uploads/follow-digg.png" alt="" width="76" height="42" /><img class="alignnone size-full wp-image-1304" title="follow-photobucket" src="http://bbxdesign.com/wp-content/uploads/follow-photobucket.png" alt="" width="86" height="27" /><img class="alignnone size-full wp-image-1305" title="follow-ping" src="http://bbxdesign.com/wp-content/uploads/follow-ping.png" alt="" width="82" height="25" /><img class="alignnone size-full wp-image-1302" title="follow-buzz" src="http://bbxdesign.com/wp-content/uploads/follow-buzz.png" alt="" width="327" height="34" /></p><p><img class="alignnone size-full wp-image-1308" title="like-buzz" src="http://bbxdesign.com/wp-content/uploads/like-buzz.png" alt="" width="65" height="38" /><img class="alignnone size-full wp-image-1309" title="like-digg" src="http://bbxdesign.com/wp-content/uploads/like-digg.png" alt="" width="74" height="47" /><img class="alignnone size-full wp-image-1310" title="like-disqus" src="http://bbxdesign.com/wp-content/uploads/like-disqus.png" alt="" width="218" height="39" /><img class="alignnone size-full wp-image-1312" title="like-facebook-bis" src="http://bbxdesign.com/wp-content/uploads/like-facebook-bis.png" alt="" width="327" height="34" /><img class="alignnone size-full wp-image-1314" title="like-vimeo" src="http://bbxdesign.com/wp-content/uploads/like-vimeo.png" alt="" width="60" height="44" /><img class="alignnone size-full wp-image-1315" title="like-yahoo" src="http://bbxdesign.com/wp-content/uploads/like-yahoo.png" alt="" width="93" height="37" /><img title="like-tumblr" src="../wp-content/uploads/like-tumblr.png" alt="" width="24" height="24" /><img class="alignnone size-full wp-image-1316" title="like-youtube" src="http://bbxdesign.com/wp-content/uploads/like-youtube.png" alt="" width="189" height="32" /></p><p>Vous en connaissez surement d&#8217;autres.</p> ]]></content:encoded> <wfw:commentRss>http://bbxdesign.com/2010/09/08/follow-like-et-vice-versa/feed/</wfw:commentRss> <slash:comments>0</slash:comments> <feedburner:origLink>http://bbxdesign.com/2010/09/08/follow-like-et-vice-versa/</feedburner:origLink></item> <item><title>[Portfolio] Australie Trip : un carnet de voyage 2.0</title><link>http://feedproxy.google.com/~r/bbxdesign/~3/cb2tjjb2IWs/</link> <comments>http://bbxdesign.com/2010/08/24/australie-trip-un-carnet-de-voyage-2-0/#comments</comments> <pubDate>Tue, 24 Aug 2010 08:00:31 +0000</pubDate> <dc:creator>Jeremy</dc:creator> <category><![CDATA[Best Of]]></category> <category><![CDATA[Design]]></category> <category><![CDATA[blog]]></category> <category><![CDATA[voyage]]></category> <category><![CDATA[wordpress]]></category><guid isPermaLink="false">http://bbxdesign.com/?p=1278</guid> <description><![CDATA[Mon amie Corine voulait partir en Australie pour 1 an. Désireuse de découvrir de nouveaux paysages et vivre de nouvelles expériences, tout en améliorant son niveau d&#8217;anglais, elle voulait raconter au fur et à mesure des kilomètres parcourus son voyage à travers le pays. Il lui fallait donc un blog : Australie Trip.Si vous êtes [...]]]></description> <content:encoded><![CDATA[<p><a href="http://bbxdesign.com/wp-content/uploads/australie-trip-galerie.png"></a>Mon amie <a href="http://www.corinedutin.com/">Corine</a> voulait partir en Australie pour 1 an. Désireuse de découvrir de nouveaux paysages et vivre de nouvelles expériences, tout en améliorant son niveau d&#8217;anglais, elle voulait raconter au fur et à mesure des kilomètres parcourus son voyage à travers le pays. Il lui fallait donc un blog : <a href="http://www.australietrip.fr/"><strong>Australie Trip</strong></a>.</p><p><a href="http://bbxdesign.com/wp-content/uploads/australie-trip.png"><img class="alignnone size-medium wp-image-1279" title="australie-trip" src="http://bbxdesign.com/wp-content/uploads/australie-trip-500x278.png" alt="" width="500" height="278" /></a></p><p><a href="http://bbxdesign.com/wp-content/uploads/australie-trip-reptile-center.png"><img class="size-thumbnail wp-image-1288 alignleft" title="australie-trip-reptile-center" src="http://bbxdesign.com/wp-content/uploads/australie-trip-reptile-center-150x150.png" alt="" width="150" height="150" /></a><a href="http://bbxdesign.com/wp-content/uploads/australie-trip-a-propos.png"><img class="size-thumbnail wp-image-1287 alignleft" title="australie-trip-a-propos" src="http://bbxdesign.com/wp-content/uploads/australie-trip-a-propos-150x150.png" alt="" width="150" height="150" /></a><a href="http://bbxdesign.com/wp-content/uploads/australie-trip-canyon.png"><img class="size-thumbnail wp-image-1289 alignleft" title="australie-trip-canyon" src="http://bbxdesign.com/wp-content/uploads/australie-trip-canyon-150x150.png" alt="" width="150" height="150" /></a><a href="http://bbxdesign.com/wp-content/uploads/australie-trip-galerie.png"><img class="size-thumbnail wp-image-1290 alignleft" title="australie-trip-galerie" src="http://bbxdesign.com/wp-content/uploads/australie-trip-galerie-150x150.png" alt="" width="150" height="150" /></a><a href="http://bbxdesign.com/wp-content/uploads/australie-trip-trajet.png"><img class="size-thumbnail wp-image-1292 alignleft" title="australie-trip-trajet" src="http://bbxdesign.com/wp-content/uploads/australie-trip-trajet-150x150.png" alt="" width="150" height="150" /></a><a href="http://bbxdesign.com/wp-content/uploads/australie-poster-un-commentaire.png"><img class="size-thumbnail wp-image-1293 alignleft" title="australie-poster-un-commentaire" src="http://bbxdesign.com/wp-content/uploads/australie-poster-un-commentaire-150x150.png" alt="" width="150" height="150" /></a></p><p>Si vous êtes friands de paysages arides, de reptiles sauvages ou encore de culture aborigène, abonnez-vous au <a href="http://www.australietrip.fr/feed">flux RSS</a> !</p> ]]></content:encoded> <wfw:commentRss>http://bbxdesign.com/2010/08/24/australie-trip-un-carnet-de-voyage-2-0/feed/</wfw:commentRss> <slash:comments>4</slash:comments> <feedburner:origLink>http://bbxdesign.com/2010/08/24/australie-trip-un-carnet-de-voyage-2-0/</feedburner:origLink></item> <item><title>Lancement de site : On ne dit pas…</title><link>http://feedproxy.google.com/~r/bbxdesign/~3/EXxZf8UoHh4/</link> <comments>http://bbxdesign.com/2010/07/26/lancement-de-site-on-ne-dit-pas/#comments</comments> <pubDate>Mon, 26 Jul 2010 08:30:45 +0000</pubDate> <dc:creator>Jeremy</dc:creator> <category><![CDATA[Humour]]></category> <category><![CDATA[Web World]]></category> <category><![CDATA[fun]]></category> <category><![CDATA[twitter]]></category><guid isPermaLink="false">http://bbxdesign.com/?p=1271</guid> <description><![CDATA[ Tout est parti d&#8217;un tweet :C&#8217;était une sorte de private joke. Par la suite, d&#8217;autres phrases de ce type me sont venues à l&#8217;esprit. Et puisqu&#8217;il est si simple de créer un site avec WordPress, j&#8217;en ai fait un site à part entière : http://onneditpas.bbxdesign.com/. Tous les noms de domaine que je voulais étaient pris [...]]]></description> <content:encoded><![CDATA[<p><a href="http://onneditpas.bbxdesign.com/"><img class="alignnone size-full wp-image-1272" title="dans-le-web-on-ne-dit-pas" src="http://bbxdesign.com/wp-content/uploads/dans-le-web-on-ne-dit-pas.png" alt="" width="500" height="200" /></a></p><p><a href="http://onneditpas.bbxdesign.com/"></a>Tout est parti d&#8217;un <strong>tweet </strong>:<br /> <a href="http://twitter.com/bbx/status/18607621346"><img class="alignnone size-full wp-image-1273" title="tweet-original" src="http://bbxdesign.com/wp-content/uploads/tweet-original.png" alt="" width="500" height="250" /></a></p><p>C&#8217;était une sorte de private joke. Par la suite, d&#8217;autres phrases de ce type me sont venues à l&#8217;esprit. Et puisqu&#8217;il est si simple de créer un site avec WordPress, j&#8217;en ai fait un site à part entière : <a href="http://onneditpas.bbxdesign.com/">http://onneditpas.bbxdesign.com/</a>. Tous les noms de domaine que je voulais étaient pris donc j&#8217;ai fait ça en sous-domaine.</p><p>J&#8217;ai mis les 15 premières phrases, mais les suivantes ont été ajoutées par les visiteurs grâce au <strong>formulaire en bas de page</strong>. Si vous avez une phrase dans la tête, hésitez pas. D&#8217;ailleurs, il y en a actuellement 57 en attente de modération. Je sens que je vais y passer un peu de temps&#8230;</p><p>Les 3 préférées actuellement sont :</p><ul><li>On ne dit pas &#8220;L’iPhone 4 a un problème d’antenne.&#8221; On dit &#8220;Tu tiens mal ton iPhone 4.&#8221;</li><li>On ne dit pas &#8220;Ca marche pas sous IE6!&#8221;. On dit &#8220;Ce site est bien codé.&#8221;</li><li>On ne dit pas &#8220;Je passe mes journées sur Twitter et Facebook!&#8221;. On dit &#8220;Je suis Social Media Expert.&#8221;</li></ul> ]]></content:encoded> <wfw:commentRss>http://bbxdesign.com/2010/07/26/lancement-de-site-on-ne-dit-pas/feed/</wfw:commentRss> <slash:comments>15</slash:comments> <feedburner:origLink>http://bbxdesign.com/2010/07/26/lancement-de-site-on-ne-dit-pas/</feedburner:origLink></item> <item><title>Créer un casque Daft Punk</title><link>http://feedproxy.google.com/~r/bbxdesign/~3/oKUysioyhYw/</link> <comments>http://bbxdesign.com/2010/07/23/creer-un-casque-daft-punk/#comments</comments> <pubDate>Fri, 23 Jul 2010 08:30:04 +0000</pubDate> <dc:creator>Jeremy</dc:creator> <category><![CDATA[Art]]></category> <category><![CDATA[daft punk]]></category> <category><![CDATA[diy]]></category> <category><![CDATA[génial]]></category> <category><![CDATA[portal]]></category><guid isPermaLink="false">http://bbxdesign.com/?p=1266</guid> <description><![CDATA[ Un gars génial a passé 17 mois à créer son propre casque Daft Punk.Sinon, il a aussi fait un Portal Gun&#8230; ]]></description> <content:encoded><![CDATA[<p><img src="http://bbxdesign.com/wp-content/uploads/casque-daft-punk-500x375.jpg" alt="" title="casque-daft-punk" width="500" height="375" class="alignnone size-medium wp-image-1267" /></p><p>Un gars génial a passé 17 mois à créer son <strong><a href="http://volpinprops.blogspot.com/2009/01/testing.html">propre casque Daft Punk</a></strong>.</p><p><object width="520" height="415"><param name="movie" value="http://www.youtube.com/v/H0TBZeCgL0E&amp;hl=en_US&amp;fs=1"></param><param name="allowFullScreen" value="true"></param><param name="allowscriptaccess" value="always"></param><embed src="http://www.youtube.com/v/H0TBZeCgL0E&amp;hl=en_US&amp;fs=1" type="application/x-shockwave-flash" allowscriptaccess="always" allowfullscreen="true" width="520" height="415"></embed></object></p><p>Sinon, il a aussi fait un <a href="http://volpinprops.blogspot.com/2009/01/testing.html">Portal Gun</a>&#8230;</p> ]]></content:encoded> <wfw:commentRss>http://bbxdesign.com/2010/07/23/creer-un-casque-daft-punk/feed/</wfw:commentRss> <slash:comments>1</slash:comments> <feedburner:origLink>http://bbxdesign.com/2010/07/23/creer-un-casque-daft-punk/</feedburner:origLink></item> <item><title>Introduction à WordPress 3 : custom post type et custom taxonomy</title><link>http://feedproxy.google.com/~r/bbxdesign/~3/HLtbJFT5y-U/</link> <comments>http://bbxdesign.com/2010/05/31/introduction-a-wordpress-3-custom-post-type-et-custom-taxonomy/#comments</comments> <pubDate>Mon, 31 May 2010 07:00:01 +0000</pubDate> <dc:creator>Jeremy</dc:creator> <category><![CDATA[Astuces]]></category> <category><![CDATA[Best Of]]></category> <category><![CDATA[Bien développer]]></category> <category><![CDATA[Logiciels]]></category> <category><![CDATA[taxonomy]]></category> <category><![CDATA[tutoriel]]></category> <category><![CDATA[wordpress]]></category> <category><![CDATA[wp3]]></category><guid isPermaLink="false">http://bbxdesign.com/?p=1248</guid> <description><![CDATA[WordPress vient d&#8217;annoncer une Release Candidate pour la version 3. J&#8217;ai pour ma part installé et mis en prod la version Beta 2 qui, ma foi, est très stable. Si vous comptez l&#8217;installer, allez-y! Les mises à jour se font comme les WP actuellement, c&#8217;est à dire automatiquement. Et le système de template pour les [...]]]></description> <content:encoded><![CDATA[<p><strong>WordPress </strong>vient d&#8217;annoncer une <a href="http://wordpress.org/development/2010/05/wordpress-3-0-release-candidate/">Release Candidate pour la version 3</a>. J&#8217;ai pour ma part installé et mis en prod la <a href="http://wordpress.org/development/2010/05/wordpress-3-0-beta-2/">version Beta 2</a> qui, ma foi, est très stable. Si vous comptez l&#8217;installer, allez-y! Les mises à jour se font comme les WP actuellement, c&#8217;est à dire automatiquement. Et le système de template pour les thèmes est identique donc vos thèmes marcheront sans souci! Le seul souci est qu&#8217;il n&#8217;y a pas de version française encore mais bon, c&#8217;est uniquement pour l&#8217;admin qui est vraiment très simple en anglais.</p><h3>Nouveautés WordPress 3</h3><p>Dans les nouveautés, il y a :</p><ul><li>choisir son <strong>login </strong>et son <strong>mot de passe </strong>: au lieu d&#8217;avoir &#8220;admin&#8221; et un mot de passe généré automatiquement, on peut les choisir soi-même.</li><li>un nouveau thème par défaut, bourré de nouvelles fonctions et qu&#8217;on va customiser dans ce tutoriel</li><li>custom background : un outil dans l&#8217;admin pour pouvoir choisir un fond pour le site. Si vous développez des thèmes vous même, ça vous est inutile.</li><li><strong>Multi-sites</strong>! En fait, WordPress et WordPress µ ont fusionné : il est donc possible avec 1 seule installation WP de mettre en place autant de blogs différents que l&#8217;on veut. Par exemple : <strong>css</strong>.bbxdesign.com pour un blog de CSS, <strong>inspiration</strong>.bbxdesign.com pour un blog d&#8217;inspiration etc.</li><li>Custom Post Types</li><li>Custom Taxonomies</li></ul><p>Je vais développer ces 2 derniers points car ils sont les plus intéressants.<br /> <span id="more-1248"></span></p><h3>Custom Post Types : vos propres Posts et Pages</h3><p>Si vous utilisez WP, vous savez qu&#8217;il y a 2 grand types d&#8217;éléments pour poster :</p><ul><li><strong>Posts </strong>: ce sont les billets du blogs rangés chronologiquement. Ils peuvent être dans des Catégories et avoir des Tags.</li><li><strong>Pages </strong>: ce sont des pages contenant du contenu fixe et intemporel. Il n&#8217;y a pas de notion de chronologie, ni de catégorie, ni de tags. Il y a uniquement une notion de hiérarchie (relation page parent/page enfant).</li></ul><p>Si vous avez un blog, ces 2 types d&#8217;éléments sont parfaitement suffisants. Vous créez des billets avec les Posts et vous ajoutez une page &#8220;A propos&#8221; et &#8220;Contact&#8221; avec les Pages.</p><p>Mais imaginons qu&#8217;en plus de ça, vous voulez une catégorie <strong>Portfolio </strong>qui regroupe vos plus beaux travaux, avec un screenshot, une description et quelques infos sur le client. Comment faire ? Vous pouvez créer des Posts que vous classerez dans une catégorie &#8220;Portfolio&#8221;. Mais c&#8217;est non seulement fastidieux à mettre en place dans votre thème mais c&#8217;est aussi fastidieux à gérer dans l&#8217;admin.</p><p>On va donc créer un autre type de post : les &#8220;<strong>Projets</strong>&#8220;. Pour ça, on va utiliser le fichier functions.php.</p><h4>Une fonction pour customiser l&#8217;admin</h4><p>On va regrouper tout notre code dans une fonction qui sera appelée à l&#8217;initialisation de l&#8217;admin. Comme ça, lorsqu&#8217;on lance l&#8217;admin, on activera toutes les fonctions décrites dans my_custom_init :</p><pre>add_action('init', 'my_custom_init');
function my_custom_init()
{
/* notre code PHP pour rajouter les custom post type */
}</pre><p><strong><span style="color: #ff0000;">Tout le code que je vais écrire maintenant devra être inclus dans la fonction my_custom_init</span></strong>.</p><h4>Déclarer le Custom Post Type</h4><p>Maintenant nous allons rajouter l&#8217;élément &#8220;Projet&#8221; dans notre admin :</p><pre>register_post_type('projet', array(
 'label' =&gt; __('Projets'),
 'singular_label' =&gt; __('Projet'),
 'public' =&gt; true,
 'show_ui' =&gt; true,
 'capability_type' =&gt; 'post',
 'hierarchical' =&gt; false,
 'supports' =&gt; array('title', 'author', 'thumbnail')
));</pre><p>Il faut utiliser la <a href="http://codex.wordpress.org/Function_Reference/register_post_type">fonction register_post_type</a> qui porte bien son nom : elle enregistre un nouvel élément, un nouveau type de Post. Il y a ensuite plusieurs paramètres. Ils n&#8217;y sont pas tous parce que beaucoup sont optionnels. J&#8217;ai mis les plus importants :</p><ul><li>&#8216;projet&#8217; correspond au nom du nouvel élément. Il sera utilisé dans les fichiers de template.</li><li>&#8216;label&#8217; est le nom qu&#8217;on retrouvera dans la colonne de gauche de l&#8217;admin. Il est préférable de mettre un pluriel.</li><li>&#8217;singular_label&#8217; est l&#8217;équivalent au singulier</li><li>&#8216;public&#8217; définit si les posts seront publics ou non.</li><li>&#8217;show_ui&#8217; définit si ce nouvel élément apparaît dans l&#8217;admin</li><li>&#8216;capability_type&#8217; définit si le nouvel élément est identique à un Post classique ou à une Page classique. Ici on veut un titre et une image miniature donc Post. En général, les Posts sont beaucoup plus intéressants car ils ont davantage de fonctions que les Pages.</li><li>&#8216;hierarchical&#8217; définit si il peut y avoir une hiérarchie (comme pour les Pages). Ici, c&#8217;est non car chaque élément est au même niveau.</li><li>&#8217;supports&#8217; est un array qui définit quels éléments d&#8217;un Post normal on veut avoir. Ici je veux juste le titre, l&#8217;auteur du Post et une miniature. Il y a pleins d&#8217;autres éléments :<ul><li> &#8216;title&#8217;</li><li> &#8216;editor&#8217; (la fenêtre principale de contenu)</li><li> &#8216;author&#8217;</li><li> &#8216;thumbnail&#8217;</li><li> &#8216;excerpt&#8217;</li><li> &#8216;trackbacks&#8217;</li><li> &#8216;custom-fields&#8217;</li><li> &#8216;comments&#8217;</li><li> &#8216;revisions&#8217; (la sauvegarde automatique de versions passées)</li><li> &#8216;page-attributes&#8217; (choix de template pour les pages et gestion de la hiérarchie)</li></ul></li></ul><p>Si vous avez tout bien fait vous devriez voir :</p><p><img class="alignnone size-full wp-image-1249" title="wordpress-custom-post-type" src="http://bbxdesign.com/wp-content/uploads/wordpress-custom-post-type.png" alt="" width="166" height="129" /></p><p>Vous pouvez maintenant créer un nouveau projet en cliquant sur &#8220;Add New&#8221;</p><p><a href="http://bbxdesign.com/wp-content/uploads/wordpress-3-custom-post-type-new.png"><img class="alignnone size-medium wp-image-1253" title="wordpress-3-custom-post-type-new" src="http://bbxdesign.com/wp-content/uploads/wordpress-3-custom-post-type-new-500x222.png" alt="" width="500" height="222" /></a></p><p>Whaaa, c&#8217;est vide! Eh oui : on a juste mis &#8220;title&#8221;, &#8220;author&#8221; et &#8220;thumbnail&#8221;. Et c&#8217;est tout ce dont on a besoin! Hop je rajoute un Projet &#8220;bbxdesign&#8221; avec un screenshot :</p><p><a href="http://bbxdesign.com/wp-content/uploads/bbxdesign-wordpress-3-nouveau-projet.png"><img class="alignnone size-medium wp-image-1254" title="bbxdesign-wordpress-3-nouveau-projet" src="http://bbxdesign.com/wp-content/uploads/bbxdesign-wordpress-3-nouveau-projet-499x267.png" alt="" width="499" height="267" /></a></p><p>Ok c&#8217;est cool, j&#8217;ai réussi à rajouter un nouveau projet! Ca marche nickel dans l&#8217;admin. Sauf que pour l&#8217;instant, j&#8217;ai rien qui s&#8217;affiche dans le blog!</p><h4>Afficher les Custom Post Type</h4><p>Sur votre blog (sur la home par exemple), dans la boucle des posts, il y a actuellement les <strong>Posts </strong>normaux. Mais nous on veut afficher les <strong>Projets</strong>! Pour ça, il faut faire un query_posts avec comme post_type le mot &#8220;projet&#8221;. Sur index.php par exemple, mettez :</p><pre>&lt;?php
$home_paged = (get_query_var('paged'));
$arguments = array(
 'post_type' =&gt; 'projet',
 'post_status' =&gt; 'publish',
 'paged' =&gt; $home_paged
);
query_posts($arguments);
get_template_part( 'loop', 'index' );
?&gt;
</pre><p>Le $home_paged est une astuce qui permet de récupérer la valeur de la page courante et ainsi éviter de casser la pagination! Ensuite vient un array d&#8217;arguments : post_type en projet, post_status en publish (pour éviter d&#8217;afficher les brouillons) et page avec la variable.<br /> Ensuite on fait le query_posts avec ces options puis on appelle la boucle avec get_template_part. Il faut savoir que get_template_part est une nouvelle fonction de WordPress 3 qui permet d&#8217;inclure d&#8217;autres fichiers php. Ici on appelle le fichier loop.php. C&#8217;est d&#8217;ailleurs très pratique pour éviter de copier-coller la boucle WP dans plusieurs fichiers.</p><p>Si vous ouvrez le fichier <strong>loop.php</strong> du thème &#8220;twentyten&#8221;, vous verrez qu&#8217;il est vraiment très long. On va tout virer et mettre juste un peu de code pour la home, histoire de vous montrer facilement comment afficher les éléments pour un projet. Nous, tout ce qu&#8217;on veut, c&#8217;est afficher le titre (c&#8217;est à dire le nom du projet), ainsi que la miniature.</p><pre>&lt;?php while ( have_posts() ) : the_post(); ?&gt;
 &lt;div id="post-&lt;?php the_ID(); ?&gt;" &lt;?php post_class(); ?&gt;&gt;
 &lt;h2&gt;&lt;?php the_title(); ?&gt;&lt;/h2&gt;
 &lt;?php the_post_thumbnail(); ?&gt;
 &lt;/div&gt;
&lt;?php endwhile; ?&gt;
</pre><p>Donc là, c&#8217;est très simple. On met la div avec le bon id et la bonne classe, on met le nom du projet (the_title) et l&#8217;image (the_post_thumbnail) et ça donne :</p><p><a href="http://bbxdesign.com/wp-content/uploads/wordpress-3-custom-portfolio.png"><img class="alignnone size-medium wp-image-1256" title="wordpress-3-custom-portfolio" src="http://bbxdesign.com/wp-content/uploads/wordpress-3-custom-portfolio-500x240.png" alt="" width="500" height="240" /></a></p><p>J&#8217;ai pris le thème de base &#8220;twentyten&#8221; et j&#8217;ai donc customisé les fichiers index.php et loop.php. La home contient donc des Projets et non pas des Posts. Mais vu que j&#8217;ai les 2, je peux faire une page /blog où j&#8217;aurais tous mes Posts!</p><p>Maintenant vous pouvez ajouter des projets à la volée, virer la sidebar, le header et gérer <strong>une partie Blog avec les Posts et une partie Portfolio avec les Projets.</strong></p><h3>Custom Taxonomy : de nouvelles catégories et de nouveaux tags</h3><p>Derrière ce nom barbare de &#8220;Taxonomy&#8221; se cache tout simplement les Catégories et les Tags. Avec WordPress 3, vous pouvez créer d&#8217;autres taxonomies. Imaginons qu&#8217;avec ce Portfolio vous voulez ajouter 2 choses :</p><ul><li>le <strong>type </strong>de projet : un logo, un site vitrine, une animation flash&#8230;.</li><li>les <strong>couleurs </strong>utilisées</li></ul><p>On pourrait utiliser les Catégories et les Tags, mais elles sont déjà utilisées par les Posts pour le Blog! On va donc créer d&#8217;autres catégories et d&#8217;autres tags, exclusivement pour le Portfolio.</p><pre>register_taxonomy( 'type', 'projet', array( 'hierarchical' =&gt; true, 'label' =&gt; 'Type', 'query_var' =&gt; true, 'rewrite' =&gt; true ) );  
register_taxonomy( 'couleur', 'projet', array( 'hierarchical' =&gt; false, 'label' =&gt; 'Couleur', 'query_var' =&gt; true, 'rewrite' =&gt; true ) ); 
</pre><p>On utilise la <a href="http://codex.wordpress.org/Function_Reference/register_taxonomy">fonction register_taxonomy</a>. Dans l&#8217;ordre on choisit</p><ul><li>le nom de la taxonomie</li><li>l&#8217;élément auquel il s&#8217;applique (ça peut être &#8216;post&#8217;, &#8216;page&#8217; ou un post type qu&#8217;on a créé, en l&#8217;occurence &#8216;projet&#8217;)</li><li>&#8216;hierarchical&#8217; definit si il y a une relation parent/enfant. Si oui, c&#8217;est comme les Catégories. Si non, c&#8217;est comme les Tags.</li><li>&#8216;label&#8217; c&#8217;est le nom plus descriptif qui s&#8217;affichera dans l&#8217;admin</li><li>&#8216;query_var&#8217; à mettre sur true pour qu&#8217;on puisse appeler cette taxonomie dans nos templates</li><li>&#8216;rewrite&#8217; c&#8217;est la chaîne de caractères présente dans les permaliens. Si on met &#8220;true&#8221;, ça prend la valeur par défaut, c&#8217;est à dire le nom de la taxonomie.</li></ul><p>(Bien sûr, tout ceci est toujours à mettre dans la fonction my_custom_init commencée tout à l&#8217;heure.)</p><p>Si vous rechargez l&#8217;admin, vous voyez par magie :</p><p><img class="alignnone size-full wp-image-1259" title="custom-taxonomy-type-couleur" src="http://bbxdesign.com/wp-content/uploads/custom-taxonomy-type-couleur.png" alt="" width="153" height="124" /></p><p><a href="http://bbxdesign.com/wp-content/uploads/custom-taxonomy-nouveau-projet.png"><img class="alignnone size-medium wp-image-1260" title="custom-taxonomy-nouveau-projet" src="http://bbxdesign.com/wp-content/uploads/custom-taxonomy-nouveau-projet-500x302.png" alt="" width="500" height="302" /></a></p><p>J&#8217;ai déplacé les blocs &#8220;Type&#8221; et &#8220;Couleur&#8221; à gauche pour que ce soit plus lisible. Maintenant vous pouvez ajouter le type &#8220;animation flash&#8221;, &#8220;logo&#8221;, &#8220;direction artistique&#8221;&#8230; et les couleurs &#8220;vert&#8221;, &#8220;orange&#8221;, &#8220;bleu&#8221;&#8230; Ca ressemble à peu près à ce qui ai fait sur <a href="http://www.steaw-webdesign.com/en">Steaw Web Design</a> (sauf qu&#8217;on utilise des sous-catégories).</p><h4>Afficher les Custom Taxonomies dans le thème</h4><p>Ok c&#8217;est cool, vous avez vos Custom Taxonomies dans l&#8217;admin. Maintenant faut les afficher dans le thème! On va reprendre le fichier loop.php de tout à l&#8217;heure et rajouter ça :</p><pre>&lt;?php while ( have_posts() ) : the_post(); ?&gt;
 &lt;div id="post-&lt;?php the_ID(); ?&gt;" &lt;?php post_class(); ?&gt;&gt;
 &lt;h2&gt;&lt;?php the_title(); ?&gt;&lt;/h2&gt;
 &lt;?php echo get_the_term_list( $post-&gt;ID, 'type', '&lt;p&gt;Type de projet : ', ', ', '&lt;/p&gt;' ) ?&gt;
 &lt;?php the_post_thumbnail(); ?&gt;
 &lt;?php echo get_the_term_list( $post-&gt;ID, 'couleur', '&lt;p&gt;Couleurs : ', ', ', '&lt;/p&gt;' ) ?&gt;
 &lt;/div&gt;
&lt;?php endwhile; ?&gt;</pre><p>On utilise la fonction get_the_term_list pour afficher les taxonomies du post courant ($post-&gt;ID). C&#8217;est dans un paragraphe, et les éléments sont séparés par des virgules. En fait, la <strong>taxonomie </strong>c&#8217;est l&#8217;ensemble de la liste (ex: &#8220;Couleurs&#8221;) et <strong>terme </strong>c&#8217;est chaque élément de la liste (ex: &#8220;orange&#8221;, &#8220;vert&#8221;).</p><p>Visuellement, ça donne ça :</p><p><a href="http://bbxdesign.com/wp-content/uploads/custom-taxonomies-portfolio.png"><img class="alignnone size-medium wp-image-1261" title="custom-taxonomies-portfolio" src="http://bbxdesign.com/wp-content/uploads/custom-taxonomies-portfolio-500x262.png" alt="" width="500" height="262" /></a></p><p>Vous remarquerez que ça crée des liens pour chaque terme. En cliquant dessus, on arrive à une archive. En local, j&#8217;arrive pas à le faire marcher mais ça fonctionne sur mon <a href="http://www.jukepod.fr/annee/2004">JukePod pour l&#8217;année 2004 </a>par exemple.</p><h3>Conclusion</h3><p>Avec les custom post type et les custom taxonomy, vous pouvez créer plusieurs &#8220;flux&#8221; sur votre site, comme par exemple un blog et un portfolio, sans avoir à mélanger les deux ou à s&#8217;embêter avec des sous-catégories.</p><p>Par exemple, pour le blog Steaw et le portfolio Steaw, on a du créer 2 WordPress différents avec d&#8217;un côté des Posts, des Catégories, des Tags et de l&#8217;autre&#8230; ben pareil : des Posts, des Catégories, des Tags! On le ferait aujourd&#8217;hui, on utiliserait le custom post type Projet pour le Portfolio. Il y a même un gars qui a fait un <a href="http://justintadlock.com/archives/2009/06/04/using-custom-taxonomies-to-create-a-movie-database">IMDB avec WordPress 3</a>&#8230;</p><p>Sources : <a href="http://net.tutsplus.com/tutorials/wordpress/10-features-to-look-forward-to-in-wordpress-3-0">Nettuts</a> et <a href="http://kovshenin.com/archives/custom-post-types-in-wordpress-3-0/">kovshenin</a></p> ]]></content:encoded> <wfw:commentRss>http://bbxdesign.com/2010/05/31/introduction-a-wordpress-3-custom-post-type-et-custom-taxonomy/feed/</wfw:commentRss> <slash:comments>31</slash:comments> <feedburner:origLink>http://bbxdesign.com/2010/05/31/introduction-a-wordpress-3-custom-post-type-et-custom-taxonomy/</feedburner:origLink></item> </channel> </rss><!-- Performance optimized by W3 Total Cache. Learn more: http://www.w3-edge.com/wordpress-plugins/

Minified using disk
Page Caching using disk
Database Caching 7/10 queries in 0.005 seconds using disk

Served from: bbxdesign.com @ 2010-09-08 09:03:09 -->
