Conseil rapide! 9 extraits de code WordPress utiles (que vous devriez vraiment savoir!)

Voici quelques extraits de code courts mais pratiques qui pourraient vous faciliter la vie en tant que développeur WordPress. Nous allons couvrir un peu de tout, de la suppression automatique des publications à la suppression rapide de la vignette d'une publication en passant par la redirection des utilisateurs une fois connectés. Ouvrez votre programme de remplacement de texte et préparez-vous à l'ajout quelques nouveaux raccourcis!

Nous allons commencer avec quelques simples lignes simples.


1. Masquer la barre de tableau de bord frontal

Depuis la v3.1, WordPress fournit une barre d’administration frontale à tous les utilisateurs. En fonction de votre intention, cela peut nuire à l'apparence de votre site. Pour le désactiver, utilisez la fonction show_admin_bar:

 show_admin_bar (FALSE);

Vous pouvez également désactiver cela à partir de votre profil utilisateur, mais cela est particulièrement utile si vous avez une tonne d'auteurs / membres sur le site et que vous devez désactiver complètement la barre..


2. Vider automatiquement les messages supprimés

Les messages supprimés peuvent s'accumuler si vous oubliez de les supprimer définitivement. Utilisez ce code dans /wp-config.php pour vider vos messages supprimés:

 define ('EMPTY_TRASH_DAYS', 5);

3. Activer le débogueur interne WordPress

Lorsque vous développez, vous devez voir les erreurs que votre code génère. Gardez à l'esprit que toutes les erreurs n'empêchent pas l'exécution d'un script, mais il s'agit néanmoins d'erreurs et elles peuvent avoir des effets étranges sur votre autre code. Alors, activez le débogage WordPress en le plaçant dans votre /wp-config.php:

 define ('WP_DEBUG', TRUE);

Vous pouvez être surpris par ce que vous voyez dans le pied de page. N'oubliez pas de désactiver le débogage lorsque votre site est prêt à être rendu public. Les informations de débogage peuvent être utiles aux pirates.


4. Rediriger les utilisateurs après leur connexion

Lorsqu'un utilisateur se connecte, il est normalement envoyé directement à son tableau de bord. Ce n'est peut-être pas l'expérience que vous souhaitez que vos utilisateurs aient. Le code suivant utilise le filtre login_redirect pour rediriger les non-administrateurs vers la page d'accueil:

 add_filter ("login_redirect", "subscriber_login_redirect", 10, 3); fonction subscriber_login_redirect ($ redirect_to, $ request, $ utilisateur) if (is_array ($ utilisateur-> rôles)) if (in_array ('administrateur', $ utilisateur-> rôles)) retourne home_url ('/ wp-admin /' )  return home_url (); 

En fonction du rôle de l'utilisateur, vous pouvez les envoyer vers la page de votre choix.


5. Afficher une vignette de publication par défaut

Depuis la version 1.9, WordPress fournissait une option de publication d’image miniature, tout comme les images que vous voyez ici sur wp.tutsplus. Sur la page de l'article d'administration, cela s'appelle "Image en vedette". Mais si vous n'avez pas d'image pour votre message, vous pouvez simplement appeler une image par défaut.

Dans la boucle:

 if (has_post_thumbnail ()) the_post_thumbnail ();  else echo ''; 
  • vérifier si le post a une miniature avec has_post_thumbnail
  • si c'est le cas, affichez-le avec the_post_thumbnail ()
  • sinon, générez une balise img pour votre vignette par défaut

Vous pouvez même avoir un tas d'images par défaut et en choisir une au hasard


6. Afficher "Time Ago" Post Time pour les messages et les commentaires

Au lieu de: Publié le 12 octobre 2011, nous pouvons avoir: Publié il y a 2 jours.

Tel qu'utilisé dans la boucle:

 echo human_time_diff (get_the_time ('U'), current_time ('horodatage')). ' depuis';
  • human_time_diff () convertit une valeur d'horodatage en un formulaire convivial
  • get_the_time () obtient l'heure à laquelle la publication a été faite. Le paramètre 'U' prend la valeur sous forme d'horodatage Unix.
  • current_time () obtient l'heure actuelle, avec le paramètre 'timestamp', la valeur sous forme d'horodatage Unix

Utilisez-le aussi sur les commentaires:

 echo human_time_diff (get_comment_time ('U'), current_time ('horodatage')). ' depuis';

