Tämä on opetusohjelma mukautetun asetuksen lisäämisestä WordPressin järjestelmänvalvojan sivulle "Asetukset > Pysyvät linkit", jotta voit määrittää mukautetun viestityypin etanan. Jos olet kehittämässä teemaa tai laajennusta muille, joissa on sisäänrakennettu mukautettu viestityyppi, sen käyttäjä arvostaa tämän asetuksen lisäämistä, koska hän voi päättää mukautetun viestityypin URL-rakenteen.
En käy läpi yksityiskohtaisesti mukautetun viestityypin lisäämistä. Jos olet epävarma, suosittelen tutustumaan mukautetun viestityypin lisäämiseen.
Oletetaan, että sinulla on seuraavanlainen koodi mukautetun viestityypin rekisteröimiseksi:
Meitä kiinnostaa rewrite
argumentti. Tässä määritämme, minkä etanan viestityyppi saa kaikkien viestiensä eteen. Muokatun viestityypin rekisteröintikoodisi voi olla hieman erilainen, esim. ilman " with_front
", mutta se, mistä olemme kiinnostuneita, on " slug
":
Tällä koodilla käytännössä koodaat, mikä viestien pysyvä linkki on. Viestityyppiä viittauksille voidaan käyttää monentyyppisille sisällön ja teeman käyttäjille; esim. projekti, portfolio, asiakasviitteet, yritysreferenssit jne. Jotta teemasi olisi joustava, saatat haluta antaa teeman käyttäjän päättää itse postauksen tyypin etana.
Joten katsotaan kuinka se tehdään!
Kentän lisääminen ja tallentaminen
WordPressin asetussovellusliittymän käyttö yksinkertaistaa tätä meille jonkin verran. Meidän tarvitsee vain lisätä asetuskenttä ja kertoa WordPressille, millä järjestelmänvalvojan sivulla haluamme sen näkyvän – meidän tapauksessamme pysyvien linkkien asetussivulla. Muista, että meidän on kirjoitettava funktio, joka todella tallentaa myös arvon, minkä teemme lopussa.
Kytkemme toimintomme admin_init
koukkuun ja rekisteröimme asetuksemme. Kun rekisteröimme asetuksen, määritämme, mikä toiminto sen tulee suorittaa asetuksen tulostamiseksi:
add_action('admin_init', function() {
add_settings_field('mytheme_reference_slug', __('References base', 'txtdomain'), 'mytest_reference_slug_output', 'permalink', 'optional');
});
Argumentin neljä asettaminen [add_settings_field](https://developer.wordpress.org/reference/functions/add_settings_field/)()
arvoon 'permalink'
kehottaa WordPressiä lisäämään asetuksen Pysyvien linkkien asetukset -sivulle. Argumentti numero kolme on funktio, joka WordPressin tulee suorittaa asetusta tulostaessaan – funktio, jonka määrittelemme seuraavaksi (kiinnittyneen funktion ulkopuolella):
Tässä funktiossa tulostetaan yksinkertaisesti perusmuototeksti <input>
. Sen value
attribuutille noudetaan asetuksen arvo käyttämällä [get_option](https://developer.wordpress.org/reference/functions/get_option/)()
. Attribuutti placeholder
on valinnainen, mutta on hyvä käytäntö lisätä oletusarvosi, jotta teeman käyttäjä tietää, haluaako hän muuttaa sen arvoa vai ei.
Jos tallennat koodisi ja siirryt WordPressin pysyvät linkit -sivullesi nyt, sinun pitäisi nähdä kenttäsi aivan lopussa:
Tällä hetkellä asetus ei tallenna arvoaan, se on seuraava vaihe.
Meidän on lisättävä toinen toiminto, admin_init
joka tarkistaa, onko asetuksemme lähetetty pysyvän linkin rakennemuodossa. Ja jos on, se tulisi tallentaa -sovelluksella [update_option](https://developer.wordpress.org/reference/functions/update_option/)()
.
add_action('admin_init', function() {
if (isset($_POST['permalink_structure'])) {
update_option('mytheme_reference_slug', trim($_POST['mytheme_reference_slug']));
}
});
Pysyvien linkkien asetuksia tallennettaessa lähetetään lomake, joten voimme saada arvot PHP:n $_POST
globaalin muuttujan kautta. Lomakkeesta lähetetyt arvot tallennetaan taulukkona syötteen nimimääritteillä avaimina. Tässä tapauksessa asetamme mytheme_reference_slug
syötteellemme name-attribuutin, jotta voimme käyttää lähetettyä arvoa $_POST['mytheme_reference_slug']
.
Nyt asetuksen pitäisi toimia täysin Permalink Settings -sivulla. Viimeinen osa on tämän asetuksen arvon liittäminen mukautettuun viestityyppiimme.
Mukautetun viestityypin tekeminen käytä asetustamme
Jotta mukautettu viestityyppimme käyttäisi asetuksemme mukautettua arvoa, palaamme register_post_type()
funktiokutsuun ja muokkaamme rewrite
argumentin tältä:
Täällä vain haemme uuden vaihtoehtomme arvoa. Jos se on tyhjä, käytetään oletusarvoa ('reference'
).
Ja siinä se! Nyt mukautettu viestityyppisi käyttää Pysyvien linkkien asetukset -sivulla määritettyä etanapohjaa. Voit lisätä asetuksia samalla tavalla, esimerkiksi mukautettuja taksonomioita varten.
Koko koodi
Kaikki yhdessä nyt.