आरंभ तिथि, अंतिम तिथि, घटनाक्रम कस्टम पोस्ट प्रकारों के लिए मेटाबॉक्स

IsItWP द्वारा स्निपेट


क्या आप अपने इवेंट कस्टम पोस्ट प्रकारों में तीन मेटाबोक्स जोड़ना चाहते हैं? हालांकि इसके लिए संभवतः एक प्लगइन है, हमने एक त्वरित कोड स्निपेट बनाया है जिसका उपयोग आप कस्टम पोस्ट प्रकारों के लिए प्रारंभ तिथि, समाप्ति तिथि और स्थान मेटाबेस जोड़ने के लिए कर सकते हैं.

निर्देश:

आपको बस इस कोड को अपनी थीम के फंक्शन्स में जोड़ना है। पीडीएफ फाइल या साइट-विशिष्ट प्लगइन में:

फ़ंक्शन ep_eventposts_metaboxes () {
add_meta_box (‘ept_event_date_start’, ‘प्रारंभ दिनांक और समय’, ‘ept_event_date’, ‘घटना’, ‘पक्ष’, ‘डिफ़ॉल्ट’, सरणी (‘id’)> ‘_शुरू’) );
add_meta_box (‘ept_event_date_end’, ‘अंतिम तिथि और समय’, ‘ept_event_date’, ‘घटना’, ‘पक्ष’, ‘डिफ़ॉल्ट’, सरणी (‘id’ =)>’_समाप्त’) );
add_meta_box (‘ept_event_location’, ‘घटना स्थान’, ‘ept_event_location’, ‘घटना’, ‘पक्ष’, ‘डिफ़ॉल्ट’, सरणी (‘id’ =)>’_समाप्त’) );
}
add_action (‘admin_init’, ‘ep_eventposts_metaboxes’);

// मेटाबॉक्स एचटीएमएल

फ़ंक्शन ept_event_date ($ पोस्ट, $ args) {
$ metabox_id = $ args [‘args’] [‘id’];
वैश्विक $ पोस्ट, $ wp_locale;

// सत्यापन के लिए नॉन का उपयोग करें
wp_nonce_field (plugin_basename (__FILE__), ‘ep_eventposts_nonce’);

$ time_adj = current_time (‘टाइमस्टैम्प’);
$ महीना = get_post_meta ($ पोस्ट)->ID, $ metabox_id ‘_month’, true);

अगर (खाली ($ माह)) {
$ महीना = gmdate (‘m’, $ time_adj);
}

$ दिन = get_post_meta ($ पोस्ट)->ID, $ metabox_id ‘_day’, सच);

अगर (खाली ($ दिन)) {
$ दिन = gmdate (‘डी’, $ time_adj);
}

$ वर्ष = get_post_meta ($ पोस्ट)->ID, $ metabox_id ‘_यियर’, सच);

अगर (खाली ($ वर्ष)) {
$ वर्ष = gmdate (‘Y’, $ time_adj);
}

$ घंटा = get_post_meta ($ पोस्ट)->ID, $ metabox_id ‘_होर’, सच);

अगर (खाली ($ घंटा)) {
$ घंटे = gmdate (‘एच’, $ time_adj);
}

$ min = get_post_meta ($ पोस्ट)->ID, $ metabox_id ‘_minute’, सच);

अगर (खाली ($ मिनट)) {
$ मिनट = ’00’;
}

$ month_s = ”;
के लिए ($ 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। = ”;

गूंज $ month_s;
गूंज ”;
गूंज ‘@’;
गूंज ‘:’;
गूंज ”;

}

समारोह ept_event_location () {
वैश्विक $ पोस्ट;
// सत्यापन के लिए नॉन का उपयोग करें
wp_nonce_field (plugin_basename (__FILE__), ‘ep_eventposts_nonce’);
// मेटाबॉक्स एचटीएमएल
$ event_location = get_post_meta ($ पोस्ट)->ID, ‘_event_location’, सच);
गूंज ‘स्थान:’;
गूंज ”;
}

// Metabox Data को सेव करें

