Advertentie

Plug-ins storen me - ik zie er een lange lijst van, elk registreert zijn eigen hooks en filters en... eugh. Soms is er een simpele oplossing te vinden met slechts een paar regels in je functies.php het dossier. Hier zijn 10 van onze favorieten.

Let daar op functies.php is een onderdeel van uw thema en als zodanig gaan alle hacks die u daarin plaatst verloren wanneer u van thema verandert. U moet degenen die u wilt behouden, kopiëren naar het nieuwe thema - het is op geen enkele manier moeilijk, maar iets om in gedachten te houden voor het geval uw site plotseling kapot gaat en niet kan achterhalen waarom. Als je een fout maakt bij het coderen hiervan, krijg je een blanco pagina te zien (de ultieme gids om mee om te gaan 500 serverfouten en blanco pagina's in WordPress De ultieme gids voor het oplossen van 500 interne serverfouten en lege witte pagina's in WordPressHeeft u problemen met 500 interne serverfouten en blanco pagina's in WordPress? Hier leest u hoe u ze meteen kunt oplossen. Lees verder

instagram viewer
zal u enkele van de andere manieren vertellen waarop dit kan gebeuren) - wees dus voorzichtig. Kennis van PHP is ook nuttig (hier is onze beginnersgids voor PHP Leer bouwen met PHP: een spoedcursusPHP is de taal die Facebook en Wikipedia gebruiken om dagelijks miljarden verzoeken te verwerken; de de facto taal die wordt gebruikt om mensen webprogrammering te leren. Het is prachtig eenvoudig, maar briljant krachtig. Lees verder ).

Voeg miniaturen toe aan het beheerdersgedeelte

Als je net aan het toevoegen bent post miniaturen De complete gids voor aanbevolen miniaturen en afbeeldingsformaten in WordPressHier is alles wat u moet weten over afbeeldingsgroottes in WordPress en het beheren van aanbevolen afbeeldingen. Lees verder , het kan enorm nuttig zijn om in één oogopslag te zien welke berichten nog een miniatuur moeten bevatten - dit fragment voegt een nieuwe kolom toe aan je admin-scherm tijdens het bekijken Alle berichten. U kunt de grootte wijzigen door de variabelen in matrix (100.200) aan te passen, die de maximale breedte en hoogte specificeert.

add_filter ('manage_posts_columns', 'posts_columns', 5); add_action ('manage_posts_custom_column', 'posts_custom_columns', 5, 2); functie posts_columns ($ defaults) {$ defaults ['post_thumbs'] = __ ('Thumbs'); retourneer $ defaults; } functie posts_custom_columns ($ column_name, $ id) {if ($ column_name 'post_thumbs') {echo the_post_thumbnail (array (100.200)); } }

Je zou zoiets moeten krijgen:

post-list-thumbs

Maak uw eigen shortcode voor JS-fragmenten

Het kan problematisch zijn om JavaScript direct in te voegen in de inhoud van het bericht (maar het is mogelijk, zie de TinyMCE-hack later in het artikel) het artikel), vooral wanneer die fragmenten vaak veranderen - waardoor alle huidige berichten worden weergegeven gebroken. Als het JavaScript dat u insluit een kenmerk voor grootte bevat, kunt u ook problemen ondervinden wanneer het thema verandert en er plotseling niets meer past. Of misschien word je het gewoon beu om steeds weer hetzelfde in te bedden. Hoe dan ook, een shortcode kan enorm helpen.

Hier is het fragment dat ik heb gemaakt om de wekelijkse chatroom in te sluiten, die afhankelijk is van de gratis tlk.io onderhoud. Met behulp van de shortcode chatten, en een enkel attribuut van kamer, het bevat de relevante code die verwijst naar het juiste adres van de chatroom - of in dit geval standaard naar een generieke "technophilia" -ruimte.


functie chatroom ($ atts) {extract (shortcode_atts (array ('room' => 'technophilia'), $ atts)); terugkeer ''; } add_shortcode ('chat', 'chatroom');

Dood een shortcode

Als u geen korte code meer wilt gebruiken, vindt u ze misschien in de uitvoer. Deze eenvoudige code zal ze verwijderen, een korte code 'schoner' als je wilt - hoewel het niet werkt op de database, alleen op de uitvoer van de post-inhoud.

functie shortcode_cleaner () {remove_shortcode ('chat'); add_shortcode ('chat', 'my_remove_shortcode'); } add_action ('init', 'shortcode_cleaner'); function my_remove_shortcode () {return ''; }

Extraheer een YouTube-video uit een bericht

Uitgelichte afbeeldingen zijn geïntroduceerd in versie 2.9 om elk bericht één centraal representatief beeld te geven, maar wat als je bericht meer over de video gaat? U kunt een schermopname maken en die als de uitgelichte afbeelding gebruiken, of u kunt de video extraheren en deze in plaats van een uitgelichte afbeelding insluiten. Roep deze functie aan vanuit de lus om een ​​YouTube-URL terug te krijgen waarmee je kunt doen wat je wilt.


functie video_from_post () {global $ post; $ return = array (); preg_match ('| http://www.youtube.com/watch\?v=([a-zA-Z0-9_\-]+)|', $ post-> post_content, $ matches); $ v = $ komt overeen met [1]; $ return [0] = $ post; $ return [1] = $ v; retour $ retour; } 

