✅ WEB- ja WordPress -uutiset, -teemat, -laajennukset. Täällä jaamme vinkkejä ja parhaita verkkosivustoratkaisuja.

Luo mukautettuja viestityyppejä ja mukautettuja taksonomioita WordPressissä koodin mukaan

5

Tämä on opetusohjelma mukautetun viestityypin ja mukautetun taksonomian luomiseen WordPressissä koodin perusteella. Tarkastellaan yleisiä sudenkuoppia ja sitä, mitä argumentteja tulisi käyttää minimiin mutta riittävään luomiseen. Koko esimerkki lopussa.

Mihin koodi lisätään

Mukautettujen viestityyppien (CPT) ja mukautettujen taksonomioiden luominen WordPressissä voidaan tehdä teematiedoston functions.phptai laajennuksen sisällä. Muista, että mukautettu viestityyppi ja mukautettu taksonomia katoavat, jos vaihdat teemaa tai poistat laajennuksen käytöstä. Joten on turvallista poistaa väliaikaisesti CPT-rekisteröinti teemasta ja siirtää se laajennukseen – kunhan säilytät saman mukautetun viestityypin tai taksonomiatunnisteen slug/ID:n.

Käytä ainainit koukkua CPT: n tai taksonomian luomiseen (ja muokkaamiseen). Sen asettaminen juureen functions.php(koukun ulkopuolelle) tai mihin tahansa muuhun koukkuun aiheuttaa ongelmia.

Muokatun viestityypin luominen

Käytä register_post_typetoimintoa mukautetun viestityypin luomiseen. Se hyväksyy kaksi parametria; ensin viestityypin tunniste ja toiseksi taulukko, jossa on kaikki argumentit.

Viestityypin tunniste on viestityyppisi slug-versionimi. Esimerkiksi WordPressin sisäänrakennetut postaustyyppiset viestit ja sivut tunnistetaan " post" ja " page". Tunnisteen on oltava yksilöllinen, sen on noudatettava tiettyjä sääntöjä (pienet kirjaimet, ei välilyöntejä jne.), eikä se saa olla WordPressin varattu slugs.

Tämän olen oppinut olemaan minimi, mutta riittävän hyvä argumentti viestityypin rekisteröimiseksi; Ottaen huomioon, että kyseessä on normaali julkinen CPT ja haluat ohittaa kaikki tunnisteet, joissa lukee "julkaisu" tai "sivu" CPT:si todellisella nimellä:

Yleiskatsaus väitteisiin

Huomaa, että jotkin argumentit perivät arvot toisista argumenteista. Ellei niitä ole nimenomaisesti asetettu, ne saattavat olla oletusarvoisesti samat tai päinvastoin kuin toiset. Useat argumentit perivät argumentin saman tai päinvastaisen arvon public. Lue dokumentaatio nähdäksesi, mikä kunkin argumentin oletusarvo on ja jos sinun on ohitettava se.

Jos järjestelmänvalvojassa on tekstejä, jotka viittaavat viestityyppiisi "viesti" tai "sivu", voit ohittaa tunnisteargumenttien määrittämisen. Luultavasti pärjäät vain label(monikkonimi) ja labelstaulukon sisällä vain singular_name(yksikkönimi).

Jos et nimenomaisesti aseta show_in_restarvoksi tosi, mukautettu pos-tyyppisi käyttää vanhaa klassista editoria. Jos haluat käyttää Gutenberg-editoria mukautetulle viestityypille, sinun on asetettava show_in_restarvoksi tosi.

Argumentti supportskertoo, mitkä elementit ovat käytettävissä, kun muokkaat viestityyppiäsi olevaa viestiä. Haluat luultavasti vähintään otsikon, editorin ja esitellyn viestin kuvan.

Vähimmäistaulukkoelementtiä rewritesisältävä argumentti slugkäskee WordPressin kirjoittamaan uudelleen kaikki viestityyppisi yksikköviestit käyttämään tätä etuliitettä. Yllä olevassa esimerkissä yksittäinen kirjaviesti saisi URL-osoitteen, kuten; " http://example.com/book/i-robot/ ". Jos olet kiinnostunut siitä, kuinka voit lisätä pysyvän linkin sääntöasetuksen järjestelmänvalvojaan, jotta teeman käyttäjät voivat päättää itse tästä häiriöstä, katso tämä viesti.

Valikkokuvakkeen (menu_icon) argumentti voi olla mikä tahansa seuraavista Dashiconeista tai voit jättää sen tyhjäksi säilyttääksesi oletusarvon. Oletus on sama kuvake kuin Viestit. On kuitenkin hyvä idea erottaa mukautetut viestityypit selkeästi.

