Arbeta med anpassade databastabeller i WordPress

Arbeta med anpassade databastabeller i WordPress / Wordpress & Webbutveckling

Jag har visat dig många sätt på vilka WordPress redan är den mest flexibla CMS 5 saker som du kanske inte har känt kan du göra med WordPress 5 saker du kanske inte känner till kan du göra med Wordpress Att vara det mest mångsidiga bloggningssystemet någonsin, det är ingen överraskning att utvecklare har vridit och drog Wordpress till att bli så mycket mer genom smart användning av plugins. Om du trodde Wordpress var bara för ... Läs mer. En snabbsökning av den bästa av WordPress Plugins-sidan kommer också att avslöja några av de många unika och nischvägarna som du kan göra din blogg jobb hårdare. Jag har till och med visat dig hur man använder sig av anpassade posttyper. Hur man skapar egna händelselistor med hjälp av anpassade posttyper. [Wordpress] Så här gör du din egen händelselista med hjälp av anpassade inläggstyper [Wordpress] En av fördelarna med att använda Wordpress är sin rena flexibilitet. Version 3 introducerade konceptet Anpassade posttyper för att utöka den inbyggda funktionaliteten. Låt oss ta en titt idag vad du kan göra ... Läs mer för att skapa din egen mini-databas Gör en produktgranskningsdatabas med Wordpress: Anpassade posttyper, anpassade fält, utvalda bilder och widgetar! Gör en produktgranskningsdatabas med Wordpress: Anpassade posttyper, anpassade fält, utvalda bilder och widgetar! Förra gången visade vi dig hur man skapar en enkel händelselista med kanske den mest kraftfulla funktionen i WordPress 3.0 - anpassade posttyper. Efter några förfrågningar om att utveckla detta vidare, idag blir vi ... Läs mer; men jag har lämnat en sak ut, tror jag.

Vad händer om du redan har en databas med att säga kundinformation, men du vill kunna fråga den data och visa den i en WordPress-mall? Idag visar jag dig hur du gör det, säkert inom WordPress-motorn.

Krav

  • Din egen självhäftad WordPress-webbplats, självklart.
  • Grundläggande PHP och MySQL färdigheter - Jag rekommenderar Tizag PHP och MySQL tutorials, eftersom de täcker mer än tillräckligt och du kan arbeta igenom dem på en dag och referera dem igen när det behövs.
  • Ett befintligt dataset i MySQL.
  • Kommandoraden i PHPMyAdmin-åtkomst för att slå samman databaserna.
  • En enda databas med båda dataseten - det betyder att du antingen behöver slå ihop dina WordPress databas tabeller i en befintlig databas och ändra wp-config.php för att återspegla användarnamnet för den nya databasen och lösenordet; eller importera ett befintligt dataset till din WordPress-databas. Det är lättare om du inte har något annat system som bygger på data. Hur som helst, jag antar att du redan har gjort det här steget redan - kolla in min artikel om hur man gör en fullständig databas backup via en SSH-kommandorad. Så säkerhetskopierar du din webbplats via SSH-kommandoraden. Så säkerhetskopierar du din webbplats genom SSH Kommandorad Om du säkerhetskopierar din webbplats eller blogg kan det vara en dyr och svår uppgift, som kräver en mängd olika plugins eller ytterligare planer från din värdleverantör - men det behöver inte vara riktigt. Om du har SSH ... Läs mer om du behöver några tips där.

Denna handledning är ungefär så avancerad som vi kommer att få på MakeUseOf, men den borde öppna en värld av möjligheter till dig.

Varför skulle jag göra det här?

Trots de många plugins och extensions som är tillgängliga för oss i WordPress, ibland har du redan en dataset och migrerar den till ett format WordPress tycker om att vara mer krångel än det är värt - särskilt om du då har ett annat system måste du samverka med.

Idag tar jag ett exempel på en enkel kundinformationsdatabas, och vi skapar en sidmall som listar dessa kunder - endast för registrerade WordPress-användare (även om själva sidan kommer att vara tillgänglig från webbplatsens främre ände ).

Som referens för kolumn- och tabellnamn i databasen kan det vara bra att du installerar databasbrowser-pluginet, vilket också låter dig springa grundläggande var och sortera efter frågor för att testa din SQL-kod. Här är en skärmdump med ett provdataset jag har skapat - i det här fallet ett bord som heter kunder, innehåller grundläggande information om var och en av mina mycket viktiga kunder.

Vad exakt ska vi göra här?

  • Skapa en ny sidmall som vi kan applicera lite anpassad PHP-kod till.
  • Titta på hur man skapar en anpassad fråga till databasen och analysera sedan resultaten - med inbyggda WordPress-databasklasser.
  • Titta på behörigheter om du vill begränsa åtkomst.

Skapa en anpassad mall

Om du vill använda en del av din egen PHP-kod, är det enklaste sättet att göra detta, att skapa en anpassad mall, och använd sedan mallen till en viss sida du skapar i WordPress. Börja med att öppna dina temafiler och duplicera page.php (eller single.php om det inte finns en). Byt namn på det något självklart, som “mall-customers.php” som jag har valt.

