WordPress
प्रोग्रामेटिक रूप से एक पोस्ट बनाएं
खोज…
वाक्य - विन्यास
- wp_insert_post (सरणी $ args, बूल $ wp_error);
पैरामीटर
पैरामीटर | विवरण |
---|---|
$ args (आवश्यक सरणी) | नीचे दिए गए तत्वों का एक मुख्य मूल्य सरणी। |
$ wp_error (बूलियन वैकल्पिक) | विफलता के मामले में एक WP_Error लौटें। |
टिप्पणियों
तर्क
अगली तालिका आपको उन तत्वों की एक सूची दिखाती है, जिनका उपयोग आप पहले पैरामीटर (सरणी) के अंदर कर सकते हैं।
पैरामीटर | विवरण |
---|---|
आईडी | (इंट) पोस्ट आईडी। यदि 0 के अलावा किसी अन्य चीज़ के बराबर है, तो उस आईडी के साथ पोस्ट अपडेट की जाएगी। डिफ़ॉल्ट 0। |
post_author | (इंट) पोस्ट जोड़ने वाले उपयोगकर्ता की आईडी। डिफ़ॉल्ट वर्तमान उपयोगकर्ता आईडी है। |
पद तारीख | (स्ट्रिंग) पद की तारीख। डिफ़ॉल्ट वर्तमान समय है। |
post_date_gmt | (स्ट्रिंग) जीएमटी समय क्षेत्र में पद की तारीख। डिफ़ॉल्ट $ post_date का मूल्य है। |
पोस्ट सामग्री | (मिश्रित) पद सामग्री। डिफ़ॉल्ट खाली। |
post_content_filtered | (स्ट्रिंग) फ़िल्टर्ड पोस्ट सामग्री। डिफ़ॉल्ट खाली। |
शीर्षक पोस्ट करें | (स्ट्रिंग) पोस्ट शीर्षक। डिफ़ॉल्ट खाली। |
post_category | (एरियर) पोस्ट श्रेणी मूल्यों का एरियर। |
post_excerpt (स्ट्रिंग) पोस्ट अंश। डिफ़ॉल्ट खाली। | |
post_status | (स्ट्रिंग) पद की स्थिति। डिफ़ॉल्ट ड्राफ्ट। |
पद प्रकार | (स्ट्रिंग) पद का प्रकार। डिफ़ॉल्ट पोस्ट। |
comment_status | (स्ट्रिंग) क्या पोस्ट टिप्पणियों को स्वीकार कर सकती है। खुला या बंद स्वीकार करता है। डिफ़ॉल्ट, default_comment_status विकल्प का मूल्य है। |
ping_status | (स्ट्रिंग) क्या पोस्ट पिंग स्वीकार कर सकता है। खुला या बंद स्वीकार करता है। डिफ़ॉल्ट default_ping_status विकल्प का मूल्य है। |
post_password | (स्ट्रिंग) पोस्ट तक पहुंचने का पासवर्ड। डिफ़ॉल्ट खाली। |
पोस्ट नाम | (स्ट्रिंग) पोस्ट नाम या स्लग। नई पोस्ट बनाते समय डिफॉल्ट सैनिटाइज्ड पोस्ट टाइटल होता है। |
पिंग करने के लिए | (स्ट्रिंग) स्पेस या गाड़ी पिंग की URL की अलग-अलग सूची। डिफ़ॉल्ट खाली। |
पिंग किया | (स्ट्रिंग) रिक्त स्थान की URL या कैरेज़ रिटर्न-अलग-अलग सूची। डिफ़ॉल्ट खाली। |
post_modified | (स्ट्रिंग) वह तिथि जब पोस्ट को अंतिम बार संशोधित किया गया था। डिफ़ॉल्ट वर्तमान समय है। |
post_modified_gmt | (स्ट्रिंग) वह तिथि जब पोस्ट को अंतिम बार GMT टाइमज़ोन में संशोधित किया गया था। डिफ़ॉल्ट वर्तमान समय है। |
post_parent | (Int) इसे उस पोस्ट के लिए सेट करें, जिसका वह कोई भी हो। डिफ़ॉल्ट 0। |
menu_order | (Int) पोस्ट को डिफ़ॉल्ट 0 में प्रदर्शित किया जाना चाहिए। |
post_mime_type | (स्ट्रिंग) पद का माइम प्रकार। डिफ़ॉल्ट खाली। |
GUID | (स्ट्रिंग) पोस्ट को संदर्भित करने के लिए ग्लोबल यूनिक आईडी। डिफ़ॉल्ट खाली। |
tax_input | (ऐरे) उनके कर नाम के अनुसार करोनॉमी शब्दों की सरणी। डिफ़ॉल्ट खाली। |
meta_input | (ऐरे) पोस्ट मेटा मानों की सरणी उनकी पोस्ट मेटा कुंजी द्वारा की गई। डिफ़ॉल्ट खाली। |
डुप्लिकेट पोस्ट से बचें
जब आप इस फ़ंक्शन को निष्पादित करते हैं, तो आप शायद एक डुप्लिकेट की गई पोस्ट प्राप्त कर सकते हैं, कम से कम मेरे साथ ऐसा हुआ। (आप इसे पोस्ट वर्डप्रेस अनुभाग में देख सकते हैं)
मुझे एक समाधान मिला:
if( !get_page_by_title( $title, 'OBJECT', 'post' ) ){
$my_post = array('post_title' => $title,
'post_content' => 'Content',
'tags_input' => $tags,
'post_category' => array(2),
'post_status' => 'publish'
);
$result = wp_insert_post( $my_post );
}
व्याख्या
नई पोस्ट सहेजने से पहले, पुष्टि करें कि क्या नया पोस्ट पहले से ही पोस्ट टाइटल का उपयोग एक पैरामीटर के रूप में मौजूद है, यदि कोई पोस्ट टाइटल नहीं है, तो आप अपनी नई पोस्ट को सहेज सकते हैं।
यहां get_page_by_title के दस्तावेज़ देखें।
परिचय
कभी-कभी हमारे पास TinyMCE (Wordpress Default Editor) के बजाय एक और संपादक होता है। ऐसा तब होता है जब हम अपना स्वयं का थीम, प्लगइन या कुछ विशिष्ट बना रहे होते हैं; और हमें एक प्रकार की पोस्ट लिखने और हेरफेर करने की आवश्यकता है और इसे हमारे WP डेटाबेस में सहेजें।
इसलिए, यदि आप उस स्थिति में हैं, तो आप एक Wordpress फ़ंक्शन का उपयोग कर सकते हैं, जिसे:
wp_insert_post( array $args, bool $wp_error );
एक मूल पोस्ट बनाएँ
$basic_post_args = array(
'post_title' => 'My Basic Post',
'post_content' => 'This is a basic content',
'post_status' => 'publish',
'post_author' => 1,
'post_category' => array(8, 59)
);
wp_insert_post( $basic_post_args );
एक मूल पृष्ठ बनाएँ
$basic_page_args = array(
'post_title' => 'My Basic Page',
'post_content' => 'This is a basic content',
'post_type' => 'page',
'post_status' => 'publish',
'post_author' => 1
);
wp_insert_post( $basic_page_args );