Datum početka, datum završetka, Metabox za događaje Prilagođene vrste posta

Isječci IsItWP


Želite li dodati tri metaboksa u svoje prilagođene vrste postupaka? Iako za to vjerojatno postoji dodatak, napravili smo brzi isječak koda koji možete koristiti za dodavanje početnog datuma, završnog datuma i metaboksa lokacije za događaje prilagođene vrste posta.

Upute:

Sve što trebate učiniti je dodati ovaj kôd u datoteku function.php teme ili u dodatak za web mjesto:

funkcija ep_eventposts_metaboxes () {
add_meta_box (‘ept_event_date_start’, ‘Datum i vrijeme početka’, ‘ept_event_date’, ‘događaj’, ‘strana’, ‘zadano’, niz (‘id’ => ‘_početak’) );
add_meta_box (‘ept_event_date_end’, ‘Datum i vrijeme završetka’, ‘ept_event_date’, ‘događaj’, ‘strana’, ‘zadano’, niz (‘id’ =>’_kraj’) );
add_meta_box (‘ept_event_location’, ‘Location event’, ‘ept_event_location’, ‘event’, ‘side’, ‘default’, array (‘id’ =>’_kraj’) );
}
dodavanje (‘admin_init’, ‘ep_eventposts_metaboxes’);

// Metabox HTML

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

// Ne upotrebljavajte za provjeru
wp_nonce_field (ime dodatka (__FILE__), ‘ep_eventposts_nonce’);

$ time_adj = current_time (‘vremenska oznaka’);
$ month = get_post_meta ($ post->ID, $ metabox_id. ‘_ mjesec’, istina);

ako (prazno (mjesec dana)) {
$ month = gmdate (‘m’, $ time_adj);
}

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

ako (prazno ($ dan)) {
$ day = gmdate (‘d’, $ time_adj);
}

$ year = get_post_meta ($ post->ID, $ metabox_id. ‘_ godina’, istina);

ako (prazno ($ godina)) {
$ year = gmdate (‘Y’, $ time_adj);
}

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

ako (prazno ($ sat)) {
$ hour = gmdate (‘H’, $ time_adj);
}

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

ako je (prazno ($ min)) {
$ min = ’00’;
}

$ month_s = ”;
za ($ i = 1; $ i < 13; $ i = $ i +1) {
$ month_s. = "\ T \ t \ t" . ”. $ wp_locale->get_month_abbrev ($ wp_locale->get_month ($ i)) . "\ n";
}
$ month_s. = ”;

odjek $ month_s;
jeka ”;
jeka ‘ @ ‘;
jeka ‘:’;
jeka ”;

}

funkcija ept_event_location () {
globalni $ post;
// Ne upotrebljavajte za provjeru
wp_nonce_field (ime dodatka (__FILE__), ‘ep_eventposts_nonce’);
// Metabox HTML
$ event_location = get_post_meta ($ post->ID, ‘_event_location’, točno);
odjek ‘Lokacija:’;
jeka ”;
}

// Spremite podatke Metaboxa

funkcija ep_eventposts_save_meta ($ post_id, $ post) {

if (definirano (‘DOING_AUTOSAVE’) && DOING_AUTOSAVE)
povratak;

if (! isset ($ _POST [‘ep_eventposts_nonce’]))
povratak;

if (! wp_verify_nonce ($ _POST [‘ep_eventposts_nonce’], ime dodatka (__FILE__)))
povratak;

// Je li dopušteno korisniku uređivanje posta ili stranice?
if (! current_user_can (‘edit_post’, $ post->ISKAZNICA ) )
povratak;

// U redu, ovjereni smo: trebamo pronaći i spremiti podatke
// Stavit ćemo ga u niz radi lakšeg petljanja

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

foreach ($ metabox_ids kao $ key) {
$ events_meta [$ ključ. ‘_mesec’] = $ _POST [ključ $. ‘_mjesec’];
$ events_meta [$ ključ. ‘_day’] = $ _POST [$ ključ. ‘_dan’];
if ($ _ POST [ključ $. ‘_hour’]<10) {
$ events_meta [$ ključ. ‘_hour’] = ‘0’. $ _ POST [tipka $. ‘_sat’];
} else {
$ events_meta [$ ključ. ‘_hour’] = $ _POST [$ ključ. ‘_sat’];
}
$ events_meta [$ ključ. ‘_ godina’] = $ _POST [$ ključ. ‘_godina’];
$ events_meta [$ ključ. ‘_hour’] = $ _POST [$ ključ. ‘_sat’];
$ events_meta [$ ključ. ‘_minuta’] = $ _POST [ključ $. ‘_minuta’];
$ events_meta [$ ključ. ‘_eventtimestamp’] = $ events_meta [$ $. ‘_ godina’]. $ events_meta [$ ključ. ‘_ mjesec’]. $ events_meta [$ ključ. ‘_day’]. $ events_meta [$ ključ. ‘_hour’]. $ events_meta [$ ključ. ‘_minuta’];
}

// Dodajte vrijednosti $ events_meta kao prilagođena polja

foreach ($ events_meta kao $ key => $ value) {// Kružite kroz niz $ events_meta!
ako ($ post->post_type == ‘revizija’) povratak; // Ne pohranjujte prilagođene podatke dvaput
$ value = implode (‘,’, (niz) $ value); // Ako je vrijednost $ niz, postavi ga CSV (malo vjerovatno)
ako (get_post_meta ($ post->ID, $ key, FALSE)) {// Ako prilagođeno polje već ima vrijednost
update_post_meta ($ post->ID, $ ključ, $ vrijednost);
} else {// Ako prilagođeno polje nema vrijednost
add_post_meta ($ post->ID, $ ključ, $ vrijednost);
}
if (! $ value) delete_post_meta ($ post->ID, $ ključ); // Izbriši ako je prazno
}

}

dodavanje (‘save_post’, ‘ep_eventposts_save_meta’, 1, 2);

/ **
* Pomaže u prikazivanju datuma na prednjem kraju
* /

// Nabavite kraticu mjeseca

funkcija eventposttype_get_the_month_abbr ($ mjesec) {
globalna $ wp_locale;
za ($ i = 1; $ i < 13; $ i = $ i +1) {
ako ($ i == $ mjesec)
$ monthabbr = $ wp_locale->get_month_abbrev ($ wp_locale->get_month ($ i));
}
vratiti $ monthabbr;
}

// Prikažite datum

funkcija eventposttype_get_the_event_date () {
globalni $ post;
$ eventdate = ”;
$ month = get_post_meta ($ post->ID, ‘_ mjesec’, istina);
$ eventdate = eventposttype_get_the_month_abbr ($ mjesec);
$ eventdate. = ”. get_post_meta ($ pošta->ID, ‘_day’, točno). „”;
$ eventdate. = ”. get_post_meta ($ pošta->ID, ‘_ godina’, istina);
$ eventdate. = ‘na’. get_post_meta ($ pošta->ID, ‘_hour’, istina);
$ eventdate. = ‘:’. get_post_meta ($ pošta->ID, ‘_minuta’, istina);
echo $ eventdate;
}

Bilješka: Ako ste prvi put dodali isječke koda u WordPress, pogledajte naš vodič na kako pravilno kopirati / zalijepiti isječke koda u WordPress, tako da slučajno ne probijete svoju web lokaciju.

Ako vam se svidio ovaj isječak koda, pogledajte naše ostale članke na web stranici poput: 15 najboljih marketinških alata i dodataka i 50+ najboljih WordPress tema za izradu web stranice spremne za mobilne uređaje.

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