Ou peut-être afficher la date / heure régulière de la publication uniquement s'il y a plus d'une semaine, sinon indiquez l'heure il y a:

 $ time_diff = current_time ('timestamp') - get_the_time ('U'); if ($ time_diff < 604800)//seconds in a week = 604800 echo 'Posted ' . human_time_diff(get_the_time('U'), current_time('timestamp')) . ' ago'; else echo 'Posted on ' . get_the_date() . ', ' . get_the_time(); ;

7. Style Post Auteur commentaires différemment

Il est agréable pour les utilisateurs de savoir quand l'auteur d'un article fait un commentaire sur l'article, comme nous le faisons ici sur wp.tutsplus. Tout ce que nous avons à faire est d’ajouter une classe à l’enveloppe de commentaire, puis de la styler dans le thème..

Pour trouver les commentaires de l'auteur du message, nous utilisons ce code pour générer un nom de classe:

 if ($ comment-> user_id == get_the_author_meta ('ID')) echo '
'; else echo '
';

Nous comparons l'ID utilisateur du commentaire avec l'ID auteur de l'article de get_the_author_meta. S'ils correspondent, nous renvoyons à une classe de author_comment que nous pourrons styler avec css.


8. Afficher les informations utilisateur, publier et commenter pour votre site WordPress

Vous pouvez interroger directement votre base de données WordPress pour afficher des informations pratiques sur le site. Mettez cette fonction dans votre functions.php et appelez-la n’importe où dans vos fichiers de modèle avec get_site_data ()

 function get_site_data () global $ wpdb; $ utilisateurs = $ wpdb-> get_var ("SELECT COUNT (ID) FROM $ wpdb-> utilisateurs"); $ posts = $ wpdb-> get_var ("SELECT COUNT (ID) FROM $ wpdb-> posts WHERE post_status = 'publish'"); $ comments = $ wpdb-> get_var ("SELECT COUNT (comment_ID) FROM $ wpdb-> comments"); écho '

'. $ utilisateurs. "membres ont fait". $ commentaires. 'commentaires dans'. $ posts. ' des postes

';

C’est mieux que d’appeler certaines des fonctions natives de WordPress car il compte tous les types d’affichage et uniquement les articles actuellement publiés.


9. Ajouter un fichier JavaScript correctement

WordPress nous donne la fonction wp_enqueue_script afin que nous puissions ajouter des scripts en toute sécurité.

Supposons que nous ayons un répertoire de scripts sous notre répertoire de modèles et que nous ayons un script appelé do_stuff.js. Nous avons donc url_to_template_dir / scripts / do_stuff.js

Incluons notre script de la bonne façon. Cela doit être inclus avant l'appel wp_head dans votre fichier d'en-tête:

 $ script_url = get_template_directory_uri (). '/scripts/do_stuff.js'; wp_enqueue_script ('do_stuff', $ script_url);

Ici, nous concaténons notre chemin et notre nom de script dans la sortie de la fonction get_template_directory_uri de WordPress. Nous mettons ensuite le script en file d'attente en fournissant un descripteur (pour référence ultérieure éventuelle) et l'URL de notre script. WordPress va maintenant inclure notre script dans chaque page.

Le vrai avantage de tout cela est que, disons que notre script do_stuff était un script jQuery, nous aurions également besoin de charger jQuery.

Maintenant, jQuery est inclus par défaut dans WordPress et a été préenregistré avec le descripteur jquery. Il suffit donc de mettre en file d'attente notre jQuery, puis notre fichier do_stuff.js, comme ceci:

 wp_enqueue_script ('jquery'); $ script_url = get_template_directory_uri (). '/scripts/do_stuff.js'; wp_enqueue_script ('do_stuff', $ script_url, array ('jquery'));

Notez le troisième paramètre de wp_enqueue_script pour do_stuff: il indique à WordPress que notre script do_stuff dépend du fichier avec le descripteur jquery. Ceci est important car cela signifie que jquery sera chargé avant do_stuff. En fait, vous pouvez avoir les instructions de mise en file d'attente dans l'ordre inverse et cela n'a pas d'importance, car définir les dépendances d'un script permet à WordPress de placer les scripts dans le bon ordre de chargement afin qu'ils fonctionnent parfaitement ensemble..