फ़ंक्शन ep_eventposts_save_meta ($ पोस्ट_िड, $ पोस्ट) {

अगर (परिभाषित किया गया है (‘DOING_AUTOSAVE’) && DOING_AUTOSAVE)
वापसी;

अगर (isset ($ _POST [‘ep_eventposts_nonce’]))
वापसी;

अगर (wp_verify_nonce ($ _POST [‘ep_eventposts_nonce’], plugin_basename (__FILE__))
वापसी;

// क्या उपयोगकर्ता को पोस्ट या पेज को संपादित करने की अनुमति है?
अगर (current_user_can (‘edit_post’), $ पोस्ट->आईडी))
वापसी;

// ठीक है, हम प्रमाणित हैं: हमें डेटा खोजने और सहेजने की आवश्यकता है
// हम इसे लूप में आसान बनाने के लिए एक सरणी में डाल देंगे, हालांकि

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

foreach ($ कुंजी के रूप में $ metabox_ids) {
$ इवेंट_मेटा [$ कुंजी। ‘_month’] = $ _POST [$ कुंजी। ‘_महीना’];
$ इवेंट_मेटा [$ कुंजी। ‘_day’] = $ _POST [$ कुंजी। ‘_Day’];
अगर ($ _ POST [$ कुंजी। ‘_hour’]<10) {
$ इवेंट_मेटा [$ कुंजी। ‘_hour’] = ‘0’। $ _ POST [$ कुंजी। ‘_Hour’];
} अन्य {
$ इवेंट_मेटा [$ कुंजी। ‘_hour’] = $ _POST [$ कुंजी। ‘_Hour’];
}
$ इवेंट_मेटा [$ कुंजी। ‘_year’] = $ _POST [$ कुंजी। ‘_साल’];
$ इवेंट_मेटा [$ कुंजी। ‘_hour’] = $ _POST [$ कुंजी। ‘_Hour’];
$ इवेंट_मेटा [$ कुंजी। ‘_minute’] = $ _POST [$ कुंजी। ‘_Minute’];
$ इवेंट_मेटा [$ कुंजी। ‘_eventtimestamp’] = $ event_meta [$ कुंजी। ‘_साल’] । $ इवेंट_मेटा [$ कुंजी। ‘_महीना’] । $ इवेंट_मेटा [$ कुंजी। ‘_day’]। $ इवेंट_मेटा [$ कुंजी। ‘_होर’]। $ इवेंट_मेटा [$ कुंजी। ‘_Minute’];
}

// कस्टम फ़ील्ड के रूप में $ इवेंट_मेटा के मान जोड़ें

foreach ($ event_meta के रूप में $ कुंजी => $ मूल्य) {// $ इवेंट_मेटा सरणी के माध्यम से साइकिल!
अगर ($ पोस्ट)->post_type == ‘संशोधन’) वापसी; // दो बार कस्टम डेटा स्टोर न करें
$ मूल्य = निहित (‘,’, (सरणी) $ मूल्य); // यदि $ मूल्य एक सरणी है, तो इसे CSV (असंभावित) बनाएं
अगर (get_post_meta ($ पोस्ट)->आईडी, $ कुंजी, FALSE)) {// यदि कस्टम क्षेत्र में पहले से ही एक मूल्य है
update_post_meta ($ पोस्ट)->आईडी, $ कुंजी, $ मूल्य);
} और {// यदि कस्टम फ़ील्ड में कोई मान नहीं है
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));
}
$ monthabbr लौटें;
}

// दिनांक प्रदर्शित करें

फंक्शन Eventposttype_get_the_event_date () {
वैश्विक $ पोस्ट;
$ घटना = ”;
$ महीना = get_post_meta ($ पोस्ट)->आईडी, ‘_month’, सच);
$ Eventdate = eventposttype_get_the_month_abbr ($ माह);
$ घटना। = ”। get_post_meta ($ पोस्ट->ID, ‘_day’, सच)। ‘,’;
$ घटना। = ”। get_post_meta ($ पोस्ट->ID, ‘_year’, true);
$ घटना। = ‘पर’। get_post_meta ($ पोस्ट->ID, ‘_hour’, true);
$ घटना। = ‘:’। get_post_meta ($ पोस्ट->आईडी, ‘_minute’, सच);
गूंज $ घटना;
}

ध्यान दें: यदि यह वर्डप्रेस में कोड स्निपेट जोड़ने का आपका पहला मौका है, तो कृपया हमारे गाइड को देखें वर्डप्रेस में कोड स्निपेट को ठीक से कॉपी / पेस्ट कैसे करें, तो आप गलती से अपनी साइट को नहीं तोड़ेंगे.

अगर आपको यह कोड स्निपेट पसंद आया है, तो कृपया साइट पर हमारे अन्य लेखों की जांच करने पर विचार करें: मोबाइल सामग्री तैयार करने के लिए 15 सर्वोत्तम सामग्री विपणन उपकरण और प्लगइन्स और 50+ सर्वश्रेष्ठ उत्तरदायी वर्डप्रेस थीम.

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