Mogelijk wilt u ook het volgende fragment gebruiken dat berichten filtert om YouTube-URL's te verwijderen (aangezien u ze elders gebruikt).

functie remove_youtube ($ content) {$ search = '/http:\/\/www\.youtube\.com\/watch\?(.*?)v=({a-zA-Z0-9_\-cany + )(\Si'; $ content = preg_replace ($ search, "", $ content, 1); $ inhoud retourneren; } add_filter ('the_content', 'remove_youtube');

Stop de visuele editor die HTML verwijdert

De visuele editor van WordPress - TinyMCE - is geweldig voor de meeste gebruikers en kan worden uitgebreid om nog meer te doen met de TinyMCE Advanced-plug-in Neem de controle over de WordPress-editor met TinyMCE Advanced Lees verder . Voor degenen die een beetje minder op hun code willen passen, zal dit kleine fragment TinyMCE ervan weerhouden om te strippen tags uit door de lijst met geldige elementen uit te breiden, zodat u dingen als iFrames kunt insluiten of klassen kunt specificeren elementen.

function fb_change_mce_options ($ initArray) {// Door komma's gescheiden reeks uitgebreide tags $ ext = 'pre [id | name | class | style | lang | escaped], iframe [align | longdesc | name | width | height | frameborder | scrolling | marginheight | marginwidth | src]'; if (isset ($ initArray ['extended_valid_elements'])) {$ initArray ['extended_valid_elements']. = ','. $ ext; } anders {$ initArray ['extended_valid_elements'] = $ ext; } $ initArray ['verif_html'] = false; $ initArray retourneren; } add_filter ('tiny_mce_before_init', 'fb_change_mce_options');

Ten slotte zorgt deze ervoor dat JavaScript niet meer wordt verwijderd, maar houd er rekening mee dat dit een groot beveiligingsgat opent in omgevingen met meerdere auteurs.

functie disable_kses_content () {remove_filter ('content_save_pre', 'wp_filter_post_kses'); } add_action ('init', 'disable_kses_content', 20);

Gratis Website Thumbnailer

WordPress.com biedt een weinig bekende website-miniatuurservice - dat wil zeggen, u kunt het de URL van een webpagina vertellen en het zal een miniatuurafbeelding van die website genereren en weergeven. Voeg het volgende fragment toe om een ​​korte "webthumb" -code te maken en gebruik deze door een URL zoals omringen [webthumb] // www.makeuseof.com [/ webthumb]. Gebruik attributen om de breedte of hoogte te overschrijven en pas de HTML-uitvoer naar wens aan. Miniaturen worden in de cache opgeslagen, maar het kan even duren voordat deze zijn gegenereerd.


function websitethumbnails ($ atts, $ content = null) {extract (shortcode_atts (array ("snap" => ' http://s.wordpress.com/mshots/v1/', "alt" => 'Mijn afbeelding', "w" => '600', // breedte "h" => '350' // hoogte), $ atts)); $ img = ''. $ alt. ''; retourneer $ img; } add_shortcode ("webthumb", "websitethumbnails");

Voeg aanbevolen miniaturen toe aan RSS-feeds

De volgende code past zowel een uittreksel als een volledige RSS-feed aan om de aanbevolen miniatuur op te nemen. Je kunt ook zien hoe we aan het einde van elk item een ​​standaardlink hebben toegevoegd, die terug linkt naar het volledige bericht. Je kunt dit natuurlijk wijzigen in alles wat je wilt, zoals het toevoegen van enkele deelknoppen.


function excerpt_thumbnail_feeds ($ content) {global $ post; if (has_post_thumbnail ($ post-> ID)) {$ content = '
'. get_the_post_thumbnail ($ post-> ID, 'featured'). '
'. rss_the_excerpt ($ post-> ID, 100); } $ content. = "

Lees het volledige artikel: ".get_the_title ($ post-> ID)."

"; $ inhoud retourneren; } add_filter ("the_excerpt_rss", "excerpt_thumbnail_feeds"); // postminiaturen weergeven in feeds. functie full_thumbnail_feeds ($ content) {global $ post; if (has_post_thumbnail ($ post-> ID)) {$ content = '
'. get_the_post_thumbnail ($ post-> ID, 'featured'). '
'. $ inhoud; } $ content. = "

Lees het volledige artikel: ".get_the_title ($ post-> ID)."

"; $ inhoud retourneren; } add_filter ("the_content_rss", "full_thumbnail_feeds");

Kijk, er is ontzettend veel dat je kunt doen zonder plug-ins, en dit is slechts het oppervlak aan het krassen. Als je meer wilt, bekijk dan mijn lijst met IFTTT-recepten voor WordPress 5 geweldige IFTTT-recepten voor WordPress-gebruikersIFTTT is de favoriete automatiseringstool van de gebruiker; en WordPress is het ultieme Zwitserse zakmes voor bloggers. Stel je eens voor wat voor wereldheerschappij je zou kunnen bereiken door de twee te combineren! Lees verder of bezoek WPSnipp - een site met meer dan 600 gecategoriseerde fragmenthacks.

James heeft een BSc in Artificial Intelligence en is CompTIA A + en Network + gecertificeerd. Hij is de hoofdontwikkelaar van MakeUseOf en brengt zijn vrije tijd door met het spelen van VR paintball en bordspellen. Hij bouwt al pc's sinds hij een kind was.