Actualités WEB et WordPress, thèmes, plugins. Ici, nous partageons des conseils et les meilleures solutions de sites Web.

Ajouter un paramètre de permalien personnalisé pour votre type de publication personnalisé dans WordPress

12

Ceci est un tutoriel sur la façon d’ajouter un paramètre personnalisé à la page d’administration de WordPress "Paramètres> Permaliens" pour définir le slug pour votre type de publication personnalisé. Si vous développez un thème ou un plugin pour d’autres qui a un type de publication personnalisé intégré, l’ajout de ce paramètre sera apprécié par son utilisateur pour lui permettre de décider de la structure d’URL du type de message personnalisé.

Je ne détaillerai pas comment ajouter un type de message personnalisé ; si vous n’êtes pas sûr, je vous recommande de jeter un œil à la façon d’ajouter un type de publication personnalisé.

Supposons que vous ayez un code pour enregistrer votre type de publication personnalisé comme celui-ci :

La partie qui nous intéresse est l’ rewriteargument. C’est ici que nous définissons quel slug le type de message obtiendra devant tous ses messages. Votre code pour enregistrer un type de message personnalisé peut être légèrement différent, par exemple sans ‘ with_front‘, mais ce qui nous intéresse ici est ‘ slug‘ :

Avec ce code, vous codez pratiquement en dur ce que sera le slug de permalien des messages. Un type de publication pour les références peut être utilisé pour de nombreux types d’utilisateurs de contenu et de thème ; par exemple, projet, portefeuille, références clients, références d’entreprise, etc. Pour rendre votre thème flexible, vous pouvez autoriser l’utilisateur du thème à décider lui-même du slug du type de publication.

Voyons donc comment procéder !

Ajouter et enregistrer le champ

L’utilisation de l’API Paramètres de WordPress simplifie quelque peu cela pour nous. Tout ce dont nous avons besoin est d’ajouter un champ de paramètres et d’indiquer à WordPress sur quelle page d’administration nous voulons qu’il soit affiché – dans notre cas, la page de paramètres des permaliens. Gardez à l’esprit que nous devons écrire une fonction qui enregistre également la valeur, ce que nous ferons à la fin.

Nous accrochons notre fonction au admin_initcrochet et enregistrons notre paramètre. Lorsque nous enregistrons un paramètre, nous définissons la fonction qu’il doit exécuter pour générer le paramètre :

add_action('admin_init', function() { add_settings_field('mytheme_reference_slug', __('References base', 'txtdomain'), 'mytest_reference_slug_output', 'permalink', 'optional'); });

Le quatrième argument de réglage indique [add_settings_field](https://developer.wordpress.org/reference/functions/add_settings_field/)()à 'permalink'WordPress d’ajouter le paramètre à la page Paramètres des permaliens. L’argument numéro trois est la fonction que WordPress doit exécuter lors de la sortie du paramètre – une fonction que nous définissons ensuite (en dehors de la fonction accrochée) :

Dans cette fonction, nous produisons simplement un texte de formulaire de base <input>. Pour son valueattribut, nous récupérons la valeur du paramètre en utilisant [get_option](https://developer.wordpress.org/reference/functions/get_option/)(). L’ placeholderattribut est facultatif, mais c’est une bonne pratique de mettre votre base de slug par défaut afin que l’utilisateur du thème sache s’il veut ou non modifier sa valeur.

Si vous enregistrez votre code et accédez à votre page WordPress Permaliens maintenant, vous devriez voir votre champ à la toute fin :

Ajouter un paramètre de permalien personnalisé pour votre type de publication personnalisé dans WordPress

Pour le moment, le paramètre n’enregistre pas sa valeur, c’est l’étape suivante.

Nous devons ajouter une autre fonction accrochée à admin_initcelle-ci qui vérifie si notre paramètre a été soumis ou non sous forme de structure de permalien. Et si c’est le cas, il devrait être enregistré avec [update_option](https://developer.wordpress.org/reference/functions/update_option/)().

add_action('admin_init', function() { if (isset($_POST['permalink_structure'])) { update_option('mytheme_reference_slug', trim($_POST['mytheme_reference_slug'])); } });

Lors de l’enregistrement des paramètres Permaliens, un formulaire est soumis, nous pouvons donc obtenir les valeurs via la $_POSTvariable globale de PHP. Les valeurs soumises à partir du formulaire sont stockées sous forme de tableau avec les attributs de nom de l’entrée en tant que clés. Dans notre cas, nous définissons un attribut de nom ‘ mytheme_reference_slug‘ sur notre entrée, afin que nous puissions accéder à la valeur soumise avec $_POST['mytheme_reference_slug'].

Maintenant, le paramètre devrait fonctionner pleinement dans la page Paramètres de permalien. La dernière partie consiste à attacher la valeur de ce paramètre à notre type de publication personnalisé.

Faire en sorte que notre type de message personnalisé utilise notre paramètre

Afin que notre type de publication personnalisé utilise la valeur personnalisée de notre paramètre, nous revenons à l’ register_post_type()appel de fonction et modifions l’ rewriteargument en quelque chose comme ceci :

Tout ce que nous faisons ici, c’est aller chercher la valeur de notre nouvelle option. S’il est vide, la valeur par défaut ('reference') sera utilisée.

Et c’est tout! Maintenant, votre type de message personnalisé utilisera la base de slug définie dans la page Paramètres des permaliens. Vous pouvez ajouter d’autres paramètres de la même manière, par exemple pour les taxonomies personnalisées.

Le code complet

Tous ensemble maintenant.

Source d’enregistrement: awhitepixel.com

This website uses cookies to improve your experience. We'll assume you're ok with this, but you can opt-out if you wish. Accept Read More