<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	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/"
		>
<channel>
	<title>Commentaires sur : WordPress: Développer ses propres widgets</title>
	<atom:link href="http://www.emmanuelgeorjon.com/wordpress-developper-ses-propres-widgets-121/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.emmanuelgeorjon.com/wordpress-developper-ses-propres-widgets-121/</link>
	<description>Photo numérique et technologies Web</description>
	<lastBuildDate>Tue, 07 Sep 2010 20:43:29 +0000</lastBuildDate>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.0.1</generator>
	<item>
		<title>Par : Sébastien</title>
		<link>http://www.emmanuelgeorjon.com/wordpress-developper-ses-propres-widgets-121/#comment-1063</link>
		<dc:creator>Sébastien</dc:creator>
		<pubDate>Tue, 20 Oct 2009 12:33:37 +0000</pubDate>
		<guid isPermaLink="false">http://www.emmanuelgeorjon.com/?p=121#comment-1063</guid>
		<description>Mais oui bien sûr, que je suis sot ! Je ne sais pas comment te remercier Emmanuel. Je suis admiratif en tout cas de ta gentillesse et de ton partage de connaissance.</description>
		<content:encoded><![CDATA[<p>Mais oui bien sûr, que je suis sot ! Je ne sais pas comment te remercier Emmanuel. Je suis admiratif en tout cas de ta gentillesse et de ton partage de connaissance.</p>
]]></content:encoded>
	</item>
	<item>
		<title>Par : Emmanuel</title>
		<link>http://www.emmanuelgeorjon.com/wordpress-developper-ses-propres-widgets-121/#comment-1062</link>
		<dc:creator>Emmanuel</dc:creator>
		<pubDate>Tue, 20 Oct 2009 12:10:25 +0000</pubDate>
		<guid isPermaLink="false">http://www.emmanuelgeorjon.com/?p=121#comment-1062</guid>
		<description>La fonction &lt;code&gt;get_the_category()&lt;/code&gt; sans parametres, se refere a l&#039;article &quot;courant&quot;. Sinon tu dois lui indiquer l&#039;id de l&#039;article dont tu veux les categories.
Donc dans le fichier &lt;code&gt;single.php&lt;/code&gt; qui charge le fichier &lt;code&gt;sidebar.php&lt;/code&gt; tu dois avoir quelque chose comme: 
&lt;pre&gt;if (have_posts()) {
    the_post();
    ... ...
    get_sidebar();
}
&lt;/pre&gt;</description>
		<content:encoded><![CDATA[<p>La fonction <code>get_the_category()</code> sans parametres, se refere a l&#8217;article &laquo;&nbsp;courant&nbsp;&raquo;. Sinon tu dois lui indiquer l&#8217;id de l&#8217;article dont tu veux les categories.<br />
Donc dans le fichier <code>single.php</code> qui charge le fichier <code>sidebar.php</code> tu dois avoir quelque chose comme: </p>
<pre>if (have_posts()) {
    the_post();
    ... ...
    get_sidebar();
}
</pre>
]]></content:encoded>
	</item>
	<item>
		<title>Par : Sébastien</title>
		<link>http://www.emmanuelgeorjon.com/wordpress-developper-ses-propres-widgets-121/#comment-1061</link>
		<dc:creator>Sébastien</dc:creator>
		<pubDate>Tue, 20 Oct 2009 10:55:27 +0000</pubDate>
		<guid isPermaLink="false">http://www.emmanuelgeorjon.com/?p=121#comment-1061</guid>
		<description>Merci pour ces judicieux conseils.
