09.06.2015 Views

WordPress 3

  • No tags were found...

Create successful ePaper yourself

Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.

384 <strong>WordPress</strong> côté développeur : concevoir une extension<br />

Ici encore, nous réécrivons l’ensemble des labels de chaque taxinomie, mais ne modifions<br />

que les options dont les valeurs par défaut ne nous conviennent pas. Seule exception, l’option<br />

hierarchical : celle-ci est par défaut false mais, pour simplifier la différenciation de<br />

chaque taxinomie à la lecture du code, nous indiquons explicitement sa valeur.<br />

Notez par ailleurs que la taxinomie non hiérarchisée (les mots-clefs) dispose de trois labels<br />

supplémentaires à réécrire.<br />

Comme il se doit, nos deux taxinomies sont, par leur deuxième argument, assignées au type<br />

de nos petites annonces, "classified".<br />

Partie – Administration<br />

Menu de <strong>WordPress</strong><br />

Grâce à la "magie" de la gestion par <strong>WordPress</strong> des types de contenu personnalisés et des<br />

taxinomies personnalisées, le plus gros du travail est fait côté administration : dès la mise<br />

en place de ces derniers, <strong>WordPress</strong> a généré l’ensemble des menus nécessaires, ainsi que la<br />

logique qui intègre l’ensemble à <strong>WordPress</strong>.<br />

Il nous reste néanmoins un menu à mettre en place : celui qui permettra de gérer quelques<br />

réglages de notre extension.<br />

Pour ajouter ce menu dans <strong>WordPress</strong>, vous allez lier une fonction à l’action admin_init,<br />

qui définira nos options et les sections où elles s’affichent, et une autre fonction à l’action<br />

admin_menu, qui insérera le menu.<br />

Donc, dans un premier temps, il nous faut ajouter ces actions dans la fonction d’initialisation<br />

xb_classifieds_init(), mais qui seront lancées uniquement dans l’interface d’administration :<br />

// Initialisation Admin<br />

if ( is_admin() ) {<br />

require( dirname(__FILE__) . '/inc/classifieds.options.php' );<br />

add_action( 'admin_init', 'xb_classifieds_options_init' );<br />

add_action('admin_menu', 'xb_classifieds_options_add_page');<br />

}<br />

Nous verrons le contenu de la fonction xb_classifieds_options_init() dans la section<br />

suivante. Voyons tout d’abord celui de la fonction xb_classifieds_options_add_page(),<br />

qui ajoute le menu :<br />

function xb_classifieds_options_add_page() {<br />

add_options_page(<br />

__('Classifieds'),<br />

// Titre de la page<br />

__('Classifieds'),<br />

// Titre du menu de la page<br />

'admin_classifieds',<br />

// Capacité nécessaire pour y accéder<br />

'classifieds_options',<br />

// Identifiant/URL de la page<br />

'xb_classifieds_options_build_page' // Fonction construisant la page<br />

);<br />

}<br />

customer 27921 at Fri Mar 11 19:29:26 +0100 2011<br />

Propriété de Albiri Sigue

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!