Panimulang Simula, Petsa ng Pagtatapos, Metabox para sa Mga Kaganapan Pasadyang Mga Uri ng Post

Mga snippet ni IsItWP


Nais mo bang magdagdag ng tatlong metabox sa iyong mga kaganapan pasadyang uri ng post? Habang marahil mayroong isang plugin para dito, gumawa kami ng isang mabilis na snippet ng code na maaari mong magamit upang magdagdag ng petsa ng pagsisimula, petsa ng pagtatapos, at lokasyon ng lokasyon para sa mga kaganapan na mga uri ng post.

Mga Tagubilin:

Ang kailangan mo lang gawin ay idagdag ang code na ito sa mga file ng function.php ng ​​iyong tema o sa isang plugin na tukoy sa site:

pag-andar ep_eventpost_metabox () {
add_meta_box (‘ept_event_date_start’, ‘Start Date at Time’, ‘ept_event_date’, ‘event’, ‘side’, ‘default’, array (‘id’ => ‘_start’));
add_meta_box (‘ept_event_date_end’, ‘End Date at Time’, ‘ept_event_date’, ‘event’, ‘side’, ‘default’, array (‘id’ =>’_end’));
add_meta_box (‘ept_event_location’, ‘Lokasyon ng Kaganapan’, ‘ept_event_location’, ‘kaganapan’, ‘tabi’, ‘default’, array (‘id’ =>’_end’));
}
add_action (‘admin_init’, ‘ep_eventposts_metabox’);

// Metabox HTML