cela dit, si je mets 
&lt;code&gt;
if(is_single())
$category = get_the_category();
dynamic_sidebar($category[0]-&gt;name);
&lt;/code&gt;
ça n&#039;affiche pas la bonne sidebar 
ça affiche la sidebar d&#039;une catégorie dont l&#039;article ne fait même pas partie... Comment ça se fait ?</description>
		<content:encoded><![CDATA[<p>Merci pour ces judicieux conseils.<br />
cela dit, si je mets<br />
<code><br />
if(is_single())<br />
$category = get_the_category();<br />
dynamic_sidebar($category[0]-&gt;name);<br />
</code><br />
ça n&#8217;affiche pas la bonne sidebar<br />
ça affiche la sidebar d&#8217;une catégorie dont l&#8217;article ne fait même pas partie&#8230; Comment ça se fait ?</p>
]]></content:encoded>
	</item>
	<item>
		<title>Par : Emmanuel</title>
		<link>http://www.emmanuelgeorjon.com/wordpress-developper-ses-propres-widgets-121/#comment-1060</link>
		<dc:creator>Emmanuel</dc:creator>
		<pubDate>Tue, 20 Oct 2009 10:27:57 +0000</pubDate>
		<guid isPermaLink="false">http://www.emmanuelgeorjon.com/?p=121#comment-1060</guid>
		<description>Je pense que la syntaxe exacte doit plutot etre:
&lt;code&gt;$category = get_the_category();
dynamic_sidebar($category[0]-&gt;name);&lt;/code&gt;

L&#039;attribut cat_name n&#039;existe pas dans le tableau retourne par la fonction &lt;code&gt;get_the_category&lt;/code&gt;. 

Je pense d&#039;ailleurs qu&#039;il ne faut pas utiliser le nom des categories, mais plutot le &lt;code&gt;slug&lt;/code&gt;. Avec le nom, tu risques de te heurter a des problemes d&#039;accents, d&#039;espaces ... de codage de caracteres. Avec le &lt;code&gt;slug&lt;/code&gt; (ou &lt;code&gt;term_id&lt;/code&gt;) tu n&#039;auras pas ces problemes.</description>
		<content:encoded><![CDATA[<p>Je pense que la syntaxe exacte doit plutot etre:<br />
<code>$category = get_the_category();<br />
dynamic_sidebar($category[0]-&gt;name);</code></p>
<p>L&#8217;attribut cat_name n&#8217;existe pas dans le tableau retourne par la fonction <code>get_the_category</code>. </p>
<p>Je pense d&#8217;ailleurs qu&#8217;il ne faut pas utiliser le nom des categories, mais plutot le <code>slug</code>. Avec le nom, tu risques de te heurter a des problemes d&#8217;accents, d&#8217;espaces &#8230; de codage de caracteres. Avec le <code>slug</code> (ou <code>term_id</code>) tu n&#8217;auras pas ces problemes.</p>
]]></content:encoded>
	</item>
	<item>
		<title>Par : Sébastien</title>
		<link>http://www.emmanuelgeorjon.com/wordpress-developper-ses-propres-widgets-121/#comment-1059</link>
		<dc:creator>Sébastien</dc:creator>
		<pubDate>Tue, 20 Oct 2009 08:21:39 +0000</pubDate>
		<guid isPermaLink="false">http://www.emmanuelgeorjon.com/?p=121#comment-1059</guid>
		<description>Je reviens par ici Emmanuel d&#039;abord pour te remercier encore de m&#039;avoir aidé à avancer sur mon problème et aussi pour te demander ton avis sur une dernière chose.

J&#039;ai codé le fichier function.php pour qu&#039;il crée une zone widgetisable pour chaque catégorie et chaque page. Pour une catégorie &quot;documentation&quot;, la zone widgetisable&quot; s&#039;appelle également &quot;documentation&quot;.

Evidemment pour une catégorie &quot;toto&quot; ou un article de la catégorie &quot;toto&quot;, j&#039;affiche dans la sidebar la zone widgetisable &quot;toto&quot;.
Pour cela, dans sidebar.php, je fais apparaitre la zone widgetisable associée de la manière suivante :
&lt;code&gt;
    if(is_category()) { 
  $cat =  single_cat_title(&quot;&quot;, false);
        dynamic_sidebar($cat); 
    
    } elseif(is_page()) { 
        echo $posts[0]-&gt;post_title;
        dynamic_sidebar($posts[0]-&gt;post_title); 
   
    } elseif(is_single()) { 
            
    } 
