Comme je travaillais sur un thème premium que je soumettrai à ThemeForest la semaine prochaine, je voulais permettre aux utilisateurs de sélectionner leur page de portfolio (qui est basée sur un modèle de page) à partir d’un menu déroulant dans le panneau d’administration afin qu’il s’affiche dans le fil d’Ariane des publications à portefeuille unique. Quelque chose qui est génial pour la convivialité et le référencement, mais un peu délicat à faire.
Fondamentalement, je dois stocker toutes les pages WordPress dans un tableau, puis permettre à l’utilisateur d’en sélectionner facilement une dans une liste déroulante. Le problème est que lorsqu’un utilisateur en sélectionne un, la sortie de cette option devient le titre de la page, et non l’URL, le Slug ou l’ID. Donc, en faisant une petite recherche sur Google, je suis tombé sur une petite fonction sympa et je l’ai un peu modifiée pour qu’elle vous permette d’obtenir le lien permanent de n’importe quelle page en fonction du titre de la page uniquement.
Obtenir le lien permanent de la fonction de titre de la page WordPress
Copiez et collez la fonction suivante dans votre fichier functions.php :
// get permalink by title function get_page_permalink_from_name($page_name) { global $post; global $wpdb; $pageid_name = $wpdb->get_var("SELECT ID FROM $wpdb->posts WHERE post_title="" . $page_name . "" LIMIT 0, 1"); return get_permalink($pageid_name); }
Utilisez maintenant la méthode suivante pour renvoyer le lien permanent du nom de page souhaité :
<?php echo get_page_permalink_from_name('YOUR PAGE NAME'); ?>