WordPress : Ajouter des liens au personnalisateur

Publié par Jean-Michel le

J’utilise le personnalisateur de thème pour de nombreux changements sur notre passe-partout WP. Cependant, il y a certaines choses pour lesquelles vous avez besoin d’une page d’options ACF. Pour tenter de lier le personnalisateur de thème aux pages d’options, je voudrais simplement créer une section intitulée Paramètres d’index/d’archivage, et lorsque vous cliquez dessus, ayez simplement une liste d’hyperliens qui pointent vers chaque page d’options. Cela reliera tout au moins d’une manière qui ne vous laissera pas jouer à des jeux de devinettes où se trouvent les choses. Est-ce que quelqu’un sait comment faire cela ou si c’est possible?

Solution n°1 trouvée

Vous devez commencer par ajouter l’ registeraction, puis ajouter section, settinget control. Assurez-vous de remplacer $my_theme par le slug de votre thème afin que ces options n’apparaissent que sur votre thème.

class SampleAddonCustomizer {

   public $my_theme = 'enter-your-theme-slug-here'; // <- Enter your theme slug here

   public function hooks() {

     $current_theme = wp_get_theme();

     if( $current_theme->template == $this->my_theme ) {
       add_action( 'customize_register', array( $this, 'register' ), 99 );
     }

   }

   public function register( $wp_customize ) {

         $wp_customize->add_section( 'my_custom_section_links', array(
           'capability' => 'edit_theme_options',
           'priority'   => 50,
           'title'      => __( 'Index/Archive', 'sample-customizer-addon' )
         ) );


         $wp_customize->add_setting(  'special', array(
           'capability' => 'edit_theme_options',
           'type'       => 'hidden',
           'autoload'   => false
         ) );

         $wp_customize->add_control( 'special', array(
             'label'   => 'Links to settings',
             'description' => $this->get_links(),
             'section' => 'my_custom_section_links',
             'type'    => 'hidden',
         ) );
   }

   public function get_links() {

     $links = array(
       array('url' => 'http://example.com/', 'text' => 'Example', 'desc' => 'Just an example'),
       array('url' => 'https://yahoo.com/', 'text' => 'Yahoo!', 'desc' => 'More entertainment'),
       array('url' => 'https://google.com/', 'text' => 'Google', 'desc' => 'Just Search'),
       array('url' => 'https://bing.com/', 'text' => 'Bing', 'desc' => 'Nice pictures'),
     );

     $html = '';

     foreach ($links as $link) {
       $html .= '<p>'.$link['desc'].'<br>'.PHP_EOL;
       $html .= sprintf('<a href="%s">%s</a>', $link['url'], $link['text']) . '<br>' . PHP_EOL;
       $html .= '</p>'.PHP_EOL;
     }


     return $html;
   }

 }

 $sampleAddonCustomizer = new SampleAddonCustomizer();
 $sampleAddonCustomizer->hooks();

Catégories : Wordpress

Jean-Michel

Jean-Michel est en charge de la partie blog du site. Il met en place la stratégie de contenu et répond aux questions fréquentes sur Wordpress.

0 commentaire

Laisser un commentaire

Avatar placeholder

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *