5+ SQL WordPress queries die je tijd besparen

- Random. read

1 mrt

Save or share

Velen van jullie hebben al een WordPress blog en komen waarschijnlijk dingen tegen waarvan je denkt die beter kunnen of je denkt wel eens bij jezelf “hé dat zou handig zijn” of eerder zoiets als “hoe kan ik dat nu in godsnaam sneller doen?”

Wel, … vorige week heb ik wat zitten surfen en ik kwam een interessante post tegen met SQL Queries die wel eens wat tijd zouden kunnen besparen voor bepaalde zaken of instellingen op je blog. Ik heb er de beste, of toch wat mij de meest interessante lijken, uitgepikt en zal je een woordje uitleg erbij geven ;-)

Ok, vanaf nu wordt het een beetje technisch dus ik hoop dat je een basiskennis SQL hebt. Of nee, laat ik onmiddellijk de koe bij de horens vatten en jullie een snelcursus geven in SQL.

Wat is SQL?

SQL staat voor Structured Query Language en om het kort te houden is dat de taal die je gebruikt om acties toe te passen op een database. Met SQL Queries kan je dus bijvoorbeeld data van bepaalde tabellen in je database aanspreken en eventueel acties uitvoeren zoals :

  • data opvragen (sorteren en de totale rim ram*)
  • data updaten
  • data wissen
  • data toevoegen

*Rim ram is het Belgische (of waarschijnlijk Westvlaamse) synoniem voor “de god ganse boel”.

Waarvoor wordt SQL gebruikt?

SQL is zowat overal terug te vinden, in bijna iedere website. Hetzij een website met een content management systeem of een blog die je zelf kan onderhouden of een grote e-commerce webshop waar je kan producten toevoegen, wissen en aanpassen zoveel je maar wil, … daar zal je allemaal SQL “under the hood” vinden.

Zodra er gebruik wordt gemaakt van een database die data bevat voor je website is SQL nodig om dergelijke data op te vragen, te tonen en te bewerken.

Hoe werkt het dan precies?

Stel je hebt een website met een CMS systeem en je kan een pagina met tekst aanpassen. Die tekst zal in een database verwerkt zitten (het kan ook anders maar ff bij de database houden nu) en die moet jij kunnen aanpassen.

Wanneer jij iets aanpast en op de knop “Opslaan” drukt (fictief voorbeeld) zal de programmatie van jouw website een actie uitvoeren en via een SQL statement de tekst in de database aanpassen.

Wat kan ik er dan mee doen voor mijn WordPress blog?

Ok, vanaf nu wordt het iets technischer – tijd voor WordPress Query tips en tricks!

WordPress is een fantastisch platform en dagelijks komen er nog plugins bij die erg handig zijn maar voor enkele zaken is het soms beter back to basics te gaan en te kiezen voor een SQL statement. Tenslotte zijn plugins niets anders dan gesofisticeerde stukjes programma die een SQL statement uitvoeren en dus iets aanpassen aan je blog en de content van je database waaruit je blog de input uit put.

Eerst en vooral installeer je de WP SQL Executioner van Justinsomnia.org. Met deze plugin kan je rechtstreeks vanuit je admin de database aanspreken met SQL statements. Zeer handig en hoef je dus ook niet meer in te loggen op je MySQL database op de MySQL server (en bespaart mij ook de tijd jou uit te leggen hoe je dat precies moet doen ;-)).