gumana ng ept_event_date ($ post, $ args) {
$ metabox_id = $ args [‘args’] [‘id’];
pandaigdigang $ post, $ wp_locale;

// Gumamit ng nonce para sa pagpapatunay
wp_nonce_field (plugin_basename (__FILE__), ‘ep_eventposts_nonce’);

$ time_adj = current_time (‘timestamp’);
$ month = get_post_meta ($ post->ID, $ metabox_id. ‘_month’, totoo);

kung (walang laman ($ buwan)) {
$ month = gmdate (‘m’, $ time_adj);
}

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

kung (walang laman ($ araw)) {
$ day = gmdate (‘d’, $ time_adj);
}

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

kung (walang laman ($ taon)) {
$ year = gmdate (‘Y’, $ time_adj);
}

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

kung (walang laman ($ oras)) {
$ hour = gmdate (‘H’, $ time_adj);
}

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

kung (walang laman ($ min)) {
$ min = ’00’;
}

$ month_s = ”;
para sa ($ 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. = ”;

echo $ month_s;
echo ”;
echo ‘@’;
echo ‘:’;
echo ”;

}

function ept_event_location () {
pandaigdigang $ post;
// Gumamit ng nonce para sa pagpapatunay
wp_nonce_field (plugin_basename (__FILE__), ‘ep_eventposts_nonce’);
// Ang metabox HTML
$ event_location = get_post_meta ($ post->ID, ‘_event_location’, totoo);
echo ‘Lokasyon:’;
echo ”;
}

// I-save ang Data ng Metabox

gumana ng ep_eventpost_save_meta ($ post_id, $ post) {

kung (tinukoy (‘DOING_AUTOSAVE’) && DOING_AUTOSAVE)
bumalik;

kung (! isset ($ _POST [‘ep_eventposts_nonce’]))
bumalik;

kung (! wp_verify_nonce ($ _POST [‘ep_eventposts_nonce’], plugin_basename (__FILE__)))
bumalik;

// Pinapayagan ba ang gumagamit na i-edit ang post o pahina?
kung (! kasalukuyang_user_can (‘edit_post’, $ post->ID))
bumalik;

// OK, napatunayan namin: kailangan nating hanapin at i-save ang data
// Ilalagay namin ito sa isang array upang gawing mas madali ang pag-ikot kahit

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

unahan ($ metabox_ids bilang $ key) {
$ events_meta [$ key. ‘_month’] = $ _POST [$ key. ‘_month’];
$ events_meta [$ key. ‘_day’] = $ _POST [$ key. ‘_day’];
kung ($ _ POST [$ key. ‘_hour’]<10) {
$ events_meta [$ key. ‘_hour’] = ‘0’. $ _ POST [$ key. ‘_oras’];
} iba pa {
$ events_meta [$ key. ‘_hour’] = $ _POST [$ key. ‘_oras’];
}
$ events_meta [$ key. ‘_year’] = $ _POST [$ key. ‘_year’];
$ events_meta [$ key. ‘_hour’] = $ _POST [$ key. ‘_oras’];
$ events_meta [$ key. ‘_minute’] = $ _POST [$ key. ‘_minute’];
$ events_meta [$ key. ‘_eventtimestamp’] = $ mga kaganapan_meta [$ key. ‘_year’]. $ events_meta [$ key. ‘_month’]. $ events_meta [$ key. ‘_day’]. $ events_meta [$ key. ‘_oras’] . $ events_meta [$ key. ‘_minute’];
}

// Magdagdag ng mga halaga ng $ event_meta bilang pasadyang mga patlang

unahan ($ event_meta bilang $ key => $ halaga) {// Ikot sa pamamagitan ng $ events_meta array!
kung ($ post->post_type == ‘rebisyon’) bumalik; // Huwag mag-imbak ng pasadyang data nang dalawang beses
$ halaga = ipasok (‘,’, (array) $ halaga); // Kung ang halaga ng $ ay isang hanay, gawin itong isang CSV (hindi malamang)
kung (get_post_meta ($ post->ID, $ key, FALSE)) {// Kung mayroon nang halaga ang pasadyang patlang
update_post_meta ($ post->ID, $ key, $ halaga);
} iba pa {// Kung ang pasadyang patlang ay walang halaga
add_post_meta ($ post->ID, $ key, $ halaga);
}
kung (! halaga ng $) tinanggal_post_meta ($ post->ID, $ key); // Tanggalin kung blangko
}

}

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

/ **
* Mga tumutulong upang ipakita ang petsa sa harap na dulo
* /

// Kunin ang Pagdoble ng Buwan

function na functionposttype_get_the_month_abbr ($ buwan) {
pandaigdigang $ wp_locale;
para sa ($ i = 1; $ i < 13; $ i = $ i +1) {
kung ($ i == $ buwan)
$ monthabbr = $ wp_locale->get_month_abbrev ($ wp_locale->get_month ($ i));
}
ibalik ang $ monthabbr;
}

// Ipakita ang petsa

pag-andar ng eventposttype_get_the_event_date () {
pandaigdigang $ post;
$ eventdate = ”;
$ month = get_post_meta ($ post->ID, ‘_month’, totoo);
$ eventdate = eventposttype_get_the_month_abbr ($ buwan);
$ eventdate. = ”. get_post_meta ($ post->ID, ‘_day’, totoo). ‘,’;
$ eventdate. = ”. get_post_meta ($ post->ID, ‘_year’, totoo);
$ eventdate. = ‘at’. get_post_meta ($ post->ID, ‘_hour’, totoo);
$ eventdate. = ‘:’. get_post_meta ($ post->ID, ‘_minute’, totoo);
echo $ eventdate;
}

Tandaan: Kung ito ang iyong unang pagkakataon sa pagdaragdag ng mga snippet ng code sa WordPress, pagkatapos ay mangyaring sumangguni sa aming gabay sa kung paano maayos na kopyahin / i-paste ang mga snippet ng code sa WordPress, kaya hindi mo sinasadyang masira ang iyong site.

Kung nagustuhan mo ang code snippet na ito, mangyaring isaalang-alang ang pagsuri sa aming iba pang mga artikulo sa site tulad ng: 15 pinakamahusay na mga tool sa marketing sa nilalaman at mga plugin at 50+ pinakamahusay na tumutugon na mga tema ng WordPress upang lumikha ng isang naka-handa na website.

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