Valikon sijainti (menu_position) antaa sinun päättää mukautetun viestityypin sijainnin järjestelmänvalvojan valikossa. Dokumentaatiossa luetellaan kaikki järjestelmänvalvojan valikon paikat, jotta voit säätää; paikka 5 on heti "Viestit" jälkeen.

On toinenkin argumentti (taxonomies) taksonomian liittämiselle viestityyppiin. Käymme läpi, kuinka mukautettu taksonomia lisätään myöhemmin tässä viestissä. Jos haluat lisätä taksonomioita viestityyppiisi, lisää tämä argumentti yllä olevaan taulukkoon;

Huomautus pysyvistä linkeistä ja 404 ei löytynyt -virheistä

Kun olet lisännyt koodin mukautetun viestityypin rekisteröintiä varten, huomaat, että yksittäisen viestin tarkastelu palauttaa "404 ei löytynyt" -virheen. Tämä johtuu siitä, että sinun on "päivitettävä pysyvät linkit".

Siirry kohtaan Asetukset> Pysyvät linkit ja napsauta "Tallenna muutokset" -painiketta (ei tarvitse muuttaa mitään).

Muista, että aina kun muutat rewritemääritettä, sinun on päivitettävä pysyvät linkit uudelleen.

Muokatun taksonomian luominen

Mukautettu taksonomia voidaan liittää johonkin WordPressin viestityypeistä (viestit, sivut) tai mukautettuun viestityyppiin. Voit myös liittää viestityyppiin useita taksonomioita. Kun rekisteröit taksonomian, sinun on annettava viestityypit, joihin haluat sen liitettävän.

Taksonomia voi olla joko hierarkkinen (kuten viestiluokat, joissa voit luoda puupohjaisen rakenteen) tai tunnistepohjainen (kuten viestitunnisteet). Tämä on oikeastaan ​​ainoa seikka, joka sinun on tiedettävä etukäteen, lukuun ottamatta sen tunnisteetanaa. Kuten CPT:issä, taksonomiaan tunnistavan etanan on oltava yksilöllinen ja noudatettava tiettyjä sääntöjä.

Mukautetun taksonomian rekisteröimiseen käytät register_taxonomytoimintoa. Hyväksyy register_taxonomytaksonomian yksilöllisen tunnisteen slug ensimmäisenä argumenttina, joukon viestityyppejä, joihin se liitetään toiseksi, ja lopuksi taulukon, jossa on kaikki muut argumentit. Argumentteja on monia, mutta tämän olen kokenut vähimmäismääräksi mutta riittäväksi mukautetun taksonomian rekisteröimiseksi (tämä lisää tunnistetyyppisen/ei-hierarkkisen taksonomian):

On suositeltavaa lisätä funktiokutsu heti merkin jälkeen register_taxonomyvarmistaaksesi, että se "liittyy" oikein CPT:hen: register_taxonomy_for_object_type. Määritä taksonomiasi ensimmäiseksi argumentiksi ja CPT toiseksi:

register_taxonomy_for_object_type('book_author', 'book');

Samoin kuin yllä oleva viestityyppi, register_taxonomyhyväksyy paljon enemmän argumentteja, ja monet niistä perivät tai riippuvat muiden argumenttien arvosta. Lue dokumentaatio nähdäksesi, mikä kunkin argumentin oletusarvo on ja jos sinun on ohitettava se.

Yleiskatsaus väitteisiin

Jos sinun on hyvä käyttää tekstejä, jotka viittaavat taksonomiaan "tunnisteella" (jos hierarkkinen on epätosi) tai "kategoria" (jos hierarkkinen on totta), voit luultavasti ohittaa koko labelstaulukon, paitsi ehkä singular_name.

Se show_admin_columnon kätevä lisättäessä sarake, joka näyttää taksonomiaasi liittyvät termit CPT-hallintanäytössä. Aivan kuten Viesteissä, näet sarakkeen, joka näyttää liittyvät luokat. Tämän argumentin oletusasetuksena on false(älä näytä saraketta), joten haluan ohittaa sen.

Tosi- asetuksen asettaminen show_in_reston välttämätöntä, jotta taksonomiasi näkyy Post edit in Gutenberg -editorissa, koska Gutenberg luottaa REST API:han.

Samoin kuin mukautetuissa viestityypeissä, saat todennäköisesti "404 ei löytynyt" -virheitä mukautetussa taksonomiassasi. Siirry kohtaan Asetukset> Pysyvät linkit ja napsauta "Tallenna muutokset" -painiketta.

Täydellinen esimerkkikoodi

Tässä on täydellinen esimerkki CPT:n luomisesta kirjoille ja kahden mukautetun taksonomian liittämisestä; genre (hierarkkinen) ja kirjan tekijä (tunniste).

Tämä verkkosivusto käyttää evästeitä parantaakseen käyttökokemustasi. Oletamme, että olet kunnossa, mutta voit halutessasi kieltäytyä. Hyväksyä Lisätietoja