Įvykių pasirinktinių įrašų tipų pradžios data, pabaigos data, „meta dėžutė“

„IsItWP“ fragmentai


Ar norite pridėti tris meta dėžutes prie savo pasirinktinių įvykių tipų įvykių? Nors greičiausiai yra tam skirtas papildinys, sukūrėme greitą kodo fragmentą, kurį galite naudoti, kad prie įvykio pasirinktinių įrašų tipų pridėtumėte pradžios datą, pabaigos datą ir vietos aplanką..

Instrukcijos:

Viskas, ką jums reikia padaryti, tai pridėti šį kodą prie temos function.php failo arba konkrečios svetainės papildinio:

funkcija ep_eventposts_metaboxes () {
add_meta_box (‘ept_event_date_start’, ‘Start Date and Time’, ‘ept_event_date’, ‘event’, ‘side’, ‘default’, masyvas (‘id’ => ‘_start’));
add_meta_box (‘ept_event_date_end’, ‘End Date and Time’, ‘ept_event_date’, ‘event’, ‘side’, ‘default’, masyvas (‘id’ =>’_galas’) );
add_meta_box (‘ept_event_location’, ‘Event Location’, ‘ept_event_location’, ‘event’, ‘side’, ‘default’, masyvas (‘id’ =>’_galas’) );
}
add_action (‘admin_init’, ‘ep_eventposts_metaboxes’);

// Metabox HTML

funkcija ept_event_date ($ post, $ args) {
$ metabox_id = $ args [‘args’] [‘id’];
visuotinis $ postas, $ wp_locale;

// Patvirtinimui naudokite nonce
wp_nonce_field (įskiepio_pavadinimas (__FILE__), ‘ep_eventposts_nonce’);

$ time_adj = current_time (‘laiko žyma’);
mėnuo = gauti_post_meta ($ post->ID, $ metabox_id. ‘_mėnuo’, tiesa);

if (tuščias (mėnuo $)) {
$ mėnuo = gmdate (‘m’, $ time_adj);
}

$ diena = get_post_meta ($ post->ID, $ metabox_id. ‘_day’, tiesa);

if (tuščia ($ diena)) {
$ diena = gmdate (‘d’, $ time_adj);
}

$ metai = get_post_meta ($ post->ID, $ metabox_id. ‘_year’, tiesa);

if (tuščias ($ $)) {
$ metai = gmdate (‘Y’, $ time_adj);
}

$ valanda = get_post_meta ($ post->ID, $ metabox_id. ‘_hour’, tiesa);

if (tuščia ($ valanda)) {
$ valanda = gmdate (‘H’, $ time_adj);
}

$ min = get_post_meta ($ post->ID, $ metabox_id. ‘_minute’, tiesa);

if (tuščias (min. min.)) {
$ min = ’00’;
}

$ mėnuo_s = ”;
už ($ i = 1; $ i < 13; $ i = $ i +1) {
USD mėn. = "\ t \ t" . ”. $ wp_locale->get_month_abbrev ($ wp_locale->gauti mėnesį ($ i)) . "\ n";
}
$ mėnuo_s. = ”;

echo $ mėnuo_s;
aidas ”;
echo ‘@’;
echo ‘:’;
aidas ”;

}

funkcija ept_event_location () {
visuotinis $ postas;
// Patvirtinimui naudokite nonce
wp_nonce_field (įskiepio_pavadinimas (__FILE__), ‘ep_eventposts_nonce’);
// Metabox HTML
$ event_location = get_post_meta ($ post->ID, ‘_event_location’, tiesa);
echo ‘Vieta:’;
aidas ”;
}

// Išsaugokite „Metabox“ duomenis

