29 Tweaks WordPress pour améliorer les messages et les pages
Nous adorons WordPress - mais nous ne sommes pas tous prêts à régler tous les paramètres et affichages par défaut - en particulier la façon dont les messages sont affichés. Comme on nous a enseigné que l'unicité a de l'importance pour l'image de marque d'un site Web, les blogueurs et les développeurs se sont efforcés de peaufiner l'affichage de la publication afin de la rendre aussi unique que possible.
Aujourd'hui, nous allons nous concentrer sur les réglages intelligents que vous pouvez effectuer pour améliorer votre affichage de poste WordPress. Que vous cherchiez à modifier votre affichage pour améliorer l'expérience utilisateur ou pour augmenter vos revenus ou impressions de pages, il existe probablement un moyen de le faire sans plugin. La plupart des extraits répertoriés ici sont faciles à implémenter, la plupart du temps. besoin de copier et coller le code fourni.
J'espère que vous trouverez ces tweaks utiles pour vos projets, profitez de la personnalisation!
L'extrémité avant
1. Modifier la longueur de votre extrait
Le tweak ci-dessous va modifier la longueur de votre extrait, que vous pouvez simplement ajouter les lignes de code suivantes dans votre fichier functions.php, avec la valeur 75 comme longueur d'extrait.
add_filter ('excerpt_length', 'my_excerpt_length'); function my_excerpt_length ($ len) {return 75; }
[Source: Danny van Kooten]
2. Le style Twitter "il y a longtemps" dates
La plupart des gens ne savent pas que WordPress a une fonction intégrée pour afficher la date en utilisant le format "Time Ago", et l'extrait ci-dessous peut être collé n'importe où dans la boucle pour afficher la date avec le format.
Publié[Source: extraits de PHP]
3. Afficher la vignette de publication dans votre flux RSS
Introduite dans WordPress 2.9, la fonction
the_post_thumbnail()
est très utile pour ajouter et afficher une vignette attachée à un article. Les mauvaises nouvelles sont qu'il n'y a pas de méthode intégrée pour afficher la vignette dans votre flux RSS. La fonction ci-dessous résoudra ce problème. Collez-le simplement dans votre fichier functions.php, enregistrez-le et la vignette de publication s'affichera automatiquement dans votre flux RSS.// afficher les vignettes de messages dans les flux function diw_post_thumbnail_feeds ($ content) {global $ post; if (has_post_thumbnail ($ post-> ID)) {$ content = ''. get_the_post_thumbnail ($ post-> ID). ''. $ content; } return $ content;} add_filter ('the_excerpt_rss', 'diw_post_thumbnail_feeds'); add_filter ('the_content_feed', 'diw_post_thumbnail_feeds');[Source: Creuser dans WordPress]
4. Limiter la recherche pour publier des titres seulement
Vous pouvez ajouter cet extrait dans le fichier functions.php de vos thèmes WordPress pour limiter la recherche à la publication de titres uniquement.
function __search_by_title_only ($ search, & $ wp_query) {if (vide ($ recherche)) return $ recherche; // ignorer le traitement - aucun terme de recherche dans la requête $ q = & $ wp_query-> query_vars; // wp-includes / query.php ligne 2128 (version 3.1) $ n =! empty ($ q ['exact'])? '': '%'; $ searchand = ''; foreach ((tableau) $ q ['search_terms'] comme $ term) {$ term = esc_sql (like_escape ($ term)); $ search. = "{$ searchand} ($ wpdb-> posts.post_title LIKE '{$ n} {$ terme} {$ n}')"; $ searchand = 'ET'; } $ term = esc_sql (like_escape ($ q ['s'])); if (vide ($ q ['phrase']) && count ($ q ['search_terms'])> 1 && $ q ['search_terms'] [0]! = $ q ['s']) $ search. = "OR ($ wpdb-> posts.post_title LIKE '{$ n} {$ terme} {$ n}')"; if (! empty ($ search)) {$ search = "AND ({$ recherche})"; if (! is_user_logged_in ()) $ search. = "AND ($ wpdb-> posts.post_password = '')"; } return $ search; } add_filter ('posts_search', '__search_by_title_only', 10, 2);[Source: WpSnipp]
5. Afficher un numéro incrémenté sur chaque message
Le tweak ci-dessous vous permettra d'afficher un nombre croissant sur chaque publication, et l'implémenter est assez simple. Tout d'abord, collez la fonction suivante dans votre fichier functions.php :
function updateNumbers () {global $ wpdb; $ querystr = "SELECT $ wpdb-> messages. * FROM $ wpdb-> messages WHERE $ wpdb-> posts.post_status = 'publier' ET $ wpdb-> posts.post_type = 'post'"; $ pageposts = $ wpdb-> get_results ($ querystr, OBJECT); $ counts = 0; if ($ pagesposts): foreach ($ pagesposts comme $ post): setup_postdata ($ post); $ compte ++; add_post_meta ($ post-> ID, 'incr_number', $ count, true); update_post_meta ($ post-> ID, 'incr_number', $ nombre); endforeach; fin si; } add_action ('publish_post', 'updateNumbers'); add_action ('deleted_post', 'updateNumbers'); add_action ('edit_post', 'updateNumbers');Une fois que vous avez terminé, vous pouvez afficher le numéro de poste avec le code suivant. Notez qu'il doit être utilisé dans la boucle.
ID, 'incr_number', true); ?>[Source: Alchymyth, via WpRecipes]
6. Exclure la publication du flux WordPress
Vous souhaitez exclure certains messages de votre flux? Voici le tweak pour vous. Veuillez noter que vous ne devez filtrer que l'endroit où vous souhaitez filtrer. dans notre exemple, il est dans notre flux
$wp_query->is_feed
. Si vous ne l'avez pas fait, le filtre fonctionnera également dans votre backend et ces messages ne seront pas affichés dans la vue d'ensemble de la publication.La fonction a deux paramètres. Vous donnez au premier paramètre
$where
une extension de la chaîne SQL, qui prendra en charge le filtrage basé sur l' ID . Ensuite, entre les parenthèses vous devez insérer les identifiants des messages, que vous aimez filtrer.fonction fb_post_exclude ($ where, $ wp_query = NULL) {global $ wpdb; if (! $ wp_query) globale $ wp_query; if ($ wp_query-> is_feed) {// exclut le poste avec l'identifiant 40 et 9 $ où. = "AND $ wpdb-> posts.ID NOT IN (40, 9)"; } return $ où; } add_filter ('posts_where', 'fb_post_exclude', 1, 2);[Source: Ingénieur WP]
7. Rediriger vers la publication lorsque la requête de recherche renvoie un résultat unique
Placez cet extrait dans le fichier functions.php de votre thème WordPress pour rediriger automatiquement votre recherche vers le message lorsque WordPress ne renvoie qu'un seul résultat de recherche.
add_action ('template_redirect', 'single_result'); function single_result () {if (est_recherche ()) {global $ wp_query; if ($ wp_query-> post_count == 1) {wp_redirect (get_permalink ($ wp_query-> messages ['0'] -> ID)); }}}[Source: WpSnipp]
8. Créer automatiquement une méta description à partir de the_content
Ajouter cet extrait dans le fichier functions.php de votre thème WordPress crée automatiquement une méta description à partir de votre article WordPress, en supprimant tous les shortcodes et tags. Assurez-vous également que vous l'avez dans le header.php de votre thème WordPress ou cet extrait ne fonctionnera pas.
function create_meta_desc () {global $ post; if (! is_single ()) {return; } $ meta = strip_tags ($ post-> post_content); $ meta = strip_shortcodes ($ post-> post_content); $ meta = str_replace (array ("\ n", "\ r", "\ t"), '', $ meta); $ meta = substr ($ meta, 0, 125); écho " ";} add_action ('wp_head', 'create_meta_desc');[Source: WpSnipp]
9. Remplacer automatiquement les mots par des liens d'affiliation
Pour remplacer automatiquement les mots par des liens affiliés, collez simplement le code ci-dessous dans votre fichier functions.php . N'oubliez pas d'entrer vos mots / liens comme indiqué dans l'exemple de code ci-dessous.
function replace_text_wps ($ text) {$ replace = array (// 'MOT DE REMPLACER' => 'REMPLACEZ LE MOT PAR CETTE' 'thèse' => ' ', 'studiopress' => ' '); $ text = str_replace (array_keys ($ replace), $ replace, $ text); return $ text; } add_filter ('the_content', 'replace_text_wps'); add_filter ('the_excerpt', 'replace_text_wps');[Source: catswhoblog.com]
10. Ajoutez le lien permanent "Lire la suite" à la fin de l'extrait
L'ajout de cet extrait ci-dessous dans le fichier functions.php de votre thème WordPress ajoutera un lien permanent "lire plus" à la fin de l'
the_excerpt
, à la manière de cethe_content
faitthe_content
.function excerpt_readmore ($ more) {return '... '. 'Lire la suite' . ' '; } add_filter ('excerpt_more', 'excerpt_readmore');[Source: WpSnipp]
11. Afficher les publications associées sans plug-in
L'installation du code ci-dessous fera en sorte que votre site WordPress affichera les messages associés en fonction de la balise (s) actuelle (s). Vous devez le placer à l'intérieur de single.php, ou simplement n'importe où vous voulez montrer les messages liés.
ID); if (balises $) {$ tag_ids = array (); foreach ($ tags comme $ individual_tag) $ tag_ids [] = $ individual_tag-> term_id; $ args = array ('tag__in' => $ tag_ids, 'post__not_in' => tableau ($ post-> ID), 'showposts' => 5, // Nombre de messages associés qui seront affichés. 'caller_get_posts' => 1 ); $ my_query = new wp_query ($ args); if ($ my_query-> have_posts ()) {echo 'Articles Similaires
- '; while ($ my_query-> has_posts ()) {$ my_query-> the_post (); ?> '; }}?>
[Source: Bin-Co]
12. Créez vos propres messages populaires dans la barre latérale
Configurer un widget de barre latérale pour afficher les messages populaires est très facile. Il suffit de copier et coller le code ci-dessous dans votre fichier sidebar.php . Si vous avez besoin de changer le nombre de messages affichés, vous pouvez changer le 5 à la fin de la ligne 3 en n'importe quel nombre que vous préférez.
Messages populaires
- get_results ("SELECT commentaire_count, ID, post_title FROM $ wpdb-> messages ORDER BY comment_count DESC LIMIT 0, 5"); foreach ($ result en $ post) {setup_postdata ($ post); $ postid = $ post-> ID; $ title = $ post-> post_title; $ commentcount = $ post-> commentaire_count; if ($ commentcount! = 0) {?>
- { }
[Source: Conception de blog pro]
13. Définir la date d'expiration de la publication
Voici un code utile que vous pouvez mettre dans vos thèmes WordPress pour permettre la création de post-expiration en fonction de la date et de l'heure. Modifiez votre thème et remplacez votre boucle WordPress actuelle par cette boucle "hackée":
$ expirationtime = get_post_custom_values ('expiration'); if (is_array ($ expirationtime)) {$ expirestring = implode ($ expirationtime); } $ secondesbetween = strtotime ($ expirestring) -time (); if ($ secondsbetween> 0) {// Par exemple ... the_title (); the_excerpt (); } endwhile; fin si; ?>
Pour créer un message avec une date / heure d'expiration, vous pouvez simplement créer un champ personnalisé. Donnez l' expiration comme une clé et votre date / heure (format: mm / jj / aaaa 00:00:00 ) comme valeur. Le message ne s'affichera pas après cet horodatage particulier.
[Source: WpRecipes]
14. Liste des futurs messages
WordPress permet de répertorier les prochains articles, et pour réaliser cette fonctionnalité, il suffit de coller le code là où vous souhaitez que les posts suivants s'affichent:
Événements à venir
Aucun événement futur prévu.
[Source: WpRecipes]
15. Afficher AdSense aux visiteurs des moteurs de recherche uniquement
Il est possible d'afficher AdSense aux visiteurs à partir des résultats des moteurs de recherche, et voici le code pour y parvenir, il suffit de coller le code ci-dessous dans le fichier functions.php du thème.
fonction scratch99_fromasearchengine () {$ ref = $ _SERVER ['HTTP_REFERER']; $ SE = array ('/ search?', 'Images.google.', 'Web.info.com', 'recherche', 'del.icio.us/search', 'soso.com', '/ recherche / ', ' .yahoo. '); foreach ($ SE comme source $) {if (strpos ($ ref, $ source)! == false) return true; } return false; }
$SE
tableau $SE
est l'endroit où vous spécifiez les moteurs de recherche. Vous pouvez ajouter un nouveau moteur de recherche en ajoutant un nouvel élément au tableau, puis coller le code suivant n'importe où dans le modèle où vous souhaitez que vos annonces AdSense soient affichées, et c'est fait! Les annonces seront uniquement affichées aux visiteurs à partir des résultats des moteurs de recherche.
if (function_exists ('scratch99_fromasearchengine')) {if (scratch99_fromasearchengine ()) {INSEREZ VOTRE CODE ICI}}
[Source: Scratch99, via WpRecipes]
Back End
1. Autoriser plus de balises HTML dans l'éditeur
Par défaut, l'éditeur WordPress n'autorise pas les balises HTML qui ne sont pas conformes à la norme XHTML 1.0. Cependant, le code ci-dessous forcera l'éditeur à accepter plus de tags. Vous pouvez le coller dans le fichier functions.php de votre thème, l'enregistrer, et la fonction est bonne à faire.
function fb_change_mce_options ($ initArray) {// Chaîne séparée par une chaîne od étend les balises // Chaîne séparée par une chaîne d'éléments étendus $ ext = 'pre [id | nom | classe | style], iframe [align | longdesc | nom | largeur | hauteur | frameborder | scrolling | margeheight | marge largeur | src] '; if (isset ($ initArray ['extended_valid_elements'])) {$ initArray ['extended_valid_elements']. = ', '. $ ext; } else {$ initArray ['extended_valid_elements'] = $ ext; } // peut être; définir un petit paramètre verify_html // $ initArray ['verify_html'] = false; return $ initArray; } add_filter ('tiny_mce_before_init', 'fb_change_mce_options');
[Source: Ingénieur WP]
2. Définir l'éditeur par défaut
L'extrait ci-dessous modifie l'éditeur par défaut dans l'admin WordPress. Vous pouvez aller avec l' éditeur visuel, ou vous pouvez choisir l' éditeur HTML, il suffit d'ajouter l'un d'entre eux dans le fichier functions.php .
# Ceci définit l'éditeur visuel par défaut add_filter ('wp_default_editor', create_function ('', 'return' tinymce ';')); # Ceci définit l'éditeur HTML par défaut add_filter ('wp_default_editor', create_function ('', 'return' html ';'));
[Source: WP-Snippets]
3. Définir des feuilles de style d'éditeur différentes pour différents types de publication
Avec le code suivant collé dans votre fichier functions.php, vous pouvez configurer différentes feuilles de style d'éditeur pour différents types de publication. Vous devrez l'adapter, en fonction de vos types de publication, et n'oubliez pas de changer les noms des feuilles de style .
function my_editor_style () {global $ current_screen; switch ($ current_screen-> post_type) {case 'post': add_editor_style ('editor-style-post.css'); Pause; case 'page': add_editor_style ('editor-style-page.css'); Pause; case 'portfolio': add_editor_style ('editor-style-portfolio.css'); Pause; }} add_action ('admin_head', 'my_editor_style');
[Source: WPStorm]
4. autoriser le téléchargement de plus de types de fichiers
Pour certaines raisons, WordPress Uploader ne vous permet pas de télécharger certains types de fichiers, tels que .tmCommand de Textmate . Si vous avez besoin de télécharger ces types de fichiers sur votre site WordPress, voici un extrait fonctionnel qui vous permet de le faire, et vous avez juste besoin de le coller dans votre fichier functions.php . Vous pouvez également ajouter d'autres types de fichiers en les ajoutant à la ligne 4, séparés par un tube (|).
'application / octet-stream')); retour $ mimes; }?> add_filter ('upload_mimes', 'addUploadMimes');
[Source: pioupioum.fr, via WpRecipes]
5. Activer l'éditeur TinyMCE pour poster the_excerpt
Mettre l'extrait suivant dans le fichier functions.php de votre thème WordPress ajoutera l'éditeur TinyMCE à la zone de texte de l'extrait.
Fonction tinymce_excerpt_js () {?>[Source: WpSnipp]
6. Post-formats - façons plus créatives pour un thème
La syntaxe ci-dessous donne quelques-uns des formats de post possibles qui peuvent ensuite être choisis et utilisés directement dans l'article, et ce que vous devez faire est de mettre le code dans votre fichier functions.php de votre thème.
add_theme_support ('post-formats', array ('aside', 'audio', 'image', 'video'));[Source: Ingénieur WP]
7. Afficher la vignette de la publication également dans Modifier la publication et la page
WordPress version 2.9 a présenté la fonction de Post Thumbnail. C'est tout à fait génial, et pour afficher la vignette de publication aussi dans Modifier la publication et Aperçu de la page, vous pouvez placer le code suivant dans un Plugin ou les copier dans le fichier functions.php du thème.
if (! function_exists ('fb_AddThumbColumn') && function_exists ('add_theme_support')) {// pour la publication et la page add_theme_support ('post-thumbnails', array ('post', 'page')); fonction fb_AddThumbColumn ($ cols) {$ cols ['thumbnail'] = __ ('Vignette'); retourne $ cols; } function fb_AddThumbValue ($ column_name, $ post_id) {$ width = (int) 35; $ height = (int) 35; if ('thumbnail' == $ nom_colonne) {// miniature de WP 2.9 $ thumbnail_id = get_post_meta ($ post_id, '_thumbnail_id', true); // image de la galerie $ attachments = get_children (array ('post_parent' => $ post_id, 'post_type' => 'attachment', 'post_mime_type' => 'image')); if ($ thumbnail_id) $ thumb = wp_get_attachment_image ($ vignette_id, tableau ($ largeur, $ hauteur), true); elseif ($ attachments) {foreach ($ pièces jointes comme $ attachment_id => $ pièce jointe) {$ thumb = wp_get_attachment_image ($ attachment_id, array ($ largeur, $ hauteur), true); }} if (isset ($ thumb) && $ thumb) {echo $ thumb; } else {echo __ ('Aucun'); }}} // pour les posts add_filter ('manage_posts_columns', 'fb_AddThumbColumn'); add_action ('manage_posts_custom_column', 'fb_AddThumbValue', 10, 2); // pour les pages add_filter ('manage_pages_columns', 'fb_AddThumbColumn'); add_action ('manage_pages_custom_column', 'fb_AddThumbValue', 10, 2); }[Source: Ingénieur WP]
8. Créez des messages d'état de message personnalisés dans l'administrateur
Ce tweak a été écrit à l'origine par le développeur comme un moyen pour un client d'afficher des messages personnalisés pour chaque poste créé par un auteur. Dans ce cas, un message peut contenir un message comme rejeté, erreur, source, final, etc. Vous pouvez modifier les messages juste en dessous du commentaire du code, Tableau de messages d'état personnalisé, juste pour vous assurer que vous avez également changé les noms de classe, vous pouvez les changer après le commentaire, changer la couleur des messages ci-dessous .
add_filter ('display_post_states', 'custom_post_state'); function custom_post_state ($ states) {global $ post; $ show_custom_state = get_post_meta ($ post-> ID, '_status'); '); if ($ show_custom_state) {$ states [] = __ (' '. $ show_custom_state [0]. ' '); } return $ states; } add_action ('post_submitbox_misc_actions', 'custom_status_metabox'); function custom_status_metabox () {global $ post; $ custom = get_post_custom ($ post-> ID); $ status = $ custom ["_ status"] [0]; $ i = 0; / * ----------------------------------- * / / * Tableau de messages d'état personnalisés * / / * ----------------------------------- * / $ custom_status = array ('Orthographe', 'Revoir', 'Erreurs', 'Source', 'Rejeté', 'Final', ); écho ''; echo ' '; écho ''; } add_action ('save_post', 'save_status'); function save_status () {global $ post; if (defined ('DOING_AUTOSAVE') && DOING_AUTOSAVE) {return $ post-> ID; } update_post_meta ($ post-> ID, "_status", $ _POST ["status"]); } add_action ('admin_head', 'status_css'); function status_css () {echo ' '; }[Source: WpSnipp]
9. Définir la longueur maximale du titre de publication
L'ajout de ce code PHP dans le fichier functions.php de votre thème WordPress définira un nombre maximal de mots qui peuvent être affichés dans votre titre de poste, des ajustements très pratiques!
Fonction maxWord ($ title) {global $ post; $ title = $ post-> post_title; if (str_word_count ($ title)> = 10) // définit le nombre maximal de mots wp_die (__ ('Erreur: le titre de votre article dépasse le nombre maximal de mots.')); } add_action ('publish_post', 'maxWord');[Source: WpSnipp]
10. Comment changer la police de l'éditeur WordPress
Vous détestez la police actuelle utilisée dans l'éditeur WordPress? Il est possible de changer de police moderne comme Monaco ou Consolas, il suffit de coller le code dans le fichier functions.php de votre thème WordPress.
function change_editor_font () {echo " ";} add_action (" admin_print_styles ", " change_editor_font ");[Source: shailan.com, via WpRecipes]
11. Ajout automatique d'un champ personnalisé à la publication de publication / page
Un extrait de code pour l'installation automatique d'un champ personnalisé sur une page ou un post lorsqu'ils sont publiés. Vous pouvez simplement ajouter le code ci-dessous dans votre fichier functions.php, situé dans le dossier de votre thème. Bien sûr, n'oubliez pas de changer le nom du champ personnalisé .
add_action ('publish_page', 'add_custom_field_automatically'); add_action ('publish_post', 'add_custom_field_automatically'); function add_custom_field_automatically ($ post_ID) {global $ wpdb; if (! wp_is_post_revision ($ post_ID)) {add_post_meta ($ post_ID, 'nom-champ', 'valeur personnalisée', true); }}[Source: wpCanyon]
12. Débarrassez-vous des révisions de poste inutilisées
Voici une requête SQL très pratique qui va supprimer instantanément toutes les révisions de messages ainsi que les méta qui y sont associées. Vous devez exécuter la requête suivante sur votre base de données WordPress, et toutes les révisions (ainsi que les méta qui y sont associées) seront supprimées de votre base de données. Une note importante ici, assurez-vous de faire une sauvegarde de votre base de données avant d'exécuter le code.
SUPPRIMER a, b, c FROM wp_posts un WHERE a.post_type = 'revision' LEFT JOIN wp_term_relationships b ON (a.ID = b.objet_id) LEFT JOIN wp_postmeta c ON (a.ID = c.post_id);[Source: Lesterchan.net]
13. Modifier la longueur de l'extrait en fonction de la catégorie
Avez-vous déjà souhaité modifier la longueur de l'extrait en fonction de la catégorie dans laquelle vous vous trouvez? Voici le code qui accorde votre souhait. Il suffit de coller le code dans votre fichier functions.php, et n'oubliez pas de changer l' identifiant de catégorie sur la ligne 3!
add_filter ('excerpt_length', 'my_excerpt_length'); function my_excerpt_length ($ longueur) {if (in_category (14)) {return 13; } else {return 60; }}[Source: WpRecipes]
14. Désactiver l'enregistrement automatique des messages
Si, pour une raison critique, vous souhaitez désactiver la fonction qui sauvegarde automatiquement votre post pendant que vous le modifiez dans le tableau de bord, c'est possible. Ouvrez simplement votre fichier functions.php et collez le code suivant dans le fichier:
function disableAutoSave () {wp_deregister_script ('autosave'); } add_action ('wp_print_scripts', 'disableAutoSave');[Source: WpRecipes]
Vous pouvez ensuite enregistrer le fichier, et WordPress ne sauvegardera jamais automatiquement un message. Vous pouvez également récupérer la fonction en supprimant le code.
Plus
Vous cherchez plus de choses de personnalisation de WordPress? Nous avons plus pour vous!
- WordPress: 30 trucs et astuces utiles
- WordPress: 30 trucs et astuces
- WordPress: 40 trucs et astuces
Bloggers: 6 outils d'édition gratuits pour une meilleure écriture
Après des heures de recherche de faits et de chiffres, l'organisation de vos notes comme des fous, et marteler votre clavier, vous avez enfin terminé votre blog de tueur. Félicitations pour l'avoir fait si loin. Toutes les idées de billets de blog ne sont pas transformées en brouillons. Maintenant, tout ce que vous avez à faire est de modifier. Cela
iziModal.js - Un plugin jQuery de fenêtre modale vraiment dynamique
La plupart des fenêtres modales semblent distraire et ennuyer le visiteur avec des champs opt-in et des offres non désirées . Ces modaux prennent souvent toute la page, ont l'air terrible, et n'offrent pas un moyen clair de fermer la fenêtre. Heureusement, iziModal.js est exactement le contraire.C