Tanggal Mulai, Tanggal Berakhir, Metabox untuk Acara Jenis Posting Kustom

Cuplikan oleh IsItWP


Apakah Anda ingin menambahkan tiga metabox ke jenis posting khusus acara Anda? Meskipun mungkin ada plugin untuk ini, kami telah membuat potongan kode cepat yang dapat Anda gunakan untuk menambahkan tanggal mulai, tanggal berakhir, dan metabox lokasi untuk jenis posting khusus acara.

Instruksi:

Yang harus Anda lakukan adalah menambahkan kode ini ke file functions.php tema Anda atau di plugin khusus situs:

function ep_eventposts_metaboxes () {
add_meta_box (‘ept_event_date_start’, ‘Tanggal dan Waktu Mulai’, ‘ept_event_date’, ‘event’, ‘side’, ‘default’, array (‘id’ => ‘_Mulailah’) );
add_meta_box (‘ept_event_date_end’, ‘Tanggal dan Waktu Berakhir’, ‘ept_event_date’, ‘event’, ‘side’, ‘side’, ‘default’, array (‘id’ =>’_end’));
add_meta_box (‘ept_event_location’, ‘Lokasi Acara’, ‘ept_event_location’, ‘event’, ‘side’, ‘side’, ‘default’, array (‘id’ =>’_end’));
}
add_action (‘admin_init’, ‘ep_eventposts_metaboxes’);

// Metabox HTML

function ept_event_date ($ post, $ args) {
$ metabox_id = $ args [‘args’] [‘id’];
$ pos global, $ wp_locale;

// Gunakan nonce untuk verifikasi
wp_nonce_field (plugin_basename (__FILE__), ‘ep_eventposts_nonce’);

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

if (kosong ($ bulan)) {
$ month = gmdate (‘m’, $ time_adj);
}

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

if (empty ($ day)) {
$ day = gmdate (‘d’, $ time_adj);
}

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

if (kosong ($ tahun)) {
$ year = gmdate (‘Y’, $ time_adj);
}

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

if (kosong ($ jam)) {
$ hour = gmdate (‘H’, $ time_adj);
}

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

if (empty ($ min)) {
$ min = ’00’;
}

$ month_s = ”;
untuk ($ 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;
gema ”;
gema ‘@’;
gema ‘:’;
gema ”;

}

function ept_event_location () {
$ pos global;
// Gunakan nonce untuk verifikasi
wp_nonce_field (plugin_basename (__FILE__), ‘ep_eventposts_nonce’);
// Metabox HTML
$ event_location = get_post_meta ($ post->ID, ‘_event_location’, true);
gema ‘Lokasi:’;
gema ”;
}

// Simpan Data Metabox

function ep_eventposts_save_meta ($ post_id, $ post) {

if (didefinisikan (‘DOING_AUTOSAVE’) && DOING_AUTOSAVE)
kembali;

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

if (! wp_verify_nonce ($ _POST [‘ep_eventposts_nonce’], plugin_basename (__FILE__))))
kembali;

// Apakah pengguna diizinkan mengedit posting atau halaman?
if (! current_user_can (‘edit_post’, $ post->INDO ) )
kembali;

// Oke, kami diautentikasi: kami perlu menemukan dan menyimpan data
// Kami akan memasukkannya ke dalam array untuk membuatnya lebih mudah untuk diulang

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

foreach ($ metabox_ids as $ key) {
$ events_meta [$ key. ‘_month’] = $ _POST [$ key. ‘_bulan’];
$ events_meta [$ key. ‘_day’] = $ _POST [$ key. ‘_hari’];
if ($ _ POST [$ key. ‘_hour’]<10) {
$ events_meta [$ key. ‘_hour’] = ‘0’. $ _ POST [$ key. ‘_jam’];
} lain {
$ events_meta [$ key. ‘_hour’] = $ _POST [$ key. ‘_jam’];
}
$ events_meta [$ key. ‘_year’] = $ _POST [$ key. ‘_tahun’];
$ events_meta [$ key. ‘_hour’] = $ _POST [$ key. ‘_jam’];
$ events_meta [$ key. ‘_minute’] = $ _POST [$ key. ‘_menit’];
$ events_meta [$ key. ‘_eventtimestamp’] = $ events_meta [$ key. ‘_tahun’]. $ events_meta [$ key. ‘_bulan’]. $ events_meta [$ key. ‘_hari’] . $ events_meta [$ key. ‘_jam’]. $ events_meta [$ key. ‘_menit’];
}

// Tambahkan nilai $ events_meta sebagai bidang khusus

foreach ($ events_meta sebagai $ key => $ value) {// Siklus melalui array $ events_meta!
if ($ post->post_type == ‘revisi’) kembali; // Jangan menyimpan data khusus dua kali
$ value = implode (‘,’, (array) $ value); // Jika $ value adalah array, jadikanlah CSV (tidak mungkin)
if (get_post_meta ($ post->ID, $ key, FALSE)) {// Jika bidang khusus sudah memiliki nilai
update_post_meta ($ post->ID, $ key, $ value);
} else {// Jika bidang khusus tidak memiliki nilai
add_post_meta ($ post->ID, $ key, $ value);
}
if (! $ value) delete_post_meta ($ post->ID, $ key); // Hapus jika kosong
}

}

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

/ **
* Pembantu untuk menampilkan tanggal di ujung depan
* /

// Dapatkan Singkatan Bulan

function eventposttype_get_the_month_abbr ($ bulan) {
global $ wp_locale;
untuk ($ i = 1; $ i < 13; $ i = $ i +1) {
if ($ i == $ month)
$ monthabbr = $ wp_locale->get_month_abbrev ($ wp_locale->get_month ($ i));
}
mengembalikan $ monthabbr;
}

// Tampilkan tanggal

function eventposttype_get_the_event_date () {
$ pos global;
$ eventdate = ”;
$ month = get_post_meta ($ post->ID, ‘_bulan’, benar);
$ eventdate = eventposttype_get_the_month_abbr ($ bulan);
$ eventdate. = ”. get_post_meta ($ post->ID, ‘_hari’, benar). ‘,’;
$ eventdate. = ”. get_post_meta ($ post->ID, ‘_year’, true);
$ eventdate. = ‘at’. get_post_meta ($ post->ID, ‘_jam’, benar);
$ eventdate. = ‘:’. get_post_meta ($ post->ID, ‘_minute’, true);
echo $ eventdate;
}

catatan: Jika ini pertama kalinya Anda menambahkan cuplikan kode di WordPress, silakan lihat panduan kami di cara menyalin / menempelkan cuplikan kode dengan benar di WordPress, jadi Anda tidak sengaja merusak situs Anda.

Jika Anda menyukai cuplikan kode ini, silakan pertimbangkan untuk memeriksa artikel kami yang lain di situs ini seperti: 15 alat dan plugin pemasaran konten terbaik dan 50+ tema WordPress responsif terbaik untuk membuat situs web siap-seluler.

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