WordPress : Ajouter des liens au personnalisateur
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’ register
action, puis ajouter section
, setting
et 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();
0 commentaire