<?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>custom panels Archives | DOTPROGS</title>
	<atom:link href="https://www.dotprogs.com/etiquette/custom-panels/feed/" rel="self" type="application/rss+xml" />
	<link></link>
	<description>DOTPROGS - Conception de sites web</description>
	<lastBuildDate>Tue, 19 Mar 2024 19:23:07 +0000</lastBuildDate>
	<language>fr-FR</language>
	<sy:updatePeriod>
	hourly	</sy:updatePeriod>
	<sy:updateFrequency>
	1	</sy:updateFrequency>
	

<image>
	<url>https://www.dotprogs.com/wp-content/uploaded-files/cropped-dotprogs-favicon-32x32.png</url>
	<title>custom panels Archives | DOTPROGS</title>
	<link></link>
	<width>32</width>
	<height>32</height>
</image> 
	<item>
		<title>Kirki, la boîte à outils pour le « customizer » de WordPress</title>
		<link>https://www.dotprogs.com/kirki-wp-custom-controls/</link>
		
		<dc:creator><![CDATA[DOTPROGS]]></dc:creator>
		<pubDate>Sat, 15 Oct 2016 07:43:49 +0000</pubDate>
				<category><![CDATA[Développement web]]></category>
		<category><![CDATA[Dotweb]]></category>
		<category><![CDATA[custom controls]]></category>
		<category><![CDATA[custom panels]]></category>
		<category><![CDATA[custom sections]]></category>
		<category><![CDATA[JavaScript]]></category>
		<category><![CDATA[librairie Kirki]]></category>
		<category><![CDATA[personnalisation WordPress]]></category>
		<category><![CDATA[PHP]]></category>
		<category><![CDATA[WordPress theme customizer]]></category>
		<category><![CDATA[WP customizer]]></category>
		<guid isPermaLink="false">https://www.dotprogs.com/?p=510</guid>

					<description><![CDATA[<p><img width="1024" height="576" src="https://www.dotprogs.com/wp-content/uploaded-files/wp-customizer-kirki-tools.png" class="attachment-md_post_thumb_large size-md_post_thumb_large wp-post-image" alt="WP customizer API - Kirki Tools" decoding="async" fetchpriority="high" /></p>
<h2 class="dp-level2-title">DE NOUVELLES FONCTIONNALITÉS POUR LE CUSTOMIZER DE WORDPRESS</h2>
<h3 class="dp-level3-title">UNE EXPÉRIENCE UTILISATEUR AMÉLIORÉE ET PLUS AGRÉABLE</h3>
<p>Le "customizer" de WordPress est l'interface de personnalisation avancée proposée au sein de l'administration du CMS (système de gestion de contenu).</p>
<p>Avant le customizer, le principe de "pages d'options" peu uniformes en fonction des thèmes était la règle. Le "customizer" propose de ce fait d'unifier cette approche avec une API ("interface de programmation").</p>
<p>Le "customizer" a pour intérêt de permettre de visualiser sa page web en même temps qu'elle est modifiée.</p>
<p>On y accède depuis le menu "Apparence -&gt; Personnaliser", il est possible de piloter la forme et le fond du site web en fonction des champs de formulaires ("custom controls") définis et configurés par le thème activé.</p>
<p>Ses "contrôles personnalisés" sont organisés en "panels" (qui sont les grands ensembles de personnalisation), des "sections" divisent ces "panels" en sous-ensembles pour rendre plus lisibles les actions proposées par ces custom controls".</p>
<p>En fonction du thème choisi, la personnalisation peut être très avancée ou quasi inexistante si les développeurs de thèmes n'ont pas fait le choix du "customizer".</p>
<p>Le principe de base de l'API du customizer est de permettre la création de classes php qui héritent de classes natives aussi bien pour les panels, les sections que pour les "custom controls". Ainsi des contrôles personnalisés totalement nouveaux peuvent être créés sur la base d'un code uniforme proposé par cette API.</p>
<p>Un exemple de "custom control" non natif créé par un développeur est présenté ci-dessous, et propose spécifiquement les typographie de Google les plus populaires pour personnaliser les textes d'un site web :</p>
<pre class="EnlighterJSRAW" data-enlighter-language="php">&lt;?php
 
if ( ! class_exists( 'WP_Customize_Control' ) )
    return NULL;
 
/**
 * A class to create a dropdown for all google fonts
 */
 class Google_Font_Dropdown_Custom_Control extends WP_Customize_Control
 {
    private $fonts = false;
 
    public function __construct($manager, $id, $args = array(), $options = array())
    {
        $this-&gt;fonts = $this-&gt;get_fonts();
        parent::__construct( $manager, $id, $args );
    }
 
    /**
     * Render the content of the category dropdown
     *
     * @return HTML
     */
    public function render_content()
    {
        if(!empty($this-&gt;fonts))
        {
            ?&gt;
                &lt;label&gt;
                    &lt;span class="customize-category-select-control"&gt;&lt;?php echo esc_html( $this-&gt;label ); ?&gt;&lt;/span&gt;
                    &lt;select &lt;?php $this-&gt;link(); ?&gt;&gt;
                        &lt;?php
                            foreach ( $this-&gt;fonts as $k =&gt; $v )
                            {
                                printf('&lt;option value="%s" %s&gt;%s&lt;/option&gt;', $k, selected($this-&gt;value(), $k, false), $v-&gt;family);
                            }
                        ?&gt;
                    &lt;/select&gt;
                &lt;/label&gt;
            &lt;?php
        }
    }
 
    /**
     * Get the google fonts from the API or in the cache
     *
     * @param  integer $amount
     *
     * @return String
     */
    public function get_fonts( $amount = 30 )
    {
        $fontFile = '/cache/google-web-fonts.txt';
 
        //Total time the file will be cached in seconds, set to a week
        $cachetime = 86400 * 7;
 
        if(file_exists($fontFile) &amp;&amp; $cachetime &lt; filemtime($fontFile))
        {
            $content = json_decode(file_get_contents($fontFile));
        } else {
 
            $googleApi = 'https://www.googleapis.com/webfonts/v1/webfonts?sort=popularity&amp;key={API_KEY}';
 
            $fontContent = wp_remote_get( $googleApi, array('sslverify'   =&gt; false) );
 
            $fp = fopen($fontFile, 'w');
            fwrite($fp, $fontContent['body']);
            fclose($fp);
 
            $content = json_decode($fontContent['body']);
        }
 
        if($amount == 'all')
        {
            return $content-&gt;items;
        } else {
            return array_slice($content-&gt;items, 0, $amount);
        }
    }
 }</pre>
<p>Plus d'exemples sur le site des développeurs sont accessibles par ce <!-- <a title="exemples de custom controls développés sur la base de l'API du customizer" href="https://paulund.co.uk/custom-wordpress-controls" target="_blank" rel="noopener">lien</a> --> <a title="exemples de custom controls développés sur la base de l'API du customizer" href="https://docs.themeum.com/kirki/getting-started/introduction/" target="_blank" rel="noopener">lien</a>.</p>
<p>Quelques développeurs web ou sociétés concevant des thèmes WordPress premium enrichissent, petit à petit&nbsp;par leur travail, la connaissance du "customizer" et contribuent à accroître les ressources sur le sujet.</p>
<p>Il existe peu de ressources de manière générale (même si un certain nombre de sites web anglophones s'y mettent)&nbsp;bien que le customizer existe depuis la version WordPress 3.4. A ce jour, on peut considérer qu'il a déjà bien évolué même s'il n'est pas un outil mature.</p>
<p>Il faut remarquer qu'il existe également une API JavaScript en parallèle mise à disposition par le "customizer" avec de <a title="tutoriels sur l'API JavaScript du customizer" href="https://code.tutsplus.com/tutorials/customizer-javascript-apis-getting-started--cms-26838" target="_blank" rel="noopener">bons tutoriels</a> ici ou là, ce qui le rend très efficace.</p>
<p>En addition de cette API JavaScript, les créateurs de sites web ont aussi la possibilité de réaliser des "custom controls"&nbsp;avec des templates <a title="Undescore JS" href="http://underscorejs.org/" target="_blank" rel="noopener">Underscore JS</a>.</p>
<p>On peut aussi noter que la documentation proposée à la communauté par WordPress est assez succincte à ce jour, les développeurs web ont donc la nécessité d'étudier le code en détail !</p>
<p>Quelques types de champs efficaces sont proposés nativement, <a title="API du customizer" href="https://developer.wordpress.org/themes/customize-api/" target="_blank" rel="noopener">la documentation de l'API</a> les présente brièvement, cependant ils limitent les possibilités de personnalisations avancées que l'on peut trouver ailleurs sur de nombreux formulaires servant à de la configuration.</p>
<p>Heureusement l'API du "customizer" est étudiée&nbsp;pour que les codeurs puissent s'exprimer et adapter celui-ci&nbsp;à leurs besoins et objectifs.</p>
<p>C'est à ce niveau qu'intervient <a title="librairie PHP Kirki" href="https://github.com/themeum/kirki" target="_blank" rel="noopener">Kirki</a>&nbsp;en proposant des composants d'interface variés visible sur <a title="composants de Kirki" href="https://github.com/themeum/kirki/tree/develop/docs/files" target="_blank" rel="noopener">cette page</a>, dit "user friendly" (facilitant l'expérience utilisateur), et très pratiques pour contrôler l'apparence et le contenu de son site web. Le "customizer" de WordPress, est de fait, véritablement&nbsp;amélioré et ses capacités sont accrues.</p>
<p>La librairie proposée par Kirki a pour but de rendre plus aisée l'utilisation des "custom controls" tout en respectant au maximum les bases de l'API.</p>
<p>Kirki est disponible sous forme de plugin et peut aussi être intégré directement à un thème pour les besoins des développeurs et intégrateurs web.</p>
<p>Avec Kirki, il est davantage question de l'API PHP du "customizer", adaptée par ce dernier pour accélérer le déploiement de l'interface.<br />
Bien sûr, étant donné l'apparence des contrôles de la librairie, du JavaScript et des CSS3 rendent le rendu très soigné !</p>
<p>Le <a title="plugin WordPress Kirki" href="https://fr.wordpress.org/plugins/kirki/" target="_blank" rel="noopener">plugin</a> WordPress Kirki est disponible sur wordpress.org.</p>
<p>Des&nbsp;ressources plus générales sur le "customizer" sont présentes <a title="ressources sur le customizer" href="https://make.wordpress.org/themes/2015/05/07/customizer-tutorials-and-documentation/" target="_blank" rel="noopener">ici</a>.</p>
<p>Cet article <a href="https://www.dotprogs.com/kirki-wp-custom-controls/">Kirki, la boîte à outils pour le « customizer » de WordPress</a> est apparu en premier sur <a href="https://www.dotprogs.com">DOTPROGS</a>.</p>
]]></description>
										<content:encoded><![CDATA[<p><img width="1024" height="576" src="https://www.dotprogs.com/wp-content/uploaded-files/wp-customizer-kirki-tools.png" class="attachment-md_post_thumb_large size-md_post_thumb_large wp-post-image" alt="WP customizer API - Kirki Tools" decoding="async" /></p><h2 class="dp-level2-title">DE NOUVELLES FONCTIONNALITÉS POUR LE CUSTOMIZER DE WORDPRESS</h2>
<h3 class="dp-level3-title">UNE EXPÉRIENCE UTILISATEUR AMÉLIORÉE ET PLUS AGRÉABLE</h3>
Le "customizer" de WordPress est l'interface de personnalisation avancée proposée au sein de l'administration du CMS (système de gestion de contenu).

Avant le customizer, le principe de "pages d'options" peu uniformes en fonction des thèmes était la règle. Le "customizer" propose de ce fait d'unifier cette approche avec une API ("interface de programmation").

Le "customizer" a pour intérêt de permettre de visualiser sa page web en même temps qu'elle est modifiée.

On y accède depuis le menu "Apparence -&gt; Personnaliser", il est possible de piloter la forme et le fond du site web en fonction des champs de formulaires ("custom controls") définis et configurés par le thème activé.

Ses "contrôles personnalisés" sont organisés en "panels" (qui sont les grands ensembles de personnalisation), des "sections" divisent ces "panels" en sous-ensembles pour rendre plus lisibles les actions proposées par ces custom controls".

En fonction du thème choisi, la personnalisation peut être très avancée ou quasi inexistante si les développeurs de thèmes n'ont pas fait le choix du "customizer".

Le principe de base de l'API du customizer est de permettre la création de classes php qui héritent de classes natives aussi bien pour les panels, les sections que pour les "custom controls". Ainsi des contrôles personnalisés totalement nouveaux peuvent être créés sur la base d'un code uniforme proposé par cette API.

Un exemple de "custom control" non natif créé par un développeur est présenté ci-dessous, et propose spécifiquement les typographie de Google les plus populaires pour personnaliser les textes d'un site web :
<pre class="EnlighterJSRAW" data-enlighter-language="php">&lt;?php
 
if ( ! class_exists( 'WP_Customize_Control' ) )
    return NULL;
 
/**
 * A class to create a dropdown for all google fonts
 */
 class Google_Font_Dropdown_Custom_Control extends WP_Customize_Control
 {
    private $fonts = false;
 
    public function __construct($manager, $id, $args = array(), $options = array())
    {
        $this-&gt;fonts = $this-&gt;get_fonts();
        parent::__construct( $manager, $id, $args );
    }
 
    /**
     * Render the content of the category dropdown
     *
     * @return HTML
     */
    public function render_content()
    {
        if(!empty($this-&gt;fonts))
        {
            ?&gt;
                &lt;label&gt;
                    &lt;span class="customize-category-select-control"&gt;&lt;?php echo esc_html( $this-&gt;label ); ?&gt;&lt;/span&gt;
                    &lt;select &lt;?php $this-&gt;link(); ?&gt;&gt;
                        &lt;?php
                            foreach ( $this-&gt;fonts as $k =&gt; $v )
                            {
                                printf('&lt;option value="%s" %s&gt;%s&lt;/option&gt;', $k, selected($this-&gt;value(), $k, false), $v-&gt;family);
                            }
                        ?&gt;
                    &lt;/select&gt;
                &lt;/label&gt;
            &lt;?php
        }
    }
 
    /**
     * Get the google fonts from the API or in the cache
     *
     * @param  integer $amount
     *
     * @return String
     */
    public function get_fonts( $amount = 30 )
    {
        $fontFile = '/cache/google-web-fonts.txt';
 
        //Total time the file will be cached in seconds, set to a week
        $cachetime = 86400 * 7;
 
        if(file_exists($fontFile) &amp;&amp; $cachetime &lt; filemtime($fontFile))
        {
            $content = json_decode(file_get_contents($fontFile));
        } else {
 
            $googleApi = 'https://www.googleapis.com/webfonts/v1/webfonts?sort=popularity&amp;key={API_KEY}';
 
            $fontContent = wp_remote_get( $googleApi, array('sslverify'   =&gt; false) );
 
            $fp = fopen($fontFile, 'w');
            fwrite($fp, $fontContent['body']);
            fclose($fp);
 
            $content = json_decode($fontContent['body']);
        }
 
        if($amount == 'all')
        {
            return $content-&gt;items;
        } else {
            return array_slice($content-&gt;items, 0, $amount);
        }
    }
 }</pre>
Plus d'exemples sur le site des développeurs sont accessibles par ce <!-- <a title="exemples de custom controls développés sur la base de l'API du customizer" href="https://paulund.co.uk/custom-wordpress-controls" target="_blank" rel="noopener">lien</a> --> <a title="exemples de custom controls développés sur la base de l'API du customizer" href="https://docs.themeum.com/kirki/getting-started/introduction/" target="_blank" rel="noopener">lien</a>.

Quelques développeurs web ou sociétés concevant des thèmes WordPress premium enrichissent, petit à petit&nbsp;par leur travail, la connaissance du "customizer" et contribuent à accroître les ressources sur le sujet.

Il existe peu de ressources de manière générale (même si un certain nombre de sites web anglophones s'y mettent)&nbsp;bien que le customizer existe depuis la version WordPress 3.4. A ce jour, on peut considérer qu'il a déjà bien évolué même s'il n'est pas un outil mature.

Il faut remarquer qu'il existe également une API JavaScript en parallèle mise à disposition par le "customizer" avec de <a title="tutoriels sur l'API JavaScript du customizer" href="https://code.tutsplus.com/tutorials/customizer-javascript-apis-getting-started--cms-26838" target="_blank" rel="noopener">bons tutoriels</a> ici ou là, ce qui le rend très efficace.

En addition de cette API JavaScript, les créateurs de sites web ont aussi la possibilité de réaliser des "custom controls"&nbsp;avec des templates <a title="Undescore JS" href="http://underscorejs.org/" target="_blank" rel="noopener">Underscore JS</a>.

On peut aussi noter que la documentation proposée à la communauté par WordPress est assez succincte à ce jour, les développeurs web ont donc la nécessité d'étudier le code en détail !

Quelques types de champs efficaces sont proposés nativement, <a title="API du customizer" href="https://developer.wordpress.org/themes/customize-api/" target="_blank" rel="noopener">la documentation de l'API</a> les présente brièvement, cependant ils limitent les possibilités de personnalisations avancées que l'on peut trouver ailleurs sur de nombreux formulaires servant à de la configuration.

Heureusement l'API du "customizer" est étudiée&nbsp;pour que les codeurs puissent s'exprimer et adapter celui-ci&nbsp;à leurs besoins et objectifs.

C'est à ce niveau qu'intervient <a title="librairie PHP Kirki" href="https://github.com/themeum/kirki" target="_blank" rel="noopener">Kirki</a>&nbsp;en proposant des composants d'interface variés visible sur <a title="composants de Kirki" href="https://github.com/themeum/kirki/tree/develop/docs/files" target="_blank" rel="noopener">cette page</a>, dit "user friendly" (facilitant l'expérience utilisateur), et très pratiques pour contrôler l'apparence et le contenu de son site web. Le "customizer" de WordPress, est de fait, véritablement&nbsp;amélioré et ses capacités sont accrues.

La librairie proposée par Kirki a pour but de rendre plus aisée l'utilisation des "custom controls" tout en respectant au maximum les bases de l'API.

Kirki est disponible sous forme de plugin et peut aussi être intégré directement à un thème pour les besoins des développeurs et intégrateurs web.

Avec Kirki, il est davantage question de l'API PHP du "customizer", adaptée par ce dernier pour accélérer le déploiement de l'interface.
Bien sûr, étant donné l'apparence des contrôles de la librairie, du JavaScript et des CSS3 rendent le rendu très soigné !

Le <a title="plugin WordPress Kirki" href="https://fr.wordpress.org/plugins/kirki/" target="_blank" rel="noopener">plugin</a> WordPress Kirki est disponible sur wordpress.org.

Des&nbsp;ressources plus générales sur le "customizer" sont présentes <a title="ressources sur le customizer" href="https://make.wordpress.org/themes/2015/05/07/customizer-tutorials-and-documentation/" target="_blank" rel="noopener">ici</a>.<p>Cet article <a href="https://www.dotprogs.com/kirki-wp-custom-controls/">Kirki, la boîte à outils pour le « customizer » de WordPress</a> est apparu en premier sur <a href="https://www.dotprogs.com">DOTPROGS</a>.</p>
]]></content:encoded>
					
		
		
			</item>
	</channel>
</rss>
