WordPress est, à la base, un outil de blogging. Il a évolué au fil du temps pour devenir de plus en plus complet et flexible. Seulement voila, il nous arrive de plus en plus d’avoir des demandes spécifiques de nos clients. Je m’explique. Vous possédez peut être des outils greffés actuellement sur votre site et vous souhaitez les ajouter au nouveau site (WordPress). Ils sont spécifiques et pas du tout adaptés à WordPress (gestion d’une base client, gestion d’une base de produits liée à l’activité mais pas au site, etc.). Peu importe la raison, vous devez alors ajouter cette fonction à WordPress, voici comment procéder.

Dans un premier temps, créez votre fichier php, disons script-perso.php avec le code suivant :

<?php
    require_once ('admin.php');
    include_once ('./admin-header.php');
?>
<div class="wrap nosubsub">
    <?php screen_icon('edit'); ?>
    <h2><?php echo esc_html( $title ); ?></h2>
    <br />
    <?php echo "Ceci est mon script perso."; ?>
</div>
<?php
include('./admin-footer.php');

 

Il y a plusieurs points à noter :

  • la dernière balise PHP ne doit pas être fermée
  • vous devez inclure les header et footer de l’admin pour éviter d’avoir une page dénuée de navigation

 

Le fichier est à placer dans le dossier /wp-admin de WordPress.

La seconde étape consiste à modifier le fichier functions.php de votre thème. Ajoutez simplement le code suivant :

add_action( 'admin_menu', 'add_links_menu' );
function add_links_menu() {
    add_menu_page('Script Test', 'Script Perso', 'administrator', 'script-perso.php', '', 'images/marker.png', 50);
}

Le premier paramètre est le titre de la page une fois avoir cliqué sur l’onglet de votre script, le deuxième est le nom du l’onglet (sur la gauche de l’admin), le 3ème est le type d’utilisateur qui peut voir l’onglet, le 4ème est le nom du fichier php, le 5ème n’est pas important, le 6ème et l’url du logo (nous avons utilisé une image déjà présente dans l’installation de WordPress par défaut) et le dernier est la position du nouveau script (nous avons utilisé la position 50 pour l’afficher en dernier dans la liste).

 

ajouter onglet wordpress

 

Petite précision : avec l’exemple ci-dessus, le script est à placer dans wp-admin. Ce n’est pas forcément l’idéal si vous souhaitez vendre votre thème par exemple. Si vous souhaitez placer le /script-perso.php dans le dossier de votre thème (donc dans /wp-content/themes/NOMDUTHEME/script-perso.php), je vous conseille d’utiliser le code ci-dessous :

add_action( 'admin_menu', 'add_links_menu' );

function add_links_menu() {
    add_menu_page('Nom du script', 'Nom du menu', 'administrator', 'script-perso', 'page_gen', 'images/marker.png', 50);
}

function page_gen() {
    include('script-perso.php');
}