
Joseph Goodman
0
2504
293
Les plugins me dérangent - voir une longue liste d’entre eux, chacun enregistrant ses propres crochets et filtres et… eugh. Parfois, une solution simple peut être trouvée avec seulement quelques lignes dans votre functions.php fichier. Voici 10 de nos favoris.
Notez que functions.php fait partie de votre thème et, en tant que tel, les hacks que vous y placerez seront perdus lorsque vous changerez de thème. Vous devrez copier ceux que vous souhaitez conserver sur le nouveau thème. Ce n'est pas difficile, mais il faut garder à l'esprit au cas où votre site se briserait soudainement et ne pourrait pas comprendre pourquoi. Si vous faites une erreur en les codant, vous serez confronté à une page vierge. (le guide ultime pour traiter avec 500 erreurs de serveur et pages vierges dans WordPress Guide ultime pour la résolution de 500 erreurs de serveur internes et pages blanches vierges dans WordPress Guide ultime pour la résolution de 500 erreurs de serveur internes et pages blanches vierges dans WordPress Problèmes rencontrés avec 500 erreurs de serveur interne et pages vierges dans WordPress ? Voici comment les réparer tout de suite. vous dira certaines des autres façons que cela peut arriver) - alors faites attention. La connaissance de PHP est également utile (voici notre guide pour débutants en PHP).
Ajouter des miniatures à la zone d'administration
Si vous souhaitez simplement ajouter des miniatures Le guide complet des miniatures et des tailles d'image présentées dans WordPress Le guide complet des miniatures et des tailles d'image présentées dans WordPress Voici tout ce que vous devez savoir sur les tailles d'image dans WordPress et sur la gestion des images en vedette. , il peut être extrêmement utile de voir en un coup d'œil quels articles n'ont pas encore ajouté de vignette - cet extrait ajoutera une nouvelle colonne à votre écran d'administration lors de l'affichage Tous les messages. Vous pouvez modifier la taille en ajustant les variables du tableau (100 200), qui spécifie la largeur et la hauteur maximales..
add_filter ('manage_posts_columns', 'posts_columns', 5); add_action ('manage_posts_custom_column', 'posts_custom_columns', 5, 2); function posts_columns ($ defaults) $ defaults ['post_thumbs'] = __ ('Thumbs'); retourne $ par défaut; function posts_custom_columns ($ nom_colonne, $ id) if ($ nom_colonne === 'post_thumbs') echo the_post_thumbnail (array (100,200));
Vous devriez vous retrouver avec quelque chose comme ça:
Faites votre propre shortcode pour JS Snippets
L'intégration directe de JavaScript dans le contenu d'un article peut être problématique (mais cela est possible, reportez-vous au hack TinyMCE plus loin dans l'article), en particulier lorsque ces extraits sont susceptibles de changer souvent - ce qui endommage tous les messages actuels. Si le JavaScript que vous intégrez comprend un attribut de taille, vous pouvez également rencontrer des problèmes lorsque le thème change et que tout à coup, plus rien ne convient. Ou peut-être que vous en aurez juste assez d’avoir à intégrer la même chose encore et encore. De toute façon, un shortcode peut aider énormément.
Voici l'extrait que j'ai créé pour intégrer le chatroom hebdomadaire, qui repose sur le service gratuit tlk.io. Utiliser le shortcode bavarder, et étant donné un seul attribut de pièce, il incorpore le code correspondant à l'adresse correcte de la salle de discussion - ou, dans ce cas, utilise par défaut un nom générique “technophilie” pièce.
function chatroom ($ atts) extract (shortcode_atts (array ('room' => 'technophilia'), $ atts))); revenir ''; add_shortcode ('chat', 'chatroom');
Tuer un shortcode
Si vous ne souhaitez plus utiliser de code abrégé, vous risquez de le trouver encombré dans la sortie. Ce code simple va les supprimer, un code court “nettoyeur” si vous voulez - bien qu'il n'agisse pas sur la base de données, mais uniquement sur la sortie du contenu de l'article.
fonction shortcode_cleaner () remove_shortcode ('chat'); add_shortcode ('chat', 'mon_remove_shortcode'); add_action ('init', 'shortcode_cleaner'); function my_remove_shortcode () return ";
Extraire une vidéo YouTube à partir d'un article
Les images présentées ont été introduites dans la version 2.9 pour donner à chaque message une image représentative centrale, mais que se passe-t-il si votre message concerne davantage la vidéo? Vous pouvez prendre une capture d'écran et l'utiliser en tant qu'image sélectionnée ou extraire la vidéo et l'intégrer à la place d'une image sélectionnée. Appelez cette fonction depuis la boucle pour obtenir une URL YouTube renvoyée comme vous le souhaitez..
fonction video_from_post () global $ post; $ return = array (); preg_match ('| http: //www.youtube.com/watch \? v = ([a-zA-Z0-9 _ \ -] +) |', $ post-> post_content, $ correspond à); $ v = $ correspond à [1]; $ return [0] = $ post; $ return [1] = $ v; return $ return;
Vous pouvez également utiliser l'extrait suivant, qui filtre les publications pour supprimer les URL YouTube (car vous les utiliserez ailleurs)..
fonction remove_youtube ($ content) $ search = '/http:\/\/www\.youtube\.com\/watch\?(.*?)v=([a-zA-Z0-9_\-HER+ )(\Si'; $ content = preg_replace ($ search, "", $ content, 1); retourne $ contenu; add_filter ('the_content', 'remove_youtube');
Arrêtez le Visual Editor Stripping HTML
L'éditeur visuel WordPress - TinyMCE - est idéal pour la plupart des utilisateurs et peut être étendu pour en faire encore plus avec le plugin TinyMCE Advanced Prenez le contrôle de l'éditeur WordPress avec TinyMCE Advanced Prenez le contrôle de l'éditeur WordPress avec TinyMCE Advanced. Cependant, pour ceux qui veulent garder un peu moins de code dans leur code, ce petit extrait empêchera TinyMCE de supprimer les balises en développant la liste des éléments valides, ce qui vous permet d'intégrer des éléments tels que des iFrames ou de spécifier des classes sur des éléments..
function fb_change_mce_options ($ initArray) // Chaîne de balises étendues séparée par des virgules $ ext = 'pre [id | nom | classe | style | lang | échappé], 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; $ initArray ['verify_html'] = false; return $ initArray; add_filter ('tiny_mce_before_init', 'fb_change_mce_options');
Enfin, celui-ci empêche la suppression de JavaScript, mais gardez à l'esprit que cela ouvre une grande faille de sécurité dans les environnements multi-auteurs..
function disable_kses_content () remove_filter ('content_save_pre', 'wp_filter_post_kses'); add_action ('init', 'disable_kses_content', 20);
Vignette de site Web gratuite
WordPress.com propose un service de création de vignettes de sites Web peu connu: vous pouvez lui indiquer l’URL d’une page Web. Il générera et diffusera une image miniature de ce site Web. Ajoutez l'extrait suivant pour créer un “Webthumb” code court, et utilisez-le en entourant une URL telle que [webthumb] // www.makeuseof.com [/ webthumb]. Utilisez des attributs pour remplacer la largeur ou la hauteur et ajustez la sortie HTML à votre guise. Les miniatures sont mises en cache, mais la génération initiale peut prendre un peu de temps..
function websitethumbnails ($ atts, $ content = null) extract (shortcode_atts (array ("snap" => ". snap" => "http://s.wordpress.com/mshots/v1/"), "alt" => "Mon image", "w" => '600', // width "h" => '350' // height), $ atts)); $ img = '
'; return $ img; add_shortcode ("webthumb", "websitethumbnails");
Ajouter des miniatures aux flux RSS
Le code suivant ajustera un extrait ou un flux RSS complet pour inclure la vignette sélectionnée. Vous pouvez également voir comment nous avons ajouté un lien par défaut à la fin de chaque élément, renvoyant à l'article complet. Vous pouvez bien sûr changer cela en tout ce que vous voulez, comme inclure des boutons de partage.
fonction excerpt_thumbnail_feeds ($ content) global $ post; if (has_post_thumbnail ($ post-> ID)) $ content = ''. get_the_post_thumbnail ($ post-> ID, 'en vedette'). '' rss_the_excerpt ($ post-> ID, 100); $ content. = "Lisez l'article complet: ID). ""> ". Get_the_title ($ post-> ID)."
"; return $ content; add_filter (" the_excerpt_rss "," excerpt_thumbnail_feeds "); // affiche les vignettes de publication dans la fonction feeds full_thumbnail_feeds ($ content) global $ post; if (has_post_thumbnail ($ post-> ID)) $ content = ''. get_the_post_thumbnail ($ post-> ID, 'sélectionnée'). ''. $ content; $ content. = "Lisez l'article complet: ID). ""> ". Get_the_title ($ post-> ID)."
"; return $ content; add_filter (" the_content_rss "," full_thumbnail_feeds”)
Vous voyez, il y a énormément de choses que vous pouvez faire sans plug-ins, et cela ne fait qu'effleurer la surface. Si vous voulez plus, consultez ma liste de recettes IFTTT pour WordPress 5 Amazing IFTTT Recipes pour les utilisateurs de WordPress 5 Amazing IFTTT Recipes pour les utilisateurs de WordPress IFTTT est l'outil d'automatisation de l'utilisateur puissant; et WordPress est le couteau suisse du blogueur par excellence. Imaginez le genre de domination mondiale que vous pourriez obtenir en combinant les deux! , ou visitez WPSnipp - un site avec plus de 600 hacks d'extraits classés.