10 nuttige WordPress-functies die u misschien niet kent
WordPress zit vol met geweldige functies voor ons ontwikkelaars om te gebruiken. We kunnen postlijsten zomaar uit de lucht halen, bijna alles over hen manipuleren, elke gewenste gebruiker pakken en hun sociale-mediaverbindingen in een oogwenk weergeven.
Er zijn echter nogal wat functies die om onbekende redenen over het hoofd worden gezien. Ik codeer nu al 8 jaar met WordPress en zo nu en dan vind ik nog steeds iets nieuws! Laten we eens kijken naar enkele van mijn favoriete over het hoofd geziene functies en leren hoe ze onderweg kunnen worden gebruikt.
antispambot ()
Ik verhoog meestal een paar wenkbrauwen met deze, het lijkt een van de best verborgen functies in de codebase te zijn. antispambot()
vervangt tekens door HTML-entiteiten, wat een manier is om e-mailadressen te maskeren tegen kwaadaardige scrapers.
$ email = '[email protected]'; echo 'U kunt contact met mij opnemen via'. antispambot ($ email). 'altijd'.
Hoewel dit een handige tidbit is, is het ook een voorbeeld van waarom sommige mensen WordPress bekritiseren - dit is een vreselijk benoemde functie. Van het lezen van de functienaam, heb je geen idee wat het doet.
human_time_diff ()
Toen ik ongeveer een jaar geleden voor het eerst over deze functie hoorde, dacht ik dat het een recente toevoeging was die ik over het hoofd zag in een changelog. Niet helemaal…
Deze functie - die het verschil tussen twee tijdstempels uitvoert - is sinds versie 1.5 (dat is 17 februari 2005!).
Het volgende geweldige fragment dat ik heb geleend van de codex laat zien hoe lang geleden een huidig bericht werd gepubliceerd. Het gebruikt de publicatiedatum van de post als het eerste argument en de huidige datum als de tweede .
echo 'Dit bericht is gepubliceerd'. human_time_diff (get_the_time ('U'), current_time ('timestamp')). 'geleden';
get_post_meta ()
Houd hier, ik weet dat dit een veelgebruikte functie is, maar hoe het werkt, is niet zo algemeen bekend. Allereerst kun je, door de tweede en derde parameter weg te laten, alle metadata voor een bericht ophalen .
$ all_meta = get_post_meta (14);
Zelfs als je alleen de gegevens voor een enkele sleutel pakt, wordt toch al de post-meta getrokken.
De reden is eigenlijk best logisch. Metagegevens worden op meerdere plaatsen gebruikt. Als get_post_meta()
de database get_post_meta()
elke keer dat het werd gebruikt, zouden we met veel te veel vragen eindigen. Als u daarentegen metagegevens ophaalt, wordt dit allemaal in de cache opgeslagen en worden de waarden in de cache gebruikt voor alle volgende ophalen van metagegevens.
wp_upload_bits ()
Deze functie is een functie voor het rechtstreeks uploaden van bestanden . Hoewel het bestand niet wordt verplaatst naar de map uploads en het wordt toegevoegd aan de WordPress-mediasectie, is het uiterst handig en kunt u altijd de rest doen met de functie wp_insert_attachment()
.
$ upload = wp_upload_bits ($ file ['name'], null, file_get_contents ($ file ['tmp_name']));
Hier is een verklaring voor beschikbaar: de eerste parameter is de bestandsnaam. De tweede wordt afgeschreven zodat deze moet worden ingesteld op nul (eyeroll op consistentie van WordPress). De derde parameter is de daadwerkelijke inhoud van het bestand.
get_post_field ()
In het verleden zag ik nogal wat voorbeelden waarin iemand een lus schreef om een aantal reacties te krijgen voor een bericht, of schreef er een speciale databasequery voor. Je hebt ze niet nodig, je hebt get_post_field()
. Met deze functie wordt de waarde opgehaald van een enkel veld voor één bericht in de database. Laten we een opmerking tellen!
Dit bericht heeft opmerkingen.
wpautop ()
Deze functie is een beetje in de schijnwerpers gekomen, maar is nog relatief onbekend. Het is vergelijkbaar met de PHP native nl2br
maar in plaats van nieuwe regels te maken, verpakt het je inhoud in paragrafen .
Dit is handig als u een tekstvak hebt en u ervoor wilt zorgen dat gebruikers die alinea's met dubbele regeleinden maken, ook zichtbaar blijven in de front-end.
Wat onze gebruikers zeggen
wp_is_mobile ()
Deze handig benoemde functie detecteert wanneer een gebruiker zich op een mobiel apparaat bevindt en biedt u de mogelijkheid om inhoud dienovereenkomstig weer te geven . Omdat dit een voorwaardelijke tag is, retourneert deze true of false, afhankelijk van het scenario.
Bezoek onze website op uw desktop voor een rijkere gebruikerservaring
DOING_AJAX
Hoewel dit een constante is, geen functie (sorry), is het toch nuttig. U kunt onderscheid maken tussen AJAX-aanroepen en gewone dingen door te controleren of deze is gedefinieerd en waar is. Dit kan handig zijn als u een algemene functie gebruikt voor een taak die soms door AJAX wordt geactiveerd.
if (defined ('DOING_AJAX') && DOING_AJAX) {echo 'done'; die ()} else {}
wp_redirect ()
Het laatste voorbeeld toont nog een leuke functie: wp_redirect()
. Dit moet worden gebruikt in plaats van de PHP native header()
-functie. Met de redirectiefunctie WordPress kunt u een URL instellen waarnaar moet worden omgeleid, en u kunt ook een statuscode instellen, die ook geschikt is voor het verwerken van permanente omleidingen.
// Voor een URL die niet langer in gebruik is wp_redirect ('http://website.com/new-url/', 301);
paginate_links ()
Ik wed dat deze functie deels te danken is aan de populariteit van de plug-in WP-PageNavi. Standaard toont WordPress de vorige / volgende links aan het einde van uw berichtenlijst . WP-PageNavi vervangt dat met paginanummers .
Dit kan eigenlijk worden gedaan met een beetje werk met behulp van de paginate_links()
functies. Het heeft nogal wat parameters, dus ik raad aan om een kijkje te nemen in de documentatie.
Het volgende voorbeeld uit de codex laat zien hoe je het aan een standaardlus kunt toevoegen, maar toevoegen aan aangepaste loops is niet echt een strekking.
globale $ wp_query; $ big = 999999999; // behoefte aan een onwaarschijnlijk integer echo paginate_links (array ('base' => str_replace ($ big, '% #%', esc_url (get_pagenum_link ($ big))), 'format' => '? paged =% #%', 'current' => max (1, get_query_var ('paged')), 'total' => $ wp_query-> max_num_pages));
Conclusie
Dit zijn slechts enkele functies die minder bekend lijken te zijn dan de rest. Ik ontdek elke twee maanden een nieuwe geweldige functie en ik ben er zeker van dat mijn ontwikkelaarsvrienden ons nog verder kunnen verrassen.
Als je een favoriete obscure functie hebt of een functie die nuttig zou zijn maar niet beschikbaar is, laat het ons dan weten in de reacties!
30 gratis Android-pictogramsets van hoge kwaliteit
We weten zeker dat de meesten van jullie eerder geprobeerd hebben aangepaste achtergronden te gebruiken, maar waarom zou je stoppen? Waarom probeert u ook geen aangepaste pictogrammen? Het is niet moeilijk; als u een Android-draagraket gebruikt, kunt u uw Android-pictogrammen aanpassen met elke PNG-bestanden
MEAN versus LAMP Stack: voors en tegens
Webstacks zijn in de afgelopen decennia geëvolueerd met verbeteringen in technologie en backend-talen. Twee van de meest populaire webstacks zijn LAMP en MEAN. Ze vertrouwen op twee verschillende technologieën voor backend-talen, databases en serveromgevingen. De "stapel" term verwijst naar technologieën die op elkaar stapelen om een webserveromgeving te creëren .In dit