MySQL

2009-11-03 5 views
16

का उपयोग कर वर्डप्रेस में एक पोस्ट डालने से क्या कोई जानता है कि एसक्यूएल का उपयोग करके वर्डप्रेस में एक नई पोस्ट कैसे डालें?MySQL

// Create post object 
    $my_post = array(); 
    $my_post['post_title'] = 'My post'; 
    $my_post['post_content'] = 'This is my post.'; 
    $my_post['post_status'] = 'publish'; 
    $my_post['post_author'] = 1; 
    $my_post['post_category'] = array(8,39); 

// Insert the post into the database 
    wp_insert_post($my_post); 

अधिक जानकारी पाया here:

+0

मैंने आपका प्रश्न संपादित किया। यदि आप नहीं पूछ रहे हैं तो कृपया इसे वापस करें। –

उत्तर

28

आप पोस्ट वस्तु का उपयोग कर सकते हैं।

+0

और मुझे कौन सी फाइलें शामिल करना है? क्योंकि मैं वर्डप्रेस – Uffo

+6

बीटीडब्लू के लिए एक अलग व्यवस्थापक पैनल करना चाहता हूं, यदि आप इसका परीक्षण करना चाहते हैं, तो अपने ब्लॉग की जड़ में "test.php" फ़ाइल बनाएं और इस कोड से पहले इस लाइन का उपयोग करें: आवश्यकता है ('./ wp- ब्लॉग-header.php '); – Volomike

+2

श्रेणी को श्रेणी आईडी की एक सरणी होना आवश्यक है। यह आसान नहीं है, खासकर यदि आपके पास श्रेणियों के साथ अभी तक पोस्ट नहीं है। श्रेणी असाइनमेंट पर फिक्स यह था: $ sCategory = 'test'; $ asPost ['post_category'] = array ($ wpdb-> get_var ("$ wpdb-> शर्तों से चुनें टर्म_आईडी जहां नाम = '$ sCategory'", 0,0)); – Volomike

13

आपका प्रश्न पूछता है कि SQL का उपयोग करके वर्डप्रेस में एक नई पोस्ट कैसे डालें। यदि आप वास्तव में ऐसा करना चाहते हैं, तो "wp" डेटाबेस टेबल पर नज़र डालें और मानक INSERT करें - यह कठिन नहीं होगा।

लेकिन मैं चाहते दृढ़ता से इस करने की सलाह देते हैं - आप सामान्य WP-प्रदान की एक के बाहर एक अलग व्यवस्थापक डैशबोर्ड बनाना चाहते हैं, भले ही आप core functions/एपीआई है कि वे उपलब्ध कराने का उपयोग करना चाहिए। उदाहरण के लिए, wp_insert_post फ़ंक्शन वह है जिसे आप उपयोग करना चाहते हैं।

मेरा मानना ​​है कि आप /wp-load.php सहित इन कार्यों का उपयोग/लोड कर सकते हैं।

+2

मैं वर्डप्रेस के लिए कुछ नया हूं और मैं सोच रहा हूं कि आप मूल एसक्यूएल डालने का उपयोग करने के खिलाफ क्यों सलाह देते हैं? Wp_insert_post फ़ंक्शन के लिंक के लिए – ssergei

+1

+1 और स्टैंडअलोन स्क्रिप्ट के लिए फ़ाइल के विवरण –

+1

@ssergei क्योंकि वर्डप्रेस आपको एक एपीआई प्रदान करता है। – shankshera

6

मैंने संरचना को देखने के लिए "wp_post" तालिका निर्यात करके शुरू किया - फिर पहले खंड की प्रतिलिपि बनाई और सीकेंड लिखा; लेकिन आप केवल सेट कर सकते हैं - मैं सामग्री है कि मैं एक और मेज से सम्मिलित करने के लिए, चाहता था ले लिया:

1: एक चर आप अपने डालने बयान के लिए उपयोग कर सकते हैं ($ एसक्यूएल)

$sql = "INSERT INTO `wp_posts` (`ID`, `post_author`, `post_date`, `post_date_gmt`, `post_content`, `post_title`, `post_excerpt`, `post_status`, `comment_status`, `ping_status`, `post_password`, `post_name`, `to_ping`, `pinged`, `post_modified`, `post_modified_gmt`, `post_content_filtered`, `post_parent`, `guid`, `menu_order`, `post_type`, `post_mime_type`, `comment_count`) VALUES "; 

2 के साथ शुरू करो

$res = mysql_query($sql); if($res): print 'Successful Insert'; else: print 'Unable to update table'; endif; 
:

$sql .= "(' ','".$post_author."',"."'".$post_date."',"."'".$post_date_gmt."',"."'".$post_content."',"."'".$post_title."',"."'".$post_excerpt."',"."'".$post_status."',"."'".$comment_status."',"."'".$ping_status."',"."'".$posd_password."',"."'".$post_name."',"."'".$to_ping."',"."'".$pinged."',"."'".$post_modified."',"."'".$post_modified_gmt."',"."'".$post_content_filtered."',"."'".$post_parent."',"."'".$guid."',"."'".$menu_order."',"."'".$post_type."',"."'".$post_mime_type."',"."'".$comment_count."'),"; 

उसके बाद, अपने मानक क्वेरी का उपयोग - या तो अंदर या अपने बयान के बाहर चर सिर्फ तुम क्या इच्छा को चर सेट 10

+2

यह काम नहीं करेगा, क्योंकि पोस्ट को कोई श्रेणी असाइन नहीं की गई है, और इस प्रकार यह सही ढंग से नहीं दिखाया जाएगा ... –

 संबंधित मुद्दे