Högst upp i filen måste vi berätta för WordPress, det här är en anpassad mall. Gör detta genom att lägga till följande (det här är en PHP-stilkommentare, så det borde vara efter vilken PHP-tagg som öppnats om den finns):

/ * Mallnamn: Kunder * /

Självklart, kalla det vad du vill.

Hitta nu huvudinnehållsfunktionen. Du kan ta bort det om du vill, men jag ska bara lägga till extrakoden efter det. Med standard tjugo elva temat letar du efter:

Men i de flesta teman blir det något som:

Det är den bit som visar ditt inlägg, så allt du lägger till efter det kommer att visas precis efter huvudinnehållet. Bara för att kontrollera att det är allt som fungerar, låt oss lägga till ett grundläggande echo-meddelande och spara filen.

Innan vi kan kontrollera detta måste vi skapa en sida på WordPress-administratörssidan och tillämpa vår sidmall till den.

Publicera och kolla in sidan för att se om ditt echo-uttalande har fungerat.

Custom Query Class

För att få direkt tillgång till databasen är allt du behöver göra med att använda $ wpdb-objektet genom att göra det globalt. Dessa tre linjer borde göra det - ersätt det generiska ekotillståndet som vi gjorde tidigare med detta:

get_results ("SELECT * FROM customers;"); print_r ($ kunder); ?>

Spara och uppdatera sidan. De print_r () funktionen dumpar bara ut alla data från kundens objekt - så du bör se att ditt enkla SQL-uttalande för att välja allt från kundtabellen har fungerat bra. Nu är allt du behöver göra för att analysera resultaten till något användbart. Självklart kan du ställa in ett valfritt SQL-uttalande i get_results () metod, men jag är inte här för att lära dig SQL så vi kommer att hålla fast vid att bara ta tag i allt för nu.

För att analysera resultaten ut i något mer meningsfullt använder jag just nu ett grundtabell. Ersätt print_r metod med följande kod (oroa mig inte, jag klistrar in hela koden senare om du inte vill ha det själv ihop):

eko ""; foreach ($ kunder som $ kund) echo""echo""echo""echo""echo""echo""; echo"
"$ Kund> namn.""$ Kund> e-post.""$ Kund> telefon.""$ Kund-> adress."
";

När du har varje kundobjekt inne i a för varje, Du kan enkelt komma åt fältnamnen med $ Kund> FIELD_NAME - det kunde verkligen inte vara enklare.

Säkra saker

I det här fallet vill jag inte riktigt att mina kunddata visas för någon och indexeras av sökmotorerna - men jag vill fortfarande ha den på frontänden som visas med den här mallen. så vad kan vi göra? Lätt, vi kommer att använda sig av WordPress villkorliga is_user_logged_in (), och visa ett snabbt meddelande om de inte är. Här är hela koden av kod igen med den nya villkorliga tillägget:

get_results ("SELECT * FROM customers;"); eko ""; foreach ($ kunder som $ kund) echo""echo""echo""echo""echo""echo""; echo"
"$ Kund> namn.""$ Kund> e-post.""$ Kund> telefon.""$ Kund-> adress."
", annars: echo" Tyvärr, endast registrerade användare kan se denna information "; endif;?>

Spara och uppdatera, och du ska fortfarande se innehållet. Logga ut, sedan uppdatera sidan, så ser du nu “Tyvärr, bara registrerade användare ... ” meddelande.

Om du ville begränsa detta till vissa nivåer av användare istället för alla registrerade användare, skulle du använda current_user_can () villkorad istället, tillsammans med en tillhörande kapacitet (läs mer om funktioner på codexen). Detta skulle kontrollera för administratörer, till exempel - de enda användare som kan hantera pluginalternativ:

current_user_can ('manage_options')

Sammanfattning

Jag kommer att lämna det där idag som allt annat skulle bli en SQL Så här redigerar du tusentals Wordpress-inlägg med bara ett SQL-kommando Så här redigerar du tusentals Wordpress-inlägg med bara en SQL-kommando Att odla en blogg tar år och mycket av smärta och kamp. Då är det de stora övergångarna, när du inser att du måste göra några stora förändringar, och det kommer att ta ... Läs mer handledning eller hur du stämmer din produktion med CSS. Himlen är verkligen gränsen med WordPress, och jag hoppas att det här kommer till nytta för några av er i dina WordPress-projekt.

Nästa vecka kommer jag att ta itu med det lite hårdare ämnet för hur du infogar data tillbaka i din anpassade databas med hjälp av en blankett på sidan och lite AJAX / jQuery magi.

Har du inte en WordPress-installation än? Kolla in vår guide för att installera WordPress på Bluehost Så här installerar du WordPress på Bluehost Så här installerar du WordPress på Bluehost Bluehost är bland de största, mest populära webbhotellleverantörerna. Här är en enkel guide om hur du installerar WordPress på Bluehost. Läs mer .

Utforska mer om: Verktyg för webbansvariga, Wordpress-plugins.