&lt;/code&gt;

Mon problème se situe sur &quot;single&quot;. J&#039;ai essayé plusieurs choses dont 
&lt;code&gt;
        $category = get_the_category();
	dynamic_sidebar($category[0]-&gt;cat_name;);  
&lt;/code&gt;
mais ça ne fonctionne pas. Je n&#039;arrive pas à récuperer le nom de la catégorie d&#039;un article pour le mettre dans dynamic_sidebar() lorsque je suis dans un &quot;single&quot;. Tout le reste est ok, mais sur ça je bloque depuis trois jours. Est-que tu aurais une idée ? J&#039;ai l&#039;impression d&#039;avoir tout essayé. Merci.</description>
		<content:encoded><![CDATA[<p>Je reviens par ici Emmanuel d&#8217;abord pour te remercier encore de m&#8217;avoir aidé à avancer sur mon problème et aussi pour te demander ton avis sur une dernière chose.</p>
<p>J&#8217;ai codé le fichier function.php pour qu&#8217;il crée une zone widgetisable pour chaque catégorie et chaque page. Pour une catégorie &laquo;&nbsp;documentation&nbsp;&raquo;, la zone widgetisable&nbsp;&raquo; s&#8217;appelle également &laquo;&nbsp;documentation&nbsp;&raquo;.</p>
<p>Evidemment pour une catégorie &laquo;&nbsp;toto&nbsp;&raquo; ou un article de la catégorie &laquo;&nbsp;toto&nbsp;&raquo;, j&#8217;affiche dans la sidebar la zone widgetisable &laquo;&nbsp;toto&nbsp;&raquo;.<br />
Pour cela, dans sidebar.php, je fais apparaitre la zone widgetisable associée de la manière suivante :<br />
<code><br />
    if(is_category()) {<br />
  $cat =  single_cat_title("", false);<br />
        dynamic_sidebar($cat); </p>
<p>    } elseif(is_page()) {<br />
        echo $posts[0]-&gt;post_title;<br />
        dynamic_sidebar($posts[0]-&gt;post_title); </p>
<p>    } elseif(is_single()) { </p>
<p>    }<br />
</code></p>
<p>Mon problème se situe sur &laquo;&nbsp;single&nbsp;&raquo;. J&#8217;ai essayé plusieurs choses dont<br />
<code><br />
        $category = get_the_category();<br />
	dynamic_sidebar($category[0]-&gt;cat_name;);<br />
</code><br />
mais ça ne fonctionne pas. Je n&#8217;arrive pas à récuperer le nom de la catégorie d&#8217;un article pour le mettre dans dynamic_sidebar() lorsque je suis dans un &laquo;&nbsp;single&nbsp;&raquo;. Tout le reste est ok, mais sur ça je bloque depuis trois jours. Est-que tu aurais une idée ? J&#8217;ai l&#8217;impression d&#8217;avoir tout essayé. Merci.</p>
]]></content:encoded>
	</item>
	<item>
		<title>Par : sebastien</title>
		<link>http://www.emmanuelgeorjon.com/wordpress-developper-ses-propres-widgets-121/#comment-1047</link>
		<dc:creator>sebastien</dc:creator>
		<pubDate>Fri, 16 Oct 2009 21:01:01 +0000</pubDate>
		<guid isPermaLink="false">http://www.emmanuelgeorjon.com/?p=121#comment-1047</guid>
		<description>&lt;code&gt;is_active_widget(&#039;&#039;,&#039;&#039;,&#039;titre01&#039; ) echo &#039;actif&#039;; else echo &#039;inactif&#039;;&lt;/code&gt;</description>
		<content:encoded><![CDATA[<p><code>is_active_widget('','','titre01' ) echo 'actif'; else echo 'inactif';</code></p>
]]></content:encoded>
	</item>
	<item>
		<title>Par : sebastien</title>
		<link>http://www.emmanuelgeorjon.com/wordpress-developper-ses-propres-widgets-121/#comment-1046</link>
		<dc:creator>sebastien</dc:creator>
		<pubDate>Fri, 16 Oct 2009 20:57:00 +0000</pubDate>
		<guid isPermaLink="false">http://www.emmanuelgeorjon.com/?p=121#comment-1046</guid>
		<description>Merci Emmanuel pour tes réponses (rapides) et le partage de tes connaissances. Ton commentaire m&#039;a bien éclairé.
Pour ceux que ça aidera :
Donc mon widget est déclaré ainsi
&lt;code&gt;
    function ows1() {
        $options = array(
            &#039;classname&#039; =&gt; &#039;widgetclass&#039;, // classe du widget dans la sidebar
            &#039;description&#039; =&gt; &#039;widget se seb&#039;  // la description dans l&#039;admin
        );
        // parent::WP_Widget(identifiant, titre, options);
        parent::WP_Widget(&#039;titre01&#039;, &#039;mon widget&#039;, $options);
    }
&lt;/code&gt;

et pour verifier que ce widget est actif j&#039;ecris
&lt;code&gt;

 
&lt;/code&gt;</description>
		<content:encoded><![CDATA[<p>Merci Emmanuel pour tes réponses (rapides) et le partage de tes connaissances. Ton commentaire m&#8217;a bien éclairé.<br />
Pour ceux que ça aidera :<br />
Donc mon widget est déclaré ainsi<br />
<code><br />
    function ows1() {<br />
        $options = array(<br />
            'classname' =&gt; 'widgetclass', // classe du widget dans la sidebar<br />
            'description' =&gt; 'widget se seb'  // la description dans l'admin<br />
        );<br />
        // parent::WP_Widget(identifiant, titre, options);<br />
        parent::WP_Widget('titre01', 'mon widget', $options);<br />
    }<br />
</code></p>
<p>et pour verifier que ce widget est actif j&#8217;ecris<br />
<code></p>
<p></code></p>
]]></content:encoded>
	</item>
	<item>
		<title>Par : Emmanuel</title>
		<link>http://www.emmanuelgeorjon.com/wordpress-developper-ses-propres-widgets-121/#comment-1043</link>
		<dc:creator>Emmanuel</dc:creator>
		<pubDate>Fri, 16 Oct 2009 08:52:21 +0000</pubDate>
		<guid isPermaLink="false">http://www.emmanuelgeorjon.com/?p=121#comment-1043</guid>
		<description>Avec l&#039;API 2.8, tu crees les widgets de la facon suivante:
&lt;pre lang=&quot;PHP&quot;&gt;$widget_ops = array(&#039;classname&#039; =&gt; &#039;CSS class name&#039;, &#039;description&#039; =&gt; &#039;widget description&#039; );
$this-&gt;WP_Widget(&#039;wigget base id&#039;, &#039;widget title&#039;, $widget_ops);
&lt;/pre&gt;
Comme par défaut, les widgets en WP  2.8 sont multi-instanciables, tu prends l&#039;Id que tu as donne, et tu ajoutes &quot;-numero&quot;.
Exemple:
- si ton id est my_widget_id
- les identifiants seront my_widget_id-1, my_widget_id-2, ...

Pour verifier, visualises la variable &lt;code&gt;$wp_registered_widgets&lt;/code&gt; qui contient tous les widgets avec les ids, callback, ...</description>
		<content:encoded><![CDATA[<p>Avec l&#8217;API 2.8, tu crees les widgets de la facon suivante:</p>

<div class="wp_syntax"><div class="code"><pre class="php" style="font-family:monospace;"><span style="color: #000088;">$widget_ops</span> <span style="color: #339933;">=</span> <span style="color: #990000;">array</span><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">'classname'</span> <span style="color: #339933;">=&amp;</span>gt<span style="color: #339933;">;</span> <span style="color: #0000ff;">'CSS class name'</span><span style="color: #339933;">,</span> <span style="color: #0000ff;">'description'</span> <span style="color: #339933;">=&amp;</span>gt<span style="color: #339933;">;</span> <span style="color: #0000ff;">'widget description'</span> <span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
<span style="color: #000088;">$this</span><span style="color: #339933;">-&amp;</span>gt<span style="color: #339933;">;</span>WP_Widget<span style="color: #009900;">&#40;</span><span style="color: #0000ff;">'wigget base id'</span><span style="color: #339933;">,</span> <span style="color: #0000ff;">'widget title'</span><span style="color: #339933;">,</span> <span style="color: #000088;">$widget_ops</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span></pre></div></div>

<p>Comme par défaut, les widgets en WP  2.8 sont multi-instanciables, tu prends l&#8217;Id que tu as donne, et tu ajoutes &laquo;&nbsp;-numero&nbsp;&raquo;.<br />
Exemple:<br />
- si ton id est my_widget_id<br />
- les identifiants seront my_widget_id-1, my_widget_id-2, &#8230;</p>
<p>Pour verifier, visualises la variable <code>$wp_registered_widgets</code> qui contient tous les widgets avec les ids, callback, &#8230;</p>
]]></content:encoded>
	</item>
	<item>
		<title>Par : sebastien</title>
		<link>http://www.emmanuelgeorjon.com/wordpress-developper-ses-propres-widgets-121/#comment-1034</link>
		<dc:creator>sebastien</dc:creator>
		<pubDate>Thu, 15 Oct 2009 21:10:24 +0000</pubDate>
		<guid isPermaLink="false">http://www.emmanuelgeorjon.com/?p=121#comment-1034</guid>
		<description>En fait je pensais que l&#039;id ou l&#039;id_base était un identifiant, ou un nom qu&#039;on donnait au widget lorsqu&#039;on le codait et dans ce cas il suffirait que je regarde dans le code pour voir le nom qui lui a été donné. Mais je ne sais pas où.
Non, ça se passe pas comme ça ?</description>
		<content:encoded><![CDATA[<p>En fait je pensais que l&#8217;id ou l&#8217;id_base était un identifiant, ou un nom qu&#8217;on donnait au widget lorsqu&#8217;on le codait et dans ce cas il suffirait que je regarde dans le code pour voir le nom qui lui a été donné. Mais je ne sais pas où.<br />
Non, ça se passe pas comme ça ?</p>
]]></content:encoded>
	</item>
	<item>
		<title>Par : Emmanuel</title>
		<link>http://www.emmanuelgeorjon.com/wordpress-developper-ses-propres-widgets-121/#comment-1032</link>
		<dc:creator>Emmanuel</dc:creator>
		<pubDate>Thu, 15 Oct 2009 21:04:56 +0000</pubDate>
		<guid isPermaLink="false">http://www.emmanuelgeorjon.com/?p=121#comment-1032</guid>
		<description>Je n&#039;ai pas trouve de fonction retournant l&#039;ID d&#039;un widget.
Eventuellement, tu peux &quot;bricoler&quot; quelque chose a partir de la variable &lt;code&gt;$wp_registered_widgets&lt;/code&gt; qui contient la liste de tous les widgets (ne pas oublier de la declarer comme global au prealable).</description>
		<content:encoded><![CDATA[<p>Je n&#8217;ai pas trouve de fonction retournant l&#8217;ID d&#8217;un widget.<br />
Eventuellement, tu peux &laquo;&nbsp;bricoler&nbsp;&raquo; quelque chose a partir de la variable <code>$wp_registered_widgets</code> qui contient la liste de tous les widgets (ne pas oublier de la declarer comme global au prealable).</p>
]]></content:encoded>
	</item>
</channel>
</rss>
