Créez vos propres codes courts et plus encore, avec ces 7 piratages WordPress

Créez vos propres codes courts et plus encore, avec ces 7 piratages WordPress / Wordpress & Développement Web

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 du tout, mais gardez à 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 interne et pages blanches vierges dans Wordpress En savoir plus vous dira certaines des autres façons que cela peut se produire) - 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 aux publications Le guide complet des miniatures et des tailles d'images présentées dans WordPress Le guide complet des miniatures et des tailles d'images présentées dans WordPress Pour en savoir plus, il peut être extrêmement utile de savoir en un coup d'œil quels messages ont déjà été publiés. inclure une vignette - cet extrait ajoutera une nouvelle colonne à votre écran d'administration lors de l'affichage Tous les messages. Vous pouvez changer 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’incorporation directe de JavaScript dans le contenu d’un article peut poser problème (mais cela est possible (voir le hack TinyMCE plus loin dans l’article)), en particulier lorsque ces extraits sont susceptibles de changer souvent, ce qui endommage tous les articles en cours. Si le code 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, rien ne vous convient plus. 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 un code de fonction, vous pouvez le trouver dans la sortie. Ce code simple va les supprimer, un code court “nettoyeur” si vous voulez - bien que cela 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 est davantage consacré à 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 pour filtrer les publications afin de supprimer les URL YouTube (car vous les utiliserez ailleurs)..

 fonction remove_youtube ($ content) $ search = '/http:\/\/www\.youtube\.com\/watch\?(.*?)v=([a-zA-Z0-9_\-]+ )(\Si'; $ content = preg_replace ($ search, "", $ content, 1); retourne $ contenu;  add_filter ('the_content', 'remove_youtube'); 

Arrêtez 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 En savoir plus. Pour ceux qui veulent un peu moins de gardiennage de 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 cadres 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 brèche importante en matière 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. Ce dernier 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) extraire (shortcode_atts (array ("snap" = "". snap "=>".> "http://s.wordpress.com/mshots/v1/"), "alt" => "Mon image", "w" => '600', // width "h" => '350' // height), $ atts)); $ img = ''. $ alt. ''; 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 entièrement l'article: 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, 'en vedette'). '
'. $ contenu; $ content. = "

Lisez entièrement l'article: 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! Pour en savoir plus ou visitez WPSnipp, un site contenant plus de 600 piratages d'extraits catégorisés..

En savoir plus sur: Wordpress.