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 portefeuille (qui est basée sur un modèle de page) dans une liste déroulante dans le panneau d’administration afin qu’elle s’affiche. dans le fil d’Ariane des publications à portefeuille unique. Quelque chose qui est excellent pour la convivialité et le référencement, mais un peu difficile à faire.

Fondamentalement, je dois stocker toutes les pages WordPress dans un tableau, puis permettre à l’utilisateur d’en sélectionner une facilement dans une liste déroulante. Le problème est que lorsqu’un utilisateur en sélectionne une, la sortie de cette option devient le titre de la page et non l’URL, le slug ou l’ID. Alors en faisant une petite recherche sur Google, je suis tombé sur une jolie petite fonction et je l’ai un peu modifiée pour vous permettre d’obtenir le lien permanent de n’importe quelle page en fonction du titre de la page uniquement.

Obtenir le lien permanent à partir de la fonction de titre de 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);
}

Maintenant, utilisez la méthode suivante pour renvoyer le permalien du nom de page souhaité:

<?php echo get_page_permalink_from_name('YOUR PAGE NAME'); ?>

Share: