29 modifications WordPress pour améliorer les publications et les pages
Nous aimons WordPress - mais nous ne sommes pas tous prêts à régler tous ses paramètres et affichages par défaut - en particulier le mode d'affichage des messages. Comme nous l’avons appris, le caractère unique d’un site Web revêt une grande importance pour la marque, ce qui a donné aux visiteurs une excellente impression. Pendant toutes ces années, les blogueurs et les développeurs se sont efforcés d’ajuster l’affichage du message afin de le rendre aussi unique que possible..
Aujourd'hui, nous allons nous concentrer sur les réglages intelligents que vous pouvez effectuer pour améliorer l'affichage de vos publications WordPress. Que vous souhaitiez modifier l'affichage de votre publication pour améliorer l'expérience utilisateur ou augmenter le revenu ou les impressions de page, il existe probablement un moyen de le faire sans plug-in, et la plupart des extraits énumérés ici sont faciles à implémenter. besoin de copier et coller le code fourni.
J'espère que vous trouverez ces modifications utiles pour vos projets, profitez-en pour personnaliser!
L'extrémité avant
1. Changer la longueur de votre extrait
Le tweak ci-dessous changera la longueur de votre extrait, vous pouvez simplement ajouter les lignes de code suivantes dans votre functions.php fichier, avec la valeur 75 comme la longueur de l'extrait.
add_filter ('excerpt_length', 'my_excerpt_length'); function my_excerpt_length ($ len) return 75;
[Source: Danny van Kooten]
2. style Twitter “il y a du temps” Rendez-vous
La plupart des gens ne savent pas que WordPress possède une fonction intégrée pour afficher la date à l'aide de la “Il y a du temps” format, et l'extrait ci-dessous peut être collé n'importe où dans la boucle pour afficher la date au format.
Publié[Source: extraits de PHP]
3. Afficher la vignette du message dans votre flux RSS
Introduit dans WordPress 2.9, le
the_post_thumbnail ()
Cette fonction est très utile pour ajouter et afficher une vignette attachée à un article. La mauvaise nouvelle est qu’il n’ya pas de méthode intégrée pour afficher la vignette dans votre flux RSS. La fonction ci-dessous va résoudre ce problème. Il suffit de le coller dans votre functions.php fichier, enregistrez-le, et la miniature de publication sera automatiquement affichée dans votre flux RSS.// affiche les miniatures des publications dans les flux function diw_post_thumbnail_feeds ($ content) global $ post; if (has_post_thumbnail ($ post-> ID)) $ content = ''. get_the_post_thumbnail ($ post-> ID). ''. $ contenu; 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 aux publications de titres uniquement
Vous pouvez ajouter cet extrait dans la functions.php fichier de vos thèmes WordPress pour limiter la recherche à l’affichage de titres uniquement.
function __search_by_title_only ($ search, & $ wp_query) if (vide ($ search)) return $ search; // saute le traitement - pas de terme de recherche dans la requête $ q = & $ wp_query-> query_vars; // wp-includes / query.php ligne 2128 (version 3.1) $ n =! vide ($ q ['exact'])? ": '%'; $ searchand ="; foreach ((array) $ q ['search_terms'] en tant que $ term) $ term = esc_sql (like_escape ($ term)); $ search. = "$ searchand ($ wpdb-> posts.post_title LIKE '$ n $ term $ n')"; $ searchand = 'AND'; $ term = esc_sql (like_escape ($ q ['s']])); if (vide ($ q ['phrase'])) && compte ($ q ['search_terms'])> 1 && $ q ['search_terms'] [0]! = $ q ['s']) $ search. = "OU ($ wpdb-> posts.post_title LIKE '$ n $ term $ n')"; if (! empty ($ search)) $ search = "AND ($ search)"; 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émentant sur chaque message
Le tweak ci-dessous vous permettra d'afficher un numéro incrémentant sur chaque message, et sa mise en œuvre est assez simple. Tout d’abord, collez la fonction suivante dans votre functions.php fichier:
function updateNumbers () global $ wpdb; $ querystr = "SELECT $ wpdb-> posts. * FROM $ wpdb-> posts WHERE $ wpdb-> posts.post_status = 'publier' ET $ wpdb-> posts.post_type = 'post'"; $ pageposts = $ wpdb-> get_results ($ querystr, OBJECT); $ compte = 0; if ($ pageposts): foreach ($ pageposts as $ post): setup_postdata ($ post); $ compte ++; add_post_meta ($ post-> ID, 'incr_number', $ count, true); update_post_meta ($ post-> ID, 'incr_number', $ count); fin de chaque fin si; add_action ('publish_post', 'updateNumbers'); add_action ('delete_post', 'updateNumbers'); add_action ('edit_post', 'updateNumbers');Une fois que vous avez terminé, vous pouvez afficher le numéro du message avec le code suivant. Notez qu'il doit être utilisé dans la boucle.
ID, 'incr_number', true); ?>[Source: Alchymyth, via WpRecipes]
6. Exclure Post du flux WordPress
Vous souhaitez exclure certaines publications de votre flux? Voici le tweak pour vous. Veuillez noter que vous ne devriez filtrer que là où vous voulez filtrer; dans notre exemple c'est dans notre fil
$ wp_query-> is_feed
. Si vous ne le faisiez pas de cette façon, le filtre serait également exécuté dans votre back-end et ces publications ne figureraient pas dans la synthèse des publications..La fonction a deux paramètres. Vous donnez le premier paramètre
$ où
une extension de la chaîne SQL, qui se chargera du filtrage en fonction de la ID. Ensuite, entre parenthèses, vous devez insérer le ID des postes, que vous aimez filtrer.fonction fb_post_exclude ($ où, $ wp_query = NULL) global $ wpdb; if (! $ wp_query) global $ wp_query; if ($ wp_query-> is_feed) // exclut la publication avec les identificateurs 40 et 9 $ where. = "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 pour publier lorsque la requête de recherche renvoie un seul résultat
Mettez cet extrait dans le functions.php fichier de votre thème WordPress pour rediriger automatiquement votre recherche vers la publication lorsque WordPress ne renvoie qu'un seul résultat de recherche.
add_action ('template_redirect', 'single_result'); function single_result () if (is_search ()) global $ wp_query; if ($ wp_query-> post_count == 1) wp_redirect (get_permalink ($ wp_query-> posts ['0'] -> ID));[Source: WpSnipp]
8. Créer automatiquement une méta description à partir du contenu
Ajout de cet extrait dans la functions.php Le fichier de votre thème WordPress créera automatiquement une méta-description à partir de votre publication WordPress, en effaçant tous les codes courts et balises. 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); echo""; 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 d’affiliation, il suffit de coller le code ci-dessous dans votre functions.php fichier. N'oubliez pas de saisir vos mots / liens comme indiqué dans l'exemple de code ci-dessous.
function replace_text_wps ($ text) $ replace = array (// 'MOTS A REMPLACER' => 'REMPLACER MOTS AVEC CETTE "thesis" =>'thèse',' studiopress '=>'studiopress'); $ text = str_replace (array_keys ($ remplacer), $ remplacer, $ text); return $ text; add_filter ('the_content', 'replace_text_wps'); add_filter ('the_excerpt', 'replace_text_wps');[Source: catswhoblog.com]
10. Ajouter “Lire la suite” lien permanent vers la fin de the_excerpt
Ajouter cet extrait ci-dessous dans la functions.php fichier de votre thème WordPress ajoutera un “Lire la suite” lien permanent à la fin de
the_excerpt
, à peu près comme quoile contenu
Est-ce que.fonction excerpt_readmore ($ more) return '… ID); if ($ tags) $ tag_ids = array (); foreach ($ tags comme $ individual_tag) $ tag_ids [] = $ individual_tag-> term_id; $ args = array ('tag__in' => $ tag_ids, 'post__not_in' => array ($ post-> ID), 'showposts' => 5, // Nombre de messages liés à afficher. 'caller_get_posts' => 1 ); $ my_query = new wp_query ($ args); if ($ my_query-> have_posts ()) echo 'Articles Similaires
[Source: Bin-Co]
12. Créez vos propres messages populaires dans la barre latérale
Configurer un widget de la barre latérale pour afficher les messages populaires est très facile. Il suffit de copier et coller le code ci-dessous dans votre sidebar.php fichier. Si vous devez modifier le nombre de publications affichées, vous pouvez modifier le 5 à la fin de la ligne 3, au numéro de votre choix.
Messages populaires
- get_results ("SELECT comment_count, ID, post_title FROM $ wpdb-> posts ORDER BY commentaire_count DESC LIMIT 0, 5"); foreach ($ result as $ post) setup_postdata ($ post); $ postid = $ post-> ID; $ title = $ post-> post_title; $ commentcount = $ post-> comment_count; if ($ commentcount! = 0) ?>
[Source: Pro Blog Design]
13. Définir la date / heure post-expiration
Vous trouverez ci-dessous un code utile que vous pouvez insérer dans vos thèmes WordPress pour vous permettre de créer une post-expiration basée sur la date et l'heure. Modifiez votre thème et remplacez votre boucle WordPress actuelle par cette boucle "piratée":
$ expirationtime = get_post_custom_values ('expiration'); if (is_array ($ expirationtime)) $ expirestring = implode ($ expirationtime); $ secondesbetween = strtotime ($ expirestring) -time (); if ($ secondesbetween> 0) // Par exemple… the_title (); the_excerpt (); endwhile; fin si; ?>
Pour créer une publication avec une date d'expiration, vous pouvez simplement créer un champ personnalisé. Donner expiration comme clé et votre date / heure (format: mm / jj / aaaa 00:00:00) en tant que valeur. La publication ne sera pas affichée après cet horodatage.
[Source: WpRecipes]
14. Liste des futurs postes
WordPress permet de répertorier les publications futures. Pour obtenir cette fonctionnalité, il vous suffit de coller le code à l'endroit où vous souhaitez afficher vos publications futures:
Événements à venir
Aucun événement futur prévu.
[Source: WpRecipes]
15. Afficher AdSense uniquement aux visiteurs des moteurs de recherche
Il est possible d'afficher AdSense aux visiteurs à partir des résultats de moteurs de recherche. Voici le code permettant de l'obtenir. Collez simplement le code ci-dessous dans le thème. functions.php fichier.
fonction scratch99_fromasearchengine () $ ref = $ _SERVER ['HTTP_REFERER']; $ SE = array ('/ search?', 'Images.google.', 'Web.info.com', 'search.', 'Del.icio.us/search', 'soso.com', '/ search / ',' .yahoo. '); foreach ($ SE en tant que $ source) if (strpos ($ ref, $ source)! == false) retourne true; return false;
$ SE
tableau 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 collez simplement le code suivant n'importe où dans le modèle à l'endroit où vous souhaitez que vos annonces AdSense soient affichées, et c'est terminé! Les annonces ne seront affichées qu'aux visiteurs à partir des résultats des moteurs de recherche..
if (function_exists ('scratch99_fromasearchengine')) if (scratch99_fromasearchengine ()) INSCRIRE 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 non conformes à la norme XHTML 1.0. Cependant, le code ci-dessous obligera l'éditeur à accepter plus de balises. Vous pouvez le coller dans votre thème functions.php fichier, enregistrez-le, et la fonction est bonne pour aller.
function fb_change_mce_options ($ initArray) // Chaîne séparée par des virgules od étend les balises // Chaîne d'éléments étendus séparée par une commande $ ext = 'pre [id | nom | classe | style], iframe [align | longdesc | nom | largeur | hauteur | frameborder | scrolling | marginheight | marginwidth | src] '; if (isset ($ initArray ['extended_valid_elements']))) $ initArray ['extended_valid_elements']. = =, '. $ ext; else $ initArray ['extended_valid_elements'] = $ ext; // peut être; set minuscule 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
Le fragment ci-dessous modifie l'éditeur par défaut dans l'administrateur WordPress. Vous pouvez aller avec le Éditeur visuel, ou vous pouvez choisir le Éditeur HTML, il suffit d'ajouter l'un d'eux dans le functions.php fichier.
# Ceci définit l'éditeur visuel comme add_filter par défaut ('wp_default_editor', create_function (", 'return" tinymce ";')); # Ceci définit l'éditeur HTML comme add_filter ('wp_default_editor", create_function ("," return "html "; '));
[Source: WP-Snippets]
3. Définir différentes feuilles de style d'éditeur pour différents types de publication
Avec le code suivant collé dans votre functions.php fichier, vous pouvez configurer différentes feuilles de style d'éditeur pour différents types de publication. Vous devrez l’adapter, en fonction de votre type de message, et n'oubliez pas de changer le noms de feuilles de style ainsi que.
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 plusieurs types de fichiers
Pour certaines raisons, WordPress Uploader ne vous permet pas de télécharger certains types de fichiers, tels que ceux de Textmate. .tmCommand. Si vous avez besoin de télécharger ce type de fichiers sur votre site WordPress, voici un extrait fonctionnel qui vous permet de le faire. Il vous suffit de le coller dans votre functions.php fichier. Vous pouvez également ajouter plus de types de fichiers en les ajoutant à la ligne 4, séparés par un tuyau (|).
'application / octet-stream')); retourne $ mimes; ?> add_filter ('upload_mimes', 'addUploadMimes');
[Source: pioupioum.fr, via WpRecipes]
5. Activer l'éditeur TinyMCE pour post the_excerpt
Mettre l'extrait suivant dans le functions.php fichier de votre thème WordPress ajoutera l’éditeur TinyMCE à la zone de texte de l’extrait de la publication.
fonction tinymce_excerpt_js () ?>[Source: WpSnipp]
6. Post Formats - Des moyens plus créatifs pour un thème
La syntaxe ci-dessous donne certains des formats de publication possibles qui peuvent ensuite être choisis et utilisés directement dans l'article. Ce que vous devez faire est de mettre le code dans votre functions.php fichier de votre thème.
add_theme_support ('post-formats', tableau ('mis de côté', 'audio', 'image', 'vidéo'));[Source: Ingénieur WP]
7. Afficher la vignette de la publication également dans Édition de la publication et de la page
WordPress version 2.9 introduit la fonction de Post Thumbnail. C'est assez génial, et pour afficher la vignette de publication également dans Éditer la publication et la présentation de la page, vous pouvez insérer le code suivant dans un plugin ou le copier dans le répertoire. functions.php fichier du thème.
if (! function_exists ('fb_AddThumbColumn') && function_exists ('add_theme_support')) // pour la publication et la page add_theme_support ('post-vignettes', array ('post', 'page')); fonction fb_AddThumbColumn ($ cols) $ cols ['thumbnail'] = __ ('Thumbnail'); return $ cols; fonction fb_AddThumbValue ($ nom_colonne, $ id_post) $ width = (int) 35; $ height = (int) 35; if ('thumbnail' == $ column_name) // 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' => 'pièce jointe', 'post_mime_type' => 'image')); if ($ thumbnail_id) $ thumb = wp_get_attachment_image ($ thumbnail_id, array ($ width, $ height), true); elseif ($ attachments) foreach ($ attachments en tant que $ attachment_id => $ attachment) $ thumb = wp_get_attachment_image ($ attachment_id, array ($ width, $ height), true); if (isset ($ thumb) && $ thumb) echo $ thumb; else echo __ ('Aucun'); // pour les publications 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éer des messages d’état personnalisés dans l’administrateur
Ce tweak a été écrit à l'origine par le développeur pour permettre à un client d'afficher des messages personnalisés pour chaque publication créée par un auteur. Dans ce cas, un message pourrait avoir un message comme rejeté, Erreur, la source, final, etc. Vous pouvez changer les messages juste en dessous du commentaire du code, Tableau de messages d'état personnalisés, juste pour vous assurer que vous avez changé le noms de classe aussi, que 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', 'Révision', "Erreurs", "Source", "Rejeté", "Final",); écho ''; écho ''; écho ''; add_action ('save_post', 'save_status'); function save_status () global $ post; if (défini ('DOING_AUTOSAVE') && DOING_AUTOSAVE) return $ post-> ID; update_post_meta ($ post-> ID, "_status", $ _POST ["status"]); add_action ('admin_head', 'status_css'); fonction status_css () echo '';[Source: WpSnipp]
9. Définir la longueur maximale du titre de l'article
Ajouter ce code PHP dans le functions.php fichier de votre thème WordPress définira un nombre maximal de mots pouvant être affichés dans le titre de votre message, des ajustements très utiles!
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 message dépasse le nombre maximal de mots.')); add_action ('publication_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 pour une police moderne telle que Monaco ou Consolas, il suffit de coller le code dans le thème de votre thème WordPress functions.php fichier.
fonction 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 / à la publication d'une page
Un extrait de code permettant d'installer automatiquement un champ personnalisé sur une page ou une publication après sa publication. Vous pouvez simplement ajouter le code ci-dessous dans votre functions.php fichier, situé dans le dossier de votre thème. Bien sûr, n'oubliez pas de changer le nom de champ personnalisé.
add_action ('publish_page', 'add_custom_field_automatically'); add_action ('publish_post', 'add_custom_field_automatically'); fonction add_custom_field_automatically ($ post_ID) global $ wpdb; if (! wp_is_post_revision ($ post_ID)) add_post_meta ($ post_ID, 'nom du champ', 'valeur personnalisée', true);[Source: wpCanyon]
12. Débarrassez-vous des révisions de post non utilisées
Voici une requête SQL très pratique qui supprimera instantanément toutes les révisions de publications ainsi que les méta qui lui 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 lui 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..
DELETE a, b, c FROM wp_posts a WHERE a.post_type = 'revision' LEFT JOIN wp_term_relationships b ON (a.ID = b.object_id) LEFT JOIN wp_postmeta c ON (a.ID = c.post_id);[Source: Lesterchan.net]
13. Changer 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 réalise votre souhait. Il suffit de coller le code dans votre functions.php fichier, et n'oubliez pas de changer le ID de catégorie sur la ligne 3!
add_filter ('excerpt_length', 'my_excerpt_length'); function my_excerpt_length ($ length) if (in_category (14)) return 13; else retour 60;[Source: WpRecipes]
14. Désactiver la sauvegarde automatique des publications
Si, pour une raison quelconque, vous souhaitez désactiver la fonction qui enregistre automatiquement votre publication pendant que vous la modifiez dans le tableau de bord, c'est possible. Ouvrez simplement votre functions.php fichier 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 n'enregistrera jamais automatiquement. Vous pouvez également récupérer la fonction en supprimant le code.
Plus
Vous recherchez plus de personnalisation dans WordPress? Nous avons plus pour vous!
- WordPress: 30 astuces et astuces utiles
- WordPress: 30 autres astuces et astuces
- WordPress: 40 astuces et hacks