Ok, vooraleer we enkele WordPress Query SQL statements overlopen wil ik er nog even op wijzen dat dergelijke zaken een serieuse impact op je blog kunnen hebben. Weet wat je doet. Eenmaal je jouw database veranderd hebt, is de weg om dit weer ongedaan te maken heel moeilijk en vooral ook omslachtig en tijdrovend! Opletten dus en misschien best even een backup van je database nemen! Hier heb je alvast een goede plugin voor een backup.

    1. WordPress Query “Posts verplaatsen onder verschillende users”

      Je hebt waarschijnlijk al wel hier en daar gelezen dat guest blogging een goede zaak is voor zowel je blog aan te dikken met content als extra trafiek te genereren. Zelf overweeg ik het ook maar ben ik er nog niet helemaal aan uit welke richting ik uit wil en wie ik wil vragen als guest blogger. Maar dat is een ander verhaal.
      Stel dat je een dergelijke grote blog hebt met verschillende bloggers en eentje heeft er de brui aan, dan kan je snel alle posts van de ene blogger overzetten naar de andere. Lijkt mij wel handig! Als je grote hoeveelheden posts moet overzetten via de admin, ja halloooooow! Ben je wel ff bezig hé!?
      UPDATE wp_posts SET post_author=NEW_AUTHOR_ID WHERE post_author=OLD_AUTHOR_ID;

 

    1. WordPress Query “Snel SPAM wissen”

      Stel je gaat op reis en je hebt geen internetverbinding. Als je terug komt zal je waarschijnlijk wel een boel SPAM comments hebben. Deze kan je  dus ook met SQL wissen alhoewel dat nu ook al snel kan in de admin door even op de “delete all” te drukken.
      DELETE from wp_comments WHERE comment_approved = '0';
    2. WordPress Query “Ongebruikte tags wissen”
      SELECT * From wp_terms wt INNER JOIN wp_term_taxonomy wtt ON wt.term_id=wtt.term_id WHERE wtt.taxonomy='post_tag' AND wtt.count=0;

 

  1. WordPress Query “Exporteer een lijst met emails van alle mensen die al comments hebben gegeven op jouw blog”
    SELECT DISTINCT comment_author_email FROM wp_comments;
  2. WordPress Query “Last van een hacker of SPAM?”

    Stel dat het een hacker toch lukt (ondanks als jouw voorzorgsmaatregelen) jouw blog te hacken en je blog vol te zetten met comments kan je dit snel oplossen.

    DELETE from wp_comments WHERE comment_author_url LIKE "%wpbeginner%" ;

Op de originele post staan nog enkele nuttige SQL statements maar die voor mij iets minder belangrijk leken. Aanpassen van url’s en dergelijke en aanpassen van commentators zou ik toch niet aan beginnen als je een serieuze blog wilt en je wat respect en aanzien wilt opbouwen in jouw doelgroep.

Misschien toch nog enkele extra WordPress Query SQL statements :

DELETE FROM wp_comments WHERE comment_type = 'pingback';

En nog wat andere WordPress extra’s – WordPress tips en tricks :

Bedankt om tot het einde te lezen

Zodra er een nieuwe post is, in je inbox?


Ik wil enkel bepaalde topics ontvangen


Meer van dit?

In de categorie Random vind je nog veel meer!
Liever in alle posts graven? Dat kan ook.




