
Brian Curtis
0
3546
1054
Jeg har vist dig mange måder, hvorpå WordPress allerede er den mest fleksible CMS 5 ting, du måske ikke har kendt du kunne gøre med Wordpress 5 Ting, du måske ikke har kendt, du kunne gøre med Wordpress At være det mest alsidige blogssystem nogensinde, det er ikke overraskelse over, at udviklere har snoet og trukket Wordpress til at blive så meget mere gennem den smarte brug af plugins. Hvis du troede Wordpress kun var til…. En hurtig scanning af siden Bedste af WordPress-plugins afslører også nogle af de mange unikke og nichemåder, du kan få din blog til at arbejde hårdere. Jeg har endda vist dig, hvordan du bruger brugerdefinerede indlægstyper Sådan opretter du dine egne begivenhedsfortegnelser ved hjælp af brugerdefinerede indlægstyper i WordPress Sådan oprettes dine egne begivenhedsfortegnelser ved hjælp af brugerdefinerede indlægstyper i WordPress WordPress giver dig mulighed for at bruge brugerdefinerede indlægstyper til at udvide indbygget funktionalitet. Sådan gør du det uden plugins. at oprette din egen minidatabase Lav en produktanmeldelsesdatabase med Wordpress: Brugerdefinerede posttyper, brugerdefinerede felter, valgte billeder & widgets! Lav en produktanmeldelsesdatabase med Wordpress: Brugerdefinerede posttyper, brugerdefinerede felter, valgte billeder og widgets! Sidste gang vi viste dig, hvordan du opretter en enkel begivenhedsfortegnelse ved hjælp af måske den mest kraftfulde funktion i WordPress 3.0 - tilpassede indlægstyper. Efter nogle anmodninger om at udvikle dette yderligere, er vi i dag…; men jeg har udeladt en ting ude, tror jeg.
Hvad hvis du allerede har en database med siger, kundeinformation, men du vil være i stand til at forespørge disse data og vise dem i en WordPress-skabelon? I dag viser jeg dig bare, hvordan du gør det, sikkert inden for WordPress-motoren.
Krav
- Dit eget selvhostede WordPress-sted, selvfølgelig.
- Grundlæggende PHP og MySQL færdigheder - Jeg anbefaler Tizag PHP og MySQL tutorials, da de dækker mere end nok, og du kan arbejde igennem dem på en dag og henvise til dem igen, når det er nødvendigt.
- Et eksisterende datasæt i MySQL.
- Kommandolinje for PHPMyAdmin-adgang til at flette databaserne.
- En enkelt database med begge datasæt - dette betyder, at du enten skal flette dine WordPress-databasetabeller til en eksisterende database og ændre wp-config.php at afspejle det nye databasens brugernavn og adgangskodedetaljer; eller importer et eksisterende datasæt til din WordPress-database. Det er lettere, hvis du ikke har et andet system, der er afhængig af dataene. Uanset hvad vil jeg antage, at du allerede har gjort dette trin - tjek min artikel om, hvordan du udfører en fuld database-sikkerhedskopi via en SSH-kommandolinje, hvordan du sikkerhedskopierer dit websted gennem SSH-kommandolinje, hvordan du sikkerhedskopierer dit websted gennem SSH Kommandolinje Sikkerhedskopiering af dit websted eller blog kan være en dyr og besværlig opgave, der kræver en række plugins eller yderligere planer fra din hostingudbyder - men det behøver ikke være rigtigt. Hvis du har SSH ... hvis du har brug for nogle tip der.
Denne tutorial er omtrent så avanceret, som vi kommer til at få på MakeUseOf, men det skal åbne en verden af muligheder for dig.
Hvorfor ville jeg gøre dette?
På trods af de mange plugins og udvidelser, der er tilgængelige for os i WordPress, har du sommetider allerede et datasæt og at migrere det til et format, som WordPress kan lide, ville være mere besværligt, end det er værd - især hvis du så har et andet system, du har brug for at samarbejde med.
I dag tager jeg eksemplet på en simpel kundeinformationsdatabase, og vi opretter en sideskabelon, der viser disse kunder - kun til registrerede WordPress-brugere (selvom selve siden er tilgængelig fra forenden af webstedet ).
Som en henvisning til kolonne- og tabelnavne i databasen kan det være nyttigt at installere databasebrowser-plugin, som også giver dig mulighed for at køre basic hvor og bestil af forespørgsler for at teste din SQL-kode. Her er et skærmbillede med et eksempel-datasæt, jeg har oprettet - i dette tilfælde en tabel kaldet Kunder, der indeholder nogle grundlæggende oplysninger om hver af mine meget vigtige klienter.
Hvad præcist skal vi gøre her?
- Oprettelse af en ny sideskabelon, som vi derefter kan anvende en brugerdefineret PHP-kode til.
- Ser man på, hvordan man opretter en brugerdefineret forespørgsel til databasen og analyserer derefter resultaterne - ved hjælp af indbyggede WordPress-databaseklasser.
- Ser man på tilladelser i tilfælde af at man vil begrænse adgangen.
Oprettelse af en tilpasset skabelon
Hvis du vil bruge noget af din egen PHP-kode, er den nemmeste måde at gøre dette på at oprette en brugerdefineret skabelon og derefter anvende skabelonen på en bestemt side, du opretter i WordPress. Start med at åbne dine temafiler og duplikere page.php (eller single.php hvis der ikke er en). Omdøb det til noget indlysende “skabelon-customers.php” som jeg har valgt.
Helt øverst i filen skal vi fortælle WordPress, at dette er en brugerdefineret skabelon. Gør dette ved at tilføje følgende (dette er en PHP-stilkommentar, så det skal være efter enhver åbning af PHP-tag, hvis den er til stede):
/ * Skabelonnavn: Kunder * /
Naturligvis skal du kalde det, hvad du vil.
Find nu hovedindholdsfunktionen. Du kan slette den, hvis du vil, men jeg vil bare tilføje den ekstra kode efter den. Med standard-tyv-elleve-temaet leder du efter:
Men i de fleste temaer vil det være noget som:
Det er den bit, der viser dit indhold, så alt, hvad du tilføjer efter det, vises lige efter hovedindholdsområdet. Bare for at kontrollere, at det hele fungerer, lad os tilføje en grundlæggende ekkoerklæring og gemme filen.
Inden vi kan kontrollere dette, skal vi oprette en side på WordPress-admin-siden og anvende vores sideskabelon på den.
Publicer, og tjek siden for at se, om din ekkoerklæring har fungeret.
Den tilpassede forespørgselsklasse
For at få direkte adgang til databasen er alt, hvad du skal gøre, at bruge $ wpdb-objektet ved at gøre det globalt. Disse tre linjer skal gøre det - erstatte den generelle ekkoerklæring, vi har fremsat tidligere med denne:
get_results ("VÆLG * FRA kunder;"); print_r ($ kunder); ?>
Gem og opdater siden. Det print_r () -funktion bare dumper alle data fra kundens objekt - så du skal se, at din enkle SQL-sætning for at vælge alt fra kundetabellen har fungeret fint. Nu skal du bare analysere resultaterne til noget anvendeligt. Selvfølgelig kan du placere en hvilken som helst SQL-valgsætning i get_results () metode, men jeg er ikke her for at lære dig SQL, så vi holder os med bare at gribe alt indtil videre.
For at analysere resultaterne til noget mere meningsfuldt bruger jeg bare en grundlæggende tabel i øjeblikket. Udskift print_r metode med følgende kode (rolig, jeg klistrer den fulde kode senere, hvis du ikke selv ønsker at dele den sammen):
ekko "
"$ Kunde-> navn." | "; ekko ""$ Kunde-> e-mail." | "; ekko ""$ Kunde-> telefon." | "; ekko ""$ Kunde-> adresse." | "; ekko "
Når du først har hvert kundeobjekt inde i en for hver, kan du nemt få adgang til feltnavne med $ Kunde-> FIELD_NAME - det kunne virkelig ikke være enklere.
Sikring af ting
I dette tilfælde ønsker jeg ikke rigtig, at mine kundedata skal vises for enhver og indekseres af søgemaskinerne - men jeg vil stadig have dem i frontend, der vises ved hjælp af denne skabelon; så hvad kan vi gøre? Let, vi vil gøre brug af WordPress betinget is_user_logged_in (), og vis en hurtig besked, hvis de ikke er det. Her er hele kodeblokken igen med den nye betingede tilføjet:
get_results ("VÆLG * FRA kunder;"); ekko "
"$ Kunde-> navn." | "; ekko ""$ Kunde-> e-mail." | "; ekko ""$ Kunde-> telefon." | "; ekko ""$ Kunde-> adresse." | "; ekko "
Gem og opdater, og du skal stadig se indholdet. Log dog ud, derefter opdater siden, så ser du nu “Beklager, kun registrerede brugere ... ” besked.
Hvis du ville begrænse dette til bestemte niveauer af brugere i stedet for alle registrerede brugere, ville du bruge current_user_can () betinget i stedet sammen med en tilknyttet kapacitet (om kapaciteter på kodeks). Dette kontrollerer for eksempel administratorbrugere - de eneste brugere, der kan administrere plugin-indstillinger:
current_user_can ('manage_options')
Resumé
Jeg vil lade det være der i dag, da alt andet ville blive en SQL-tutorial eller hvordan man kan style dit output med CSS. Himmelen er virkelig grænsen med WordPress, og jeg håber, at dette kommer til nytte for nogle af jer i dine WordPress-projekter.
I næste uge skal jeg tackle det lidt vanskeligere emne, hvordan man indsætter data tilbage i din brugerdefinerede database ved hjælp af en formular på siden, og lidt AJAX / jQuery-magi. Og se på nogle af vores andre WordPress-guider, som at løse 500 interne serverfejl og blanke sider Den ultimative guide til at løse 500 interne serverfejl og blanke hvide sider i WordPress Den ultimative guide til at løse 500 interne serverfejl og blanke hvide sider i WordPress Har du problemer med 500 interne serverfejl og blanke sider i WordPress? Her er, hvordan du løser dem med det samme. og fremhævede miniaturebilleder og billedstørrelser Den komplette guide til udvalgte miniaturebilleder og billedstørrelser i WordPress Den komplette guide til udvalgte miniaturebilleder og billedstørrelser i WordPress Her er alt hvad du har brug for at vide om billedstørrelser i WordPress og håndtering af fremhævede billeder. .
Har du ikke en WordPress-installation endnu? Se vores guide til installation af WordPress på Bluehost Sådan installeres WordPress på Bluehost Sådan installeres WordPress på Bluehost Bluehost er blandt de største, mest populære webhostudbydere. Her er en nem guide til, hvordan du installerer WordPress på Bluehost. .