funkcija ep_eventposts_save_meta ($ post_id, $ post) {

if (apibrėžtas (‘DOING_AUTOSAVE’) && DOING_AUTOSAVE)
grįžti;

if (! isset ($ _POST [‘ep_eventposts_nonce’]))
grįžti;

if (! wp_verify_nonce ($ _POST [‘ep_eventposts_nonce’], plugin_basename (__FILE__)))
grįžti;

// Ar vartotojui leidžiama redaguoti įrašą ar puslapį?
if (! current_user_can (‘edit_post’, $ post->ID))
grįžti;

// Gerai, mes esame autentifikuoti: turime surasti ir išsaugoti duomenis
// Mes ją sudėsime į masyvą, kad būtų lengviau susieti

$ metabox_ids = masyvas (‘_start’, ‘_end’);

foreach ($ metabox_ids kaip $ raktas) {
$ events_meta [$ raktas. ‘_month’] = $ _POST [$ raktas. ‘_mėnuo’];
$ events_meta [$ raktas. ‘_day’] = $ _POST [$ raktas. ‘_day’];
if ($ _ POST [$ raktas. ‘_hour’]<10) {
$ events_meta [$ raktas. ‘_hour’] = ‘0’. $ _ POST [$ raktas. ‘_ valanda’];
} Kitas {
$ events_meta [$ raktas. ‘_hour’] = $ _POST [$ raktas. ‘_ valanda’];
}
$ events_meta [$ raktas. ‘_year’] = $ _POST [$ raktas. ‘_year’];
$ events_meta [$ raktas. ‘_hour’] = $ _POST [$ raktas. ‘_ valanda’];
$ events_meta [$ raktas. ‘_minute’] = $ _POST [$ raktas. ‘_minutė’];
$ events_meta [$ raktas. ‘_eventtimestamp’] = $ events_meta [$ raktas. ‘_year’]. $ events_meta [$ raktas. ‘_mėnuo’]. $ events_meta [$ raktas. ‘_day’]. $ events_meta [$ raktas. ‘_hour’]. $ events_meta [$ raktas. ‘_minutė’];
}

// Pridėkite $ events_meta reikšmes kaip pasirinktinius laukus

foreach ($ events_meta as $ key => $ vertė) {// Važiuokite per masyvą $ events_meta!
if ($ post->post_type == ‘revizija’) grąžinti; // Du kartus nelaikykite pasirinktinių duomenų
$ reikšmė = implode (‘,’, (masyvo) $ reikšmė); // Jei $ reikšmė yra masyvas, padarykite ją CSV (mažai tikėtina)
if (gauti_post_meta ($ post->ID, $ raktas, FALSE)) {// Jei tinkintas laukas jau turi vertę
atnaujinimo_postas_meta ($ post->ID, $ raktas, $ vertė);
} else {// Jei pasirinktinis laukas neturi vertės
add_post_meta ($ post->ID, $ raktas, $ vertė);
}
if (! $ vertė) delete_post_meta ($ post->ID, $ raktas); // Ištrinti, jei tuščia
}

}

add_action (‘įrašyti_postą’, ‘ep_eventposts_save_meta’, 1, 2);

/ **
* Padeda nurodyti datą priekiniame gale
* /

// Gaukite mėnesio santrumpą

funkcija eventposttype_get_the_month_abbr ($ mėn.) {
globalus $ wp_locale;
už ($ i = 1; $ i < 13; $ i = $ i +1) {
if ($ i == $ mėnuo)
$ monthabbr = $ wp_locale->get_month_abbrev ($ wp_locale->gauti mėnesį ($ i));
}
grąžinti $ monthabbr;
}

// Parodykite datą

funkcija eventposttype_get_the_event_date () {
visuotinis $ postas;
$ eventdate = ”;
mėnuo = gauti_post_meta ($ post->ID, ‘_mėnuo’, tiesa);
$ eventdate = eventposttype_get_the_month_abbr ($ mėnuo);
$ eventdate. = ”. get_post_meta ($ post->ID, ‘_day’, tiesa). ‘,’;
$ eventdate. = ”. get_post_meta ($ post->ID, ‘_year’, tiesa);
$ eventdate. = ‘at’. get_post_meta ($ post->ID, ‘_hour’, tiesa);
$ eventdate. = ‘:’. get_post_meta ($ post->ID, ‘_minute’, tiesa);
echo $ eventdate;
}

Pastaba: Jei tai yra pirmas kartas, kai pridedate kodo fragmentus „WordPress“, tada skaitykite mūsų vadovą kaip tinkamai nukopijuoti / įklijuoti kodo fragmentus, taigi netyčia nenukenčiate savo svetainės.

Jei jums patiko šis kodo fragmentas, apsvarstykite kitus mūsų straipsnius šioje svetainėje: 15 geriausių turinio rinkodaros įrankių ir papildinių bei 50 ir daugiau jautrių „WordPress“ temų, kad sukurtumėte mobiliesiems parengtą svetainę.

Jeffrey Wilson Administrator
Sorry! The Author has not filled his profile.
follow me
    Like this post? Please share to your friends:
    Adblock
    detector
    map