I den første delen av denne opplæringen så vi på hva slags ting du må vurdere før du setter på jobb og bygger din billettsalgsmall. Nå skal vi legge til all funksjonalitet du vil ønske fra et billettsted.
Vi dykker rett inn i malen laget av standard WordPress installasjon av tjue elleve og bygger oss en snazzy spørring som bruker egendefinerte feltdata. Deretter skal vi registrere deg for TicketTailor og lære hvordan vi kan opprette samtaler til handling for å sikre at brukerne våre enkelt kan kjøpe.
En av de tingene jeg blir konstant overrasket over når jeg skriver kode for bruk med WordPress, er mengden av avanserte oppgaver som kan oppnås med en relativt enkel kodebit og litt lateral tenkning. Jeg har mistet tellingen av antall ganger jeg har brukt en altfor komplisert løsning på et problem bare for å finne at endring av en linje med kode på et senere tidspunkt eliminerer behovet for 100 linjer som jeg skrev da jeg leverte prosjektet til min klient.
Billettsiden er et av disse eksemplene. Min klient ville ha et nettsted som gjorde en skille mellom fremtidige og tidligere hendelser. Jeg løste problemet med et plugin som automatisk endret kategorien av en hendelse fra "fremtid" til "fortid" til en viss tid på en bestemt dag. Dette var ikke nødvendig.
WordPress-postspørsmål tillater oss å søke etter tilpasset felt. Det betyr at vi kan sette et egendefinert felt på våre innlegg, kalt "Dato", for eksempel, og deretter ordne våre innlegg med det. Som du sikkert kan se, betyr det at vi også kan få innleggene til å forsvinne eller gjøre noe annet vi vil bare ved å skrive en god forespørsel og deretter bruke våre tilpassede felt nøye.
La oss gå videre og skrive et spørsmål for vår indeksside. Vi ønsker å gjøre følgende ting:
Her er spørsmålet vi skal bruke for å gjøre det:
query_posts (array ('post_type' => 'innlegg', 'posts_per_page' => 4, 'meta_key' => 'Dato', 'meta_value' => dato ("Y / m / d"), 'meta_compare' => '> =', 'orderby' => 'meta_value', 'order' => 'ASC', 'paged' => get_query_var ('paged'))));
Det har mange symboler og bokstaver i det, så la oss slå det ned:
Wow! Pust godt inn. Vi har nettopp skrevet koden som kommer til å kraft mesteparten av vårt arbeid fra nå av - godt arbeid! La oss nå slippe det inn i vår index.php-fil. Her er hva index.php filen skal se ut etter det:
'post', 'posts_per_page' => 4, 'meta_key' => 'Dato', 'meta_value' => dato ("Y / m / d"), 'meta_compare' => '> =', 'orderby' = > 'meta_value', 'order' => 'ASC', 'paged' => get_query_var ('paged')))); ?>
Klikk lagre og last deretter inn nettstedet ditt. Noe ser feil her? Alle innleggene dine er forsvunnet:
Ikke vær redd! Det betyr at søket vårt har fungert. Husk at du fortalte WordPress å bruke feltet "Dato" for å vise innleggene dine? Vel, så smart som WordPress er, hvis du ikke angir et 'Date' tilpasset felt på innleggene dine, vil det ikke vise innleggene dine! Nå må vi rette opp vårt problem.
Last opp WordPress-dashbordet ditt og naviger til et av innleggene dine. Klikk på "rediger". Hvis du aldri har brukt egendefinerte felt på nettstedet ditt før, er det sjansen for at feltene vil bli skjult på ditt postredigeringspanel. For å aktivere dem, klikk på 'Skjermalternativer' øverst til høyre i vinduet og merk av i boksen ved siden av 'Egendefinerte felt'. Det burde gi deg muligheten til å legge til egendefinerte felt ved å bla til bunnen av vinduet fra nå av. Legg til et nytt egendefinert felt med navnet 'Date'
Det tilpassede feltet er saksfølsomt. Det spiller ingen rolle hva du skriver så lenge det samsvarer med navnet på det egendefinerte feltet i søket ditt.
Nå må du også legge til en dato i riktig format. Tidligere påtalte vi i vår forespørsel at vi skulle bruke datoformatet: ÅÅÅÅ / MM / DD - Du må holde fast i dette formatet for denne opplæringen. Hvis du ikke gjør det, vil koden din ikke fungere. Det er fordi WordPress er utrolig effektiv ved å sammenligne datoer og starter med året først, sørger for at kun innlegg i år og i fremtiden vil vise. Da gjør det det samme i flere måneder. Så i dager.
Selv om dette datoformatet sannsynligvis ikke føles naturlig for deg, vil det spare deg for mye trøbbel. Du bør ha noe som ser slik ut:
Legg til datoer for alle innleggene dine ved hjelp av "Dato" -tilpasset felt nå. Last deretter inn index.php-filen din og du vil se at du har de fire konsertene (innlegg) med nærmeste "Dato" som vises. Fire vil også ha forsvunnet (forutsatt at du brukte XML-filen jeg ga deg i første del). Det er en grunn til det, og vi ser på det i et øyeblikk.
TicketTailor er et flott nettsted som tilbyr billett- og kortservice for arrangører av konserter. Bortsett fra å ha utrolig kundeservice, har de også fått en omfattende back-end-plattform som gir billettsalgsstatistikk, tilknyttede koblingsmuligheter, avanserte ticketing-evner som forskjellige prisnivåer, og også muligheten til å skrive ut brukervennlige gjestelister for konserter.
Mens du kanskje kan få disse evnene andre steder, kan du ikke få noe annet sted, tilpasningshjelpen fra TicketTailor-staben. Med de tre øverste planene i prisplanen tilpasser teamet bak TicketTailor salgssiden på serveren for å se akkurat som ditt WordPress-nettsted - uansett hva du har gjort med det. Det er ganske smart.
Dette er ikke inkludert i pakken Basic eller Promoter, men hvis du ikke vil betale, kan du også bruke disse tjenestene.
Registrer deg for TicketTailor og sett opp en begivenhet slik at du har en billettadresse for å sende folk til og bruke i denne opplæringen.
Hvis du hoppet over trinn 3, vil du ikke ha registrert deg for TicketTailor, og nå vil du gå tapt. Du bør gå tilbake og gjøre det nå.
Så du har din testhendelse satt opp på TicketTailor, og du kan få tilgang til butikken din ved å bruke linken på TicketTailor admin panel. La oss nå koble til vår WordPress-side og vår TicketTailor-side. Vi gjør dette ved hjelp av ring til handlingsknapper som drives dynamisk.
Husk hvordan vi la til et egendefinert felt for "Dato" i trinn 2? Nå skal vi gjøre det samme for vår billettkobling. Bortsett fra at denne gangen trenger vi ikke å skrive et spørsmål.
Åpne postredigeringsprogrammet og legg til det egendefinerte feltet 'Billett' og skriv deretter inn nettadressen til testhendelsen du har satt opp på TicketTailor slik at postpanelet ser slik ut:
Vi må bruke 'Ticket' tilpassede feltet for å generere en knapp under plakaten til konserten - men vi vil bare at den skal vise knappen hvis det er et "Billett" tilpasset felt for innlegget. Åpne filen content.php og slipp følgende kode i like under linje 14 (som kaller innleggets innhold)
ID, 'Billett', sant); hvis ($ billett):?> "> Få billetter
Oppdater nå indekssiden din og så lenge hendelsen din er:
Du bør se noe slikt:
Internett er fullt av buzz ord - ingen felt er mer full av buzz ord enn webdesign verden. En av de store trendene i design er ideen om å bruke en knapp for å få noen til å gjøre noe. Dette kalles en "call to action", og de jobber egentlig - så vi skal slå den enkle billettlenken til en oppfordring til å bruke et par linjer med CSS og en klassekode på HTML. Jeg brukte følgende CSS som et eksempel, men du kan bruke alt du liker. Bare legg til følgende i style.css-filen din:
a.btn bredde: 100px; polstring: 10px 10px 10px 10px; margin-bunn: 10px; skriftstørrelse: 16px; tekst-dekorasjon: ingen; farge: hvit; tekstskygge: -1px -1px 2px #fff; bakgrunn: # ff00cc; grense: 1px solid #ccc; border-radius: 3px; -moz-grense-radius: 3px; -webkit-grense-radius: 3px; a.btn: svever tekst-skygge: -1px -1px 2px #fff; bakgrunn: # 00bafb; grense: 1px solid #ccc;
Og oppdater deretter innholdet på .php-filen for å imøtekomme de nye stilene ved å endre linken din til dette:
"> Få billetter
Oppdater det, og du har en fin utseende malfil som kobler til en TicketTailor-side som bruker en nydelig kikk til handlingsknapp, en smart sløyfe og litt lateral tenkning for å få deg en veldig fin billettside som ser slik ut:
Mens vi bare kunne stoppe der og ha en veldig funksjonell nettside, er det noen flere ting vi kan gjøre.
Det er noen ting som alle som går til live musikk konserter som og de er:
Å se som du allerede har fått de fleste verktøyene på fingertipsene dine for å gjøre kundene dine enda lykkeligere, hvorfor ikke gå to skritt videre - de er mer sannsynlig at de kommer til showene dine hvis du gjør dem litt lykkeligere enn andre promotorer.
Husk at vi kutter halvparten av våre konsertplakater ut av søket vårt ved å angi antall konserter som skal vises som '4' tilbake i trinn 1? Nå har vi kommet til grunnen til det. Ville det ikke vært en fin touch for å la kundene dine se alle de showene du noensinne har satt på ved siden av alle showene du har kommet opp? Sikkert det ville!
For å gjøre det, åpner du index.php-filen og endrer den til følgende:
'meta_value' => dato ("Y / m / d"), 'meta_compare' => '> =', 'ordreby' => 'meta_value', 'order' => 'ASC',))); ?>Tidligere hendelser
'post', 'posts_per_page' => -1, 'meta_key' => 'Dato', 'meta_value' => dato ("Y / m / d"), 'meta_compare' => '<', 'orderby' => 'meta_value', 'order' => 'DESC', 'paged' => get_query_var ('paged')))); ?> --Use a new template for the content-->Det er en stor del av koden, så la oss slå opp i håndterbare biter.
Den første delen du allerede vil gjenkjenne fordi det er spørringen vi brukte tidligere. Den eneste forskjellen er at jeg har satt argumentet posts_per_page til -1, noe som betyr at forsiden aldri vil paginere.
Den andre spørringen, sistnevnte halvdel av koden, bør også se veldig kjent for deg, da den er nesten nøyaktig den samme som koden vi skrev tidligere med to unntak:
- 'meta_compare' er satt til '<' so that WordPress knows we want to display posts which are in the past.
- 'rekkefølgen' er satt til å synke for å vise de siste hendelsene i siste hendelser først. Hvis du ønsket å vise de eldste hendelsene først, kan du sette dette til ASC i stedet for DESC.
Den andre forskjellen i koden er at vi har kalt en ny maldel for de siste hendelsene fordi billetter til tidligere hendelser ikke lenger er til salgs. Vi kunne skrive noen betingede utsagn og bare bruke standard content.php, men det er unødvendig vanskelig, så dupliser bare content.php-filen og fjern linjene som viser knappen 'Få billetter':
ID, 'Billett', sant); hvis ($ billett):?> "> Få billetterOg hvordan om å selge noe merchandise?
Du vet allerede hvordan du gjør dette fordi du har satt opp billettlenker og de egendefinerte feltene for dem før. Selge plakater eller t-skjorter gjennom BigCartel eller en tilsvarende tjeneste er akkurat det samme. Bare sett opp et egendefinert felt kalt 'Merch' for eksempel, skriv inn nettadressen til produktet ditt og trykk på oppdateringen. Deretter legger du til en linje med kode rett under koden "Få billetter" som ser slik ut:
ID, 'Merch', sant); hvis ($ Merch):?> "> Få MerchDu kan også legge til denne koden til din tidligere hendelsesfil (content-past.php) slik at kundene alltid kan kjøpe varer fra deg.
Konklusjon
Det er det! Nå har du et billettsalgsside som integrerer WordPress med en fantastisk billettleverandør, viser kall til handlingsknapper og organiserer innholdet ditt uten at du noen gang bruker en kategori, egendefinert innleggstype eller taksonomi.
Det er så mange ting du kan bruke denne ideen til. Legg igjen en kommentar for å gi oss beskjed om hva du gjør med koden i denne opplæringen. Ha det gøy!