Reeds 10 Reacties op “5+ SQL WordPress queries die je tijd besparen”

  1. Bert

    Op 15 maart 2010 om 16:13

    Dries, je uitleg kwam me te pas… maar nu heb ik een ander probleem. Op mijn blog had ik graag de mogelijkheid gehad om een MySQL DB aan te spreken met queries. Aangezien ik dit door gebruikers interactief wil laten doen, zal ik dan ook PHP moeten gebruiken (met daarin de query statements). Maar hoe moet ik dit doen. Via de plugin exec-php lukt het me niet, want daarin kan je enkel gekende personen PHP laten uitvoeren. De bezoekers op mijn pagina zijn niet gekend, zodus kunnen ze dan ook geen PHP statements uitvoeren. Kan je me helpen of op weg helpen? Alvast bedankt.

    [Reageer op deze comment]

    Dries Bultynck Reply:

    @Bert, dus als ik het goed begrijp wil je iedereen, ongeacht geen login of niet gekend, toegang geven op je database? Dus front-end users de database laten aanpassen of doorzoeken bedoel je dan of zoiets?

    Je zou kunnen een pagina maken in de vorm van een formulier met een textarea die de SQL inleest en daarna uitvoert en tonen via een iframe binnen diezelfde pagina. Zo update je rechtstreeks. Of heb ik het verkeerd voor?

    [Reageer op deze comment]

    Bert Reply:

    @Dries Bultynck, Dries, het is enkel een read-only raadplegen van een database. De output had ik graag in een tabel gezien. Als kers op de taart had ik graag dat de bezoeker kon selecteren op bepaalde velden… bijvoorbeeld (hier een database van geproefde wijnen)… selecteren op kleur, jaargang, plaats wijnbouwer, aoc etc… al of niet in combinatie van elkaar. Ik vraag niet het onmogelijke maar weet niet hoe ik er aan moet beginnen. Heb al héél wat ervaring met bijvoorbeeld access. Bestaat er iets niet dat bijvoorbeeld zule queries kan omzetten naar html of PHP. Of bestaat er een andere tool die me daarbij kan helpen. Als laatste, ik gebruik vnl. Apple’s Mac OS X als frontend PC.

    [Reageer op deze comment]

    Dries Bultynck Reply:

    @Bert, je wenst dus een gewone sorteerfunctie? Haal je gewoon alle velden op en maak daarmee jouw SQL statement.
    bv: SELECT check1, check2 FROM tabel WHERE jaar=value3

    Je kan alles controleren en dan samenstellen. Moet je wel even goed over nadenken hoe de combinaties dan precies mogelijk zijn. Als je een voorbeeld zoekt van een dergelijke functie kan je hier terecht: http://stackoverflow.com/questions/743932/sort-a-mysql-table-using-php-ajax-and-jquery Ik vermoed dat je dan wel verder kan?

    http://www.driesbultynck.be/random/sql-wordpress-queries/
  2. marketingyudai

    Op 24 maart 2010 om 20:02

    Amai ik wist zelfs niet dat je dat allemaal kon met WordPress. Ik ben dan ook een blogger-fan, maar ik ben we de laatste tijd overtuigd van de meerwaarde van wordpress. Ik heb voor een klant een wordpress-website opgezet en het enige probleem dat ik nog heb is google analytics implementeren. Ben je dan verplicht om de wordpress-applicatie te laten draaien op je eigen host…

    [Reageer op deze comment]

    Dries Bultynck Reply:

    Hoi Yudai, welkom en bedankt voor je comment. Ik zie dat jij met blogger werkt? Persoonlijk vind ik WordPress veruit het beste platform! Het heeft enorm veel mogelijkheden en er zijn heel wat plugins voor te vinden. Blogger daarentegen is maar mager en kan je (vermoed ik) niet onder een eigen domein gooien wat ook al niet zo slim is als je iets wil opbouwen en volledige vrijheid wil over je blog.

    [Reageer op deze comment]

    http://www.driesbultynck.be/random/sql-wordpress-queries/
  3. marketingyudai

    Op 25 maart 2010 om 07:42

    Mjah…ik werk met beiden en ze hebben beiden hun sterktes en zwaktes… ik vraag me wel af of blogger niet beter scoort doordat het een product is van Google?

    [Reageer op deze comment]

    Dries Bultynck Reply:

    Volgens mijn weten is WordPress niet van Google. Ik denk dat WordPress toch een stapje voor heeft op Drupal en Joomla, het zit gewoon veel beter in elkaar

    [Reageer op deze comment]

    http://www.driesbultynck.be/random/sql-wordpress-queries/
  4. Gerron Mulder

    Op 15 februari 2011 om 09:01

    Na de title had ik verwacht dat het om snelheid ging. Dan zou caching natuurlijk veel kunnen schelen. Maar dit zijn zeker handige queries!

    [Reageer op deze comment]

    Dries Bultynck Reply:

    Oei, dat was zeker de bedoeling niet. Leuk dat je er toch iets mee bent.

    [Reageer op deze comment]

    http://www.driesbultynck.be/random/sql-wordpress-queries/

Een reactie plaatsen