תאריך התחלה, תאריך סיום, מטאבוקס לאירועים סוגי פוסטים מותאמים אישית

קטעי טקסט מאת IsItWP


האם ברצונך להוסיף שלוש מטבוקסות לסוגים של פוסטים מותאמים אישית לאירועים שלך? למרות שיש כנראה פלאגין לזה, יצרנו קטע קוד מהיר בו תוכלו להשתמש כדי להוסיף מטאבוקס תאריך התחלה, תאריך סיום ומיקום עבור סוגי פוסטים מותאמים אישית של אירועים..

הוראות:

כל שעליכם לעשות הוא להוסיף קוד זה לקובץ הפונקציות.php של העיצוב שלכם או בתוסף ספציפי לאתר:

פונקציה ep_eventposts_metaboxes () {
add_meta_box (‘ept_event_date_start’, ‘תאריך ושעה התחלה’, ‘ept_event_date’, ‘אירוע’, ‘צד’, ‘ברירת מחדל’, מערך (‘id’ => ‘_start’));
add_meta_box (‘ept_event_date_end’, ‘תאריך ושעה סיום’, ‘ept_event_date’, ‘אירוע’, ‘צד’, ‘ברירת מחדל’, מערך (‘id’ =>’_end’));
add_meta_box (‘ept_event_location’, ‘מיקום אירוע’, ‘ept_event_location’, ‘event’, ‘side’, ‘default’, מערך (‘id’ =>’_end’));
}
add_action (‘admin_init’, ‘ep_eventposts_metaboxes’);

// Metabox HTML

פונקציה ept_event_date ($ הודעה, $ args) {
$ metabox_id = $ args [‘args’] [‘id’];
פוסט גלובלי $, $ wp_locale;

// השתמש ב- nonce לאימות
wp_nonce_field (plugin_basename (__FILE__), ‘ep_eventposts_nonce’);

$ time_adj = current_time (‘חותמת זמן’);
חודש חודש = get_post_meta ($ הודעה->מזהה, $ metabox_id. ‘חודש’, נכון);

אם (ריק ($ חודש)) {
$ $ חודש = gmdate (‘m’, $ time_adj);
}

$ $ = get_post_meta ($ הודעה->מזהה, $ metabox_id. ‘_ יום’, נכון);

אם (ריק ($ יום)) {
$ day = gmdate (‘d’, $ time_adj);
}

$ $ = get_post_meta ($ הודעה->מזהה, $ metabox_id. ‘_ שנה’, נכון);

אם (ריק ($ שנה)) {
$ $ = gmdate (‘Y’, $ time_adj);
}

$ שעה = get_post_meta ($ הודעה->מזהה, $ metabox_id. ‘_ה’, נכון);

אם (ריק ($ שעה)) {
$ hour = gmdate (‘H’, $ time_adj);
}

$ דקה = get_post_meta ($ הודעה->מזהה, $ metabox_id. ‘_minute’, נכון);

אם (ריק ($ דק ‘)) {
$ דק ‘=’ 00 ‘;
}

$ month_s = ”;
עבור ($ i = 1; $ i < 13; $ i = $ i +1) {
חודש חודש. = "\ t \ t \ t" . ”. $ wp_locale->get_month_abbrev ($ wp_locale->get_month ($ i)) . "\ n";
}
$ month_s. = ”;

הד $ month_s;
הד ”;
הד ‘@’;
הד ‘:’;
הד ”;

}

פונקציה ept_event_location () {
פוסט $ גלובלי;
// השתמש ב- nonce לאימות
wp_nonce_field (plugin_basename (__FILE__), ‘ep_eventposts_nonce’);
// HTML metabox
$ event_location = get_post_meta ($ הודעה->מזהה, ‘_event_location’, נכון);
הד ‘מיקום:’;
הד ”;
}

// שמור את נתוני Metabox

פונקציה ep_eventposts_save_meta ($ post_id, $ post) {

אם (מוגדר (‘DOING_AUTOSAVE’) && DOING_AUTOSAVE)
להחזיר;

if (! isset ($ _POST [‘ep_eventposts_nonce’]))
להחזיר;

if (! wp_verify_nonce ($ _POST [‘ep_eventposts_nonce’], plugin_basename (__FILE__)))
להחזיר;

// האם למשתמש רשאים לערוך את הפוסט או הדף?
if (! current_user_can (‘עריכה_דואר’, $ הודעה)->תעודת זהות))
להחזיר;

// אוקיי, אנו מאומתים: עלינו למצוא ולשמור את הנתונים
// נכניס אותו למערך כדי להקל על הלולאה עם זאת

$ metabox_ids = מערך (‘_start’, ‘_end’);

foreach ($ metabox_ids כמפתח $) {
$ events_meta [מפתח $. ‘_month’] = $ _POST [מפתח $. ‘_ חודש’ ‘;
$ events_meta [מפתח $. ‘_day’] = $ _POST [מפתח $. ‘_ יום’];
if ($ _ POST [מפתח $. ‘_ שעה’]<10) {
$ events_meta [מפתח $. ‘_hour’] = ‘0’. $ _ POST [מפתח $. ‘_ שעה’];
} אחרת {
$ events_meta [מפתח $. ‘_hour’] = $ _POST [מפתח $. ‘_ שעה’];
}
$ events_meta [מפתח $. ‘_year’] = $ _POST [מפתח $. ‘_ שנה’];
$ events_meta [מפתח $. ‘_hour’] = $ _POST [מפתח $. ‘_ שעה’];
$ events_meta [מפתח $. ‘_minute’] = $ _POST [מפתח $. ‘_minute’];
$ events_meta [מפתח $. ‘_eventtimestamp’] = $ events_meta [מפתח $. ‘_ שנה’]. $ events_meta [מפתח $. ‘חודש’. $ events_meta [מפתח $. ‘_ יום’]. $ events_meta [מפתח $. ‘_ שעה’]. $ events_meta [מפתח $. ‘_minute’];
}

// הוסף ערכים של $ events_meta כשדות מותאמים אישית

foreach ($ events_meta כמפתח $ => ערך $) {// עיין במערך $ events_meta!
אם ($ הודעה->post_type == ‘revision’) חזרה; // אל תאחסן פעמיים נתונים מותאמים אישית
$ value = implode (‘,’, (מערך) $ $); // אם ערך $ הוא מערך, הפוך אותו ל- CSV (לא סביר)
אם (get_post_meta ($ הודעה->מזהה, מפתח $, FALSE)) {// אם לשדה המותאם אישית כבר יש ערך
update_post_meta ($ הודעה->מזהה, מפתח $, ערך $);
} else {// אם לשדה המותאם אישית אין ערך
add_post_meta ($ הודעה->מזהה, מפתח $, ערך $);
}
אם (! $ ערך) delete_post_meta ($ הודעה->מזהה, מפתח $); // מחק אם ריק
}

}

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

/ **
* עוזרים להציג את התאריך בקצה הקדמי
* /

// קבל את קיצור החודש

פונקציה eventposttype_get_the_month_abbr ($ חודש) {
$ wp_locale גלובלי;
עבור ($ i = 1; $ i < 13; $ i = $ i +1) {
אם ($ i == $ חודש)
$ monthabbr = $ wp_locale->get_month_abbrev ($ wp_locale->get_month ($ i));
}
להחזיר חודש חודש $;
}

// הצג את התאריך

פונקציה eventposttype_get_the_event_date () {
פוסט $ גלובלי;
$ eventdate = ”;
חודש חודש = get_post_meta ($ הודעה->מזהה, ‘חודש’, נכון);
$ eventdate = eventposttype_get_the_month_abbr ($ חודש);
$ eventdate. = ”. get_post_meta ($ הודעה->מזהה, ‘_ יום’, נכון). ‘,’;
$ eventdate. = ”. get_post_meta ($ הודעה->מזהה, ‘_ שנה’, נכון);
$ eventdate. = ‘at’. get_post_meta ($ הודעה->תעודת זהות, ‘_ שעה’, אמת);
$ eventdate. = ‘:’. get_post_meta ($ הודעה->מזהה, ‘_ דק’, נכון);
הד הדייט תאריך;
}

פתק: אם זו הפעם הראשונה שלך להוסיף קטעי קוד ב- WordPress, אנא עיין במדריך שלנו בנושא כיצד להעתיק / להדביק כראוי קטעי קוד ב – WordPress – –, כך שלא תפר את האתר שלך בטעות.

אם אהבתם את קטע הקוד הזה, אנא שקלו לבדוק את המאמרים האחרים שלנו באתר כמו: 15 כלים ותוספות תוספים הטובים ביותר ו- 50+ נושאי WordPress המגיבים הטובים ביותר ליצירת אתר מוכן לנייד..

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