15 fonctions WordPress utiles que tous les développeurs devraient connaître
WordPress regorge d'excellentes fonctions que les développeurs peuvent utiliser. Nous pouvons extraire des listes de publication de toutes pièces, manipuler presque tout ce qui les concerne, saisir tout utilisateur souhaité et afficher ses connexions aux médias sociaux en un tournemain.
Il y a cependant pas mal de fonctions qui semblent être négligées pour des raisons inconnues. Je code avec WordPress depuis environ 8 ans et je trouve encore parfois quelque chose de nouveau! Jetons un coup d'oeil à certains de mes fonctions négligées préférées et apprendre à les utiliser en cours de route.
antispambot ()
Je lève généralement quelques sourcils avec celui-ci, il semble être l'une des fonctions les mieux cachées de la base de code.
remplace les caractères par des entités HTML, ce qui est un moyen de masquer les adresses e-mail des racleurs diaboliques.antispambot ()
$ email = '[email protected]'; echo 'Vous pouvez me contacter à'. antispambot ($ email). ' à tout moment'.
Bien qu’il s’agisse d’une friandise utile, c’est aussi un exemple de la raison pour laquelle certaines personnes critiquent WordPress - c’est une fonction horriblement nommée. En lisant le nom de la fonction, vous n’avez aucune idée de ce qu’elle fait..
human_time_diff ()
Lorsque j'ai découvert cette fonction pour la première fois il y a environ un an, j'ai pensé qu'il devait s'agir d'un ajout récent que j'avais oublié dans un journal des modifications. Pas assez…
Cette fonction - qui affiche la différence entre deux horodatages - existe depuis la version 1.5 (c'est-à-dire le 17 février 2018!).
Le grand extrait suivant que j'ai emprunté au codex montre depuis combien de temps un article en cours a été publié. Il utilise le date de publication de l'article en tant que premier argument et le date actuelle en seconde.
echo 'Ce message a été publié'. human_time_diff (get_the_time ('U'), current_time ('horodatage')). ' depuis';
get_post_meta ()
Ours avec moi ici, je sais que c'est une fonction bien utilisée, cependant, comment cela fonctionne est une connaissance pas si commun. Tout d’abord, en omettant les deuxième et troisième paramètres, vous pouvez extraire toutes les métadonnées d'un message.
$ all_meta = get_post_meta (14);
Même si vous ne récupérez les données que pour une seule clé, tous les messages postmeta sont néanmoins extraits..
La raison est en fait assez logique. Les métadonnées sont utilisées à plusieurs endroits. Si
interroge la base de données à chaque utilisation, nous aboutirions à beaucoup trop de requêtes. Au lieu de cela, si vous extrayez des métadonnées, il met tout en cache et utilise les valeurs mises en cache lors de toutes les extractions de métadonnées.get_post_meta ()
wp_upload_bits ()
Cette fonction est un straight-up fonction de téléchargement de fichier. Bien que le fichier ne soit pas déplacé vers le dossier de téléchargement et qu’il ne soit pas ajouté à la section média de WordPress, il est extrêmement pratique et vous pouvez toujours faire le reste avec le
une fonction.wp_insert_attachment ()
$ upload = wp_upload_bits ($ file ['nom'], null, contenu_fichier_fichier ($ file ['nom_mpc']));
Certaines explications sont à portée de main: le premier paramètre est le nom du fichier. La seconde est dépréciée, elle doit donc être définie sur null (eyeroll à la cohérence WordPress). Le troisième paramètre est le contenu réel du fichier.
get_post_field ()
Dans le passé, j'ai vu de nombreux exemples dans lesquels quelqu'un écrivait une boucle pour obtenir le nombre de commentaires d'un article ou écrivait une requête de base de données dédiée. Vous n'avez pas besoin d'eux, ce dont vous avez besoin c'est
. Cette fonction récupère la valeur d'un seul champ pour un seul post dans la base de données. Prenons un compte de commentaires!get_post_field ()
Ce post a commentaires.
wpautop ()
Cette fonction est un peu apparue, mais elle est encore relativement inconnue. C'est semblable au PHP natif nl2br
mais au lieu de créer de nouvelles lignes, il enveloppe votre contenu dans des paragraphes.
Ceci est utile si vous avez une zone de texte et que vous voulez vous assurer que lorsque les utilisateurs créent des paragraphes avec des doubles sauts de ligne, ils restent également visibles dans le frontal..
Que disent nos utilisateurs
wp_is_mobile ()
Cette fonction bien nommée détecte quand un utilisateur est sur un appareil mobile et vous permet d'afficher le contenu en conséquence. S'agissant d'une balise conditionnelle, la valeur renvoyée est true ou false selon le scénario..
Visitez notre site Web sur votre bureau pour une expérience utilisateur plus riche
wp_redirect ()
Le dernier exemple montre une autre fonction intéressante:
. Cela devrait être utilisé à la place du PHP natif wp_redirect ()
entête()
une fonction. La fonction de redirection WordPress vous permet de définir une URL vers laquelle rediriger, ainsi qu'un code d'état, idéal pour gérer les redirections permanentes ainsi.
// Pour une URL qui n'est plus utilisée wp_redirect ('http://website.com/new-url/', 301);
paginate_links ()
Je parie que cette fonction doit en partie son obscurité à la popularité du plugin WP-PageNavi. Par défaut WordPress affiche les liens précédents / suivants à la fin de votre liste de messages. WP-PageNavi remplace cela par des numéros de page.
Cela peut effectivement être fait avec un peu de travail en utilisant le
les fonctions. Il a pas mal de paramètres, je vous recommande donc de jeter un coup d’œil à la documentation.paginate_links ()
L'exemple suivant du codex montre comment vous pouvez l'ajouter à une boucle par défaut, mais l'ajouter à des boucles personnalisées n'est pas très compliqué..
global $ wp_query; $ big = 999999999; // besoin d'un nombre entier peu probable echo paginate_links (array ('base' => str_replace ($ big, '% #%', esc_url (get_pagenum_link ($ big))), 'format' => '? paged =% #%' , 'current' => max (1, get_query_var ('paged')), 'total' => $ wp_query-> max_num_pages));
wp_die ()
Cette fonction complète le PHP mourir()
une fonction. La différence est que cette fonction affiche un code HTML de style WordPress au lieu d'un texte brut. Vous pouvez utiliser cette fonction pour arrêter l'exécution de PHP. Vous pouvez ajouter le message, le titre et les arguments supplémentaires à afficher, par exemple:
wp_die ("Oups, vous n'avez pas accès à", "Permission Denied");
has_block ()
Dans la version 5.0, WordPress a introduit un éditeur basé sur des blocs, nommé Gutenberg. Cette fonction identifiera si le contenu contient un Gutenberg, tout à fait pareil avec le has_shortcode ()
une fonction. Ça va revenir vrai
si le contenu contient un bloc, ou faux
si ça ne fait pas.
wp_set_script_translations ()
Étant donné que de nombreuses parties de l'interface utilisateur de WordPress vont passer à JavaScript, il est nécessaire de disposer d'un moyen pratique pour enregistrer des textes traduisibles dans le langage JavaScript que WordPress pourrait analyser et comprendre. Utilisez cette fonction pour définir des chaînes traduites pour vos scripts. En voici un exemple:
wp_enqueue_script ('mon-script', plugins_url ('js / mon-script.js', __FILE__)); wp_set_script_translations ('mon-script', 'mu-text-domain');
register_block_type ()
Une autre fonction importante dans WordPress 5.0. Cette fonction vous permet d’enregistrer un nouveau bloc dans le nouvel éditeur WordPress. Votre bloc apparaîtra dans le nouvel éditeur et l'insérera .
register_block_type ('mon-plugin / new-block', array ('title' => 'Nouveau bloc', 'icon' => 'mégaphone', 'category' => 'widgets', 'render_callback' => 'render_function_callback' ,));
rest_do_request ()
Cette fonction vous permet d’appeler des points de terminaison API WordPress REST via PHP. Très utile lorsque vous devez extraire une sortie de l'API REST afin de traiter celle que vous allez traiter davantage du côté de PHP que du côté du navigateur (front-end).
$ request = new WP_REST_Request ('GET', "/ wp / v2 / posts"); $ request-> set_header ('X-WP-Nonce', wp_create_nonce ('wp_rest')); $ response = rest_do_request ($ request); $ data = 200 === $ response-> get_status ()? $ response-> get_data (): [];
rest_preload_api_request ()
Lors de la création d'une interface utilisateur JavaScript lourde dans WordPress, un ensemble de données initiales est généralement chargé dans la page. C'est la fonction qui vous permettra de le faire. Cette fonction est destinée à être utilisée conjointement avec le array_reduce
, par exemple.
// précharge les données communes. $ preload_paths = array ('/', '/ wp / v2 / types? context = edit', '/ wp / v2 / taxonomies? per_page = -1 & context = edit', '/ wp / v2 / themes? status = actif' ,); preload_data = array_reduce ($ preload_paths, 'rest_preload_api_request', array ()); wp_add_inline_script ('wp-api-fetch', sprintf ('wp.apiFetch.use (wp.apiFetch.createPreloadingMiddleware (% s));', wp_json_encode ($ preload_data)), 'après');
Conclusion
Ce ne sont que quelques fonctions qui semblent moins connues que les autres. Je découvre une nouvelle fonction tous les deux mois environ et je suis sûr que mes amis développeurs pourraient nous surprendre encore plus.
Si vous avez une fonction obscure favorite ou une fonction qui serait utile mais qui n’est pas disponible, faites-le nous savoir dans les commentaires.!