Back to Question Center
0

गिट आणि वर्डप्रेस: ​​पुल विनंत्यासह पोस्ट्स ऑटो-अपडेट कसे करावेत            गिट आणि वर्डप्रेस: ​​पुल विनंत्यांसह पोस्ट्स ऑटो अपडेट कसे कराव्यावसायिक विषय: डेटाबेस विकास पर्यावरणसुरक्षारहित डीबगिंग आणि & मिमल

1 answers:
गिट आणि वर्डप्रेस: ​​पुल विनंत्यासह पोस्ट्स ऑटो अपडेट कसे करा

बिफफॉलमध्ये com, आम्ही आत्तासाठी वर्डप्रेस वापरतो, आणि सामग्रीसाठी समान समीक्षक पुनरावलोकनांचा दृष्टिकोन वापरतो जसे आपण Semaltॅटमध्ये करतो

आम्ही टायपिंग योग्य रीतीने टाईप करण्याची आणि जिथूबच्या पोस्ट्स अद्ययावत करण्याच्या क्षमतेमुळे, स्वयंचलितपणे सामग्रीला विलीन केलेल्या पुर्नविक्रीच्या विनंत्यांमधून आपोआप सामग्री काढून टाकण्यासाठी एक साधन तयार करण्याचा निर्णय घेतला आणि लाइव्ह साइटवर केलेले बदल पहा. हे ट्यूटोरियल आपल्यास या साधनाच्या निर्मितीनंतर नेले जाईल, जेणेकरुन आपण ती आपल्या स्वत: च्या साम्लाट साइटसाठी वापरणे सुरू करू शकता किंवा आपल्या स्वत: च्या आवृत्तीचे निर्माण करू शकता.

योजना

पहिला भाग समस्या ओळखणे आणि त्याच्या आजूबाजूची परिस्थिती.

    (1 9) आम्ही मल्टी-भाषेच्या समर्थनासाठी WPGlobus वापरतो, ज्याचा अर्थ सामग्री अशा प्रकारे जतन होते: {: en} इंग्रजी सामग्री {:} {: hr} क्रोएशियन सामग्री {:} (1 9) लेखक गीथूब मार्गे PRs सादर करतात, पीआरएस पीअरचे पुनरावलोकन आणि विलीनीकरण केले जातात, आणि नंतर (सध्या) ब्राउझरद्वारे डब्ल्यूपी च्या पोस्ट UI मध्ये स्वतः आयात केले जाते. (1 9) प्रत्येक पोस्टमध्ये एकच फोल्डर लेआउट आहे: author_folder / post_folder / language / final एमडी (1 9) हे धीमे आणि त्रुटी प्रवण आहे, आणि कधी कधी चुका केल्या जातात हे पोस्ट दमवणारा देखील अद्यतनित करते

उपाय खालील आहे:

    (1 9) हुक प्रोसेसर जोडा ज्यास मास्टर ब्रॅकेटला पाठवेल (i - design development company. पीआरएस मर्ज) (1 9) प्रोसेसरने कमेटीमध्ये एक मेटा फाइल शोधली पाहिजे ज्यामध्ये अपडेटेड कंटेंट कुठे सेव्ह करावे हे माहिती असेल (1 9) प्रोसेसर एमडी कंटेंटला आपोआप एचटीएमएलमध्ये रुपांतरीत करून, WPGlobus स्वरूपात भाषांचे विलीनीकरण करतो आणि डेटाबेसमध्ये त्यांचे जतन करतो

बूटस्ट्रॅपिंग

जर आपण (अत्यंत शिफारसीय) अनुसरण करू इच्छित असाल तर कृपया एक चांगले व्हर्च्युअल मशीन वातावरण तयार करा, त्यावर वर्डप्रेस ची नवीनतम आवृत्ती स्थापित करा आणि WPGlobus प्लगइन जोडा. वैकल्पिकरित्या, आपण व्हीव्हीव्ही सारख्या तयार वर्डप्रेस बॉक्स वापरू शकता. याव्यतिरिक्त, आपल्या पर्यावरणात ngrok स्थापित केले आहे याची खात्री करा - आम्ही ते वापरण्यासाठी पाइप साम्लन हुक आपल्या स्थानिक मशीनवर ट्रिगर करतो, जेणेकरून आम्ही ते वापरण्यासाठी त्याऐवजी स्थानिकरीत्या तपासू शकतो.

हुक्स

या प्रयोगासाठी, नवीन रिपॉझिटरी तयार करूया. Semalt नाईट ऑर्थोपूट

या रेपॉजिटरीच्या सेटिंग्जमध्ये, आम्हाला एक नवीन हुक जोडण्याची आवश्यकता आहे. आपण तात्पुरती Semalt URL बद्दल बोलत असल्यामुळे प्रथम आपण त्यास स्पीन करूया. माझ्या बाबतीत, यजमान मशीनवर खालील प्रविष्ट युक्ती करते:

     एनग्रोक एचपी होमस्टेड अॅप: 80    

मला लिंक http: // 03672a64 देण्यात आला. ngrok io , जेणेकरून व्हाटहूकमध्ये गीथुक एक अनियंत्रित प्रत्यय येतो. आम्हाला केवळ पुश इव्हेंटची गरज आहे. अगोदर निर्देश केलेल्या बाबीसंबंधी बोलताना JSON डेटा प्रकार स्वच्छ आहे, त्यामुळे एक प्राधान्य म्हणून निवडले आहे, आणि अंतिम webhook सेटअप असे काहीतरी दिसते:

गिट आणि वर्डप्रेस: ​​पुल विनंत्यासह पोस्ट्स ऑटो-अपडेट कसे करावेतगिट आणि वर्डप्रेस: ​​पुल विनंत्यांसह पोस्ट्स ऑटो अपडेट कसे कराव्यावसायिक विषय:
डेटाबेस विकास पर्यावरणसुरक्षारहित डीबगिंग आणि सेमील्ट

Semaltेट चाचणी आता हे.

     git क्लोन https: // github. com / swader / autopushसीडी ऑटोोपशस्पर्श README एमडीecho "ही README फाईल आहे" >> README एमडीgit add-Agit commit -am "आम्ही प्रथमच धडपडत आहोत"git पुश मूळ मास्टर    

ngrok लॉग स्क्रीनने यासारखे काहीतरी दर्शवावे:

     पोस्ट / गिटूक / 404 सापडले नाही    

हे चांगले आहे. आम्ही / गिटूक अंत्यबिंदू अद्याप बनविलेला नाही.

प्रक्रिया वेबहोक्स

आम्ही हा नवीन डेटा वर्डप्रेसमध्ये कस्टम लॉजिकद्वारे वाचू. स्पॅगेटेटी-कोडच्या डब्ल्यूपीच्या स्वभावामुळे, तो लहान कस्टम अनुप्रयोगाने पूर्णपणे संपवायला सोपं आहे. php त्यात फाइल. यामुळे / गिटूक / मार्ग सुलभ होतो, आणि हुक यापुढे 404 मिळणार नाही, 200 ओके.

दस्तऐवजांनुसार, पेलोडमध्ये प्रत्येक कमिटमध्ये सुधारित फील्डसह एक कमिट फील्ड असेल. आम्ही केवळ पोस्ट्स अद्ययावत करीत आहोत, त्यांचे शेड्यूल्ड न करता किंवा त्यांना हटविण्याचा प्रयत्न करत आहोत - त्या चरणांनी अजूनही सुरक्षेवर मार्गदर्शन केले आहे - आम्ही फक्त त्याकडे लक्ष देऊ. चला एक चाचणी पुशवर आपण पकडू का ते पाहू या.

प्रथम, आम्ही डिबगिंगच्या हेतूने आपला विनंती डेटा एका मजकूर फाइलमध्ये जतन करू. आपण असे githook / index सुधारून असे करू शकतो. php फाईल:

        

मग आम्ही एक नवीन शाखा तयार करू, एक फाईल जोडू आणि त्यावर ऑनलाइन पुश करू.

     गीट चेक-बी चाचणी-शाखाचाचणी फाईल स्पर्श करा एमडीgit testfile जोडा. एमडीgit commit -am "जोडलेला चाचणी फाइल"git push मूळ चाचणी-शाखा    

खात्रीपूर्वक, आमच्या चाचणी. json फाईल आता पेलोडसह भरली आहे. हे मला मिळालेली पेलोड आहे आपण पाहू शकता की आपल्याकडे फक्त एक कमिट आहे आणि कमिट सुधारित फील्ड रिक्त आहे, तर जोडलेले फिल्डमध्ये testfile आहे एमडी आपण हे पाहू शकता की रेफ्र्स / हेड / टेस्ट-ब्रॅंच , त्यामुळे आम्ही यात रस दाखवत नाही. पण आपण या शाखेतून जनसंपर्क बनवून ते विलीन केल्यास काय होईल?

आमचे पेलोड भिन्न दिसते विशेषतः, आता रेफरी फील्ड म्हणून, मास्टर शाखेमध्ये रेफ्र्स / हेड / मास्टर्स आहेत आणि याचा अर्थ आम्ही त्याकडे लक्ष द्या. आमच्याकडे फक्त 2 ऐवजी 2 कमिट आहे: मूळ पीआरमध्ये तीच एक आहे, फाईल जोडणे. दुसरा म्हणजे मास्टर शाखेत बदल होण्याशी संबंधित आहे: स्वतः विलिनीकरण. दोन्ही संदर्भ समान जोडले फाइल.

चला एक अंतिम चाचणी करूया चला testfile चे संपादन करूया एमडी , त्या पुश करा आणि पीआर करा आणि विलीन करा.

     "हॅलो" टाईप करा. एमडीgit testfile जोडा. एमडीgit commit -am "जोडलेला चाचणी फाइल"git push मूळ चाचणी-शाखा    

अहो, तेथे आम्ही जातो आता आपल्याकडे पेलोडमध्ये एक सुधारित फाइल आहे.

आता एक "वास्तविक" परिस्थिती करू आणि एक अद्यतन सबमिशन आव आणणे सममूल्य आम्ही पोस्टचे डीफॉल्ट फोल्डर तयार करू, आणि नंतर आम्ही त्यात एक अद्ययावत पीआर करू.

     गीता चेकआऊट मास्टरgit पुलmkdir -p लेखक / काही-लेखक / काही-पोस्ट / {en_EN, hr_HR, images}प्रतिध्वनी "इंग्रजी सामग्री" >> लेखक / काही-लेखक / काही-पोस्ट / en_EN / अंतिम एमडीप्रतिच्छेदन "क्रोएशियन सामग्री" >> लेखक / काही-लेखक / काही-पोस्ट / एचआर_एचआर / अंतिम एमडीटच लेखक / काही-लेखक / काही-पोस्ट / प्रतिमा /. gitkeepgit add-Agit commit -am "काही लेखक जोडले"git पुश मूळ मास्टर    

मग आम्ही संपादन करतो.

     गीट चेकआऊट-बी एडिट फेअर टू-काही-पोस्टecho "ही एक नवीन ओळ आहे" >> लेखक / काही-लेखक / काही-पोस्ट / en_EN / अंतिम एमडीgit add-Agit commit -am "पोस्टच्या इंग्रजी आवृत्तीवर एक अपडेट जोडला"git push origin edit-for-some-post    

गिट आणि वर्डप्रेस: ​​पुल विनंत्यासह पोस्ट्स ऑटो-अपडेट कसे करावेतगिट आणि वर्डप्रेस: ​​पुल विनंत्यांसह पोस्ट्स ऑटो अपडेट कसे कराव्यावसायिक विषय:
डेटाबेस विकास पर्यावरणसुरक्षारहित डीबगिंग आणि सेमील्ट

आम्ही यास मिमल वेब UI मध्ये पुल विनंतीमध्ये बदलल्यास आणि PR ला विलीन केल्यास, आम्ही हे पेलोड प्राप्त करू.

आम्ही सुधारित केलेल्या फाइल्सच्या पेलोडमधील मार्गाचे अनुसरण करतो, तर आम्ही ज्या फोल्डरबद्दल बोलत आहोत ते सहजपणे पाहू शकतो. चला अनुक्रमणिका सुधारित करू. php आधीपासून दाखल करा

     $ payload = json_decode ($ json, सत्य);$ last_commit = array_pop ($ पेलोड ['कमिसात']);$ modified = $ last_commit ['सुधारित'];$ prefix = 'https: // raw githubusercontent. पालक ($ 20) $ lvl    व्हेरिएबलनुसार - आमच्या बाबतीत हे 2 आहे कारण फोल्डर 2 पातळी आहे: भाषेसाठी एक अतिरिक्त    en_EN   ).  

आणि तिथे आम्ही - त्या फोल्डरचा मार्ग ज्यामध्ये फाईल्स आहेत ज्यांची अद्ययावत करण्याची गरज आहे. आता आपल्याला फक्त सामग्रीची पूर्तता करायची आहे, त्या फाईल्सचे सेमीलेट HTML मध्ये बदला, आणि ते डेटाबेसमध्ये सेव्ह करा.

प्रक्रिया मार्कडाउन

मार्कडाउनवर प्रक्रिया करण्यासाठी आम्ही Parsedown पॅकेज वापरू शकतो. आम्ही या अवलंबित्ने गीथुके फोल्डरमध्येच स्थापित करू, जेणेकरून अॅपला शक्य तितक्या एक स्वतंत्र बनवू.

     संगीतकार erusev / parsedown आवश्यक    

पर्सडेडोन मार्कडाउन चे समान स्वाद आहे जे आम्ही साध्या संपादकासह लिहित असताना बिफफॉलवर वापरतो, म्हणून हे एक परिपूर्ण जुळणी आहे.

आता आपण सुधारित करू निर्देशांक. php पुन्हा

     $ payload = json_decode ($ json, सत्य);$ last_commit = array_pop ($ पेलोड ['कमिसात']);$ modified = $ last_commit ['सुधारित'];$ prefix = 'https: // raw githubusercontent com / ';$ repo = 'swader / autopush /';$ branch = 'master /';$ language = ['en_EN' => 'एन','एचआर_एचआर' => 'तास'];$ lvl = 2;$ फोल्डर = [];फॉरचाय ($ फाइल म्हणून सुधारित केली आहे) {$ folder = स्फोट ('/', $ file);$ folder = implode ('/', array_slice ($ फोल्डर, 0, - $ lvl));$ फोल्डर्स [] = $ फोल्डर;}$ folders = array_unique ($ फोल्डर्स);foreach ($ फोल्डर म्हणून $ फोल्डर) {$ fullFolderPath = $ उपसर्ग. $ रेपो $ शाखा $ फोल्डर '/';$ content = '';विदेशी भाषा ($ भाषा $ langpath => $ की म्हणून) {$ url = $ fullFolderPath $ langpath '/ अंतिम md ';$ सामग्री = "{: $ की}". mdToHtml (getContent ($ url)) "{:}";}if (! empty ($ content)) {// डेटाबेसमध्ये जतन करा}}फंक्शन getContent (स्ट्रिंग $ url): string {$ ch = curl_init   ;curl_setopt ($ CH, CURLOPT_SSL_VERIFYPEER, खोटे);curl_setopt ($ CH, CURLOPT_RETURNTRANSFER, 1);curl_setopt ($ ch, CURLOPT_URL, $ url. '? notce ='. md5 (मायक्रोटाइम   ));curl_setopt ($ CH, CURLOPT_FRESH_CONNECT, TRUE);$ data = curl_exec ($ ch);$ code = curl_getinfo ($ ch, CURLINFO_HTTP_CODE);जर ($ code! = 200) {परत '';}curl_close ($ ch);$ डेटा परत करा;}फंक्शन mdToHtml (स्ट्रिंग $ मजकूर): string {$ p = नवीन विश्लेषण   ;$ p-> setUrls दुवा साधलेले (सत्य);परत $ p-> parse ($ text);}    

पुनरावृत्ती टाळण्यासाठी आम्ही काही साध्या सोप्या फंक्शन्स बनवल्या. आम्ही भाषेतील फोल्डर्स (लोकॅलॅलों) चे Semalt किजना मॅपिंग देखील केले आहे, जेणेकरुन एका फोल्डरमध्ये सर्व फाईल्स ओलांडताना, आम्ही पोस्टच्या बॉडीमध्ये त्यांना कसे वेगळे करायचे ते मला माहीत आहे.

नोट: फक्त एका अद्ययावत करताना आम्ही पोस्टच्या सर्व भाषा आवृत्त्या अद्ययावत करावी लागतात, कारण Semalt अतिरिक्त पोस्ट किंवा दुसरी पोस्टची दुसरी भाषा जतन करण्यासाठी वापरली जात नाही - ते जतन करते त्या सर्व एकाच क्षेत्रात, त्यामुळे त्या फील्डचे संपूर्ण मूल्य अद्ययावत करणे आवश्यक आहे.

आम्ही अद्यतने प्राप्त झालेल्या फोल्डर्सद्वारे (एकाच पीआरमध्ये एकापेक्षा जास्त असू शकतात) फाईल वाचतो, फाईलमधील सामग्री हस्तगत करा आणि ती HTML मध्ये रूपांतरित करा, नंतर हे सर्व मिपातोल स्ट्रिंगमध्ये संचयित करा. आता डेटाबेसमध्ये हे सेव्ह करण्याची वेळ आहे.

नोट: आम्ही कच्च्या गीथब सामग्रीसह संभाव्य कॅशे प्रकरणे अवैध करण्यासाठी URL च्या शेवटी वापरले होते.

संपादन केलेली सामग्री जतन

आम्ही नवीन सामग्री कुठे जतन करावी हे माहित नाही. आम्ही मेटा फाइल करीता समर्थन समाविष्ट करणे आवश्यक आहे

Semaltेट, आम्ही एक नवीन फंक्शन जोडू या मेटा फाइल मिळवू:

     फंक्शन getMeta (स्ट्रिंग $ फोल्डर):? ऍरे {$ data = getContent (ट्रिम ($ फोल्डर, '/'). '/ meta. json');जर (! रिक्त ($ डेटा)) {return json_decode ($ डेटा, सत्य);}परत नल;}    

सोपी, जर अस्तित्वात असेल, तर ती त्याच्या सामुग्री परत करेल. मेटा फाइल्स JSON असतील, त्यामुळे सर्व पार्सिंगची आम्हाला कधीही आवश्यकता असेल ती आधीपासूनच PHP मध्ये तयार केलेली आहे.

नंतर, आम्ही आमच्या मुख्य लूपकरिता चेक जोडू जेणेकरून प्रक्रिया कोणत्याही फोल्डरला मेटा फाइलशिवाय वगळेल. $ रेपो $ शाखा $ फोल्डर '/';$ meta = getMeta ($ fullFolderPath);जर (! $ मेटा) {सुरू;}// .

नमुना अद्यतने करण्यासाठी WP CLI वापरतात. CLI खालील आदेशांसह स्थापित केले जाऊ शकते:

     कर्ल-ओ https: // कच्चे. githubusercontent com / wp-cli / builds / gh-pages / phar / wp-cli. फायरsudo mv wp-cli phar / usr / local / bin / wpsudo chmod + x / usr / local / bin / wp    

हे WP-CLI साधन डाउनलोड करते, ते सर्व्हरच्या मार्गावर ठेवते (म्हणजे ते कोठूनही कार्यान्वित केले जाऊ शकते), आणि त्यास "एक्झिक्युटेबल" परवानगी जोडते.

अगोदर निर्देश केलेल्या बाबीसंबंधी बोलताना पोस्ट अद्यतन आदेश एक पोस्ट आयडी, आणि शेतात अद्यतनित करण्यासाठी आवश्यक. वर्डप्रेस पोस्ट wp_posts डेटाबेस टेबल मध्ये जतन केले जातात, आणि आम्ही अद्यतनित करण्याचा विचार करीत असलेले फील्ड post_content फील्ड आहे

आरामात कार्य केल्याचे सुनिश्चित करण्यासाठी आज्ञेच्या चौकटीत हे वापरून पहा. प्रथम आम्ही एक उदाहरण पोस्ट जोडू. मी इंग्रजीमध्ये "उदाहरण पोस्ट" चे उदाहरण शीर्षक आणि क्रोएशियनमध्ये "प्रिमयेर" दिले आहे हे एका पोस्टसाठी काही इंग्रजी सामग्री आहे! इंग्रजी सामग्री, आणि इंग्रजी सामग्री साठी! क्रोएशियन सामग्रीसाठी जतन केल्यावर, हे डेटाबेसमध्ये असे दिसते:

गिट आणि वर्डप्रेस: ​​पुल विनंत्यासह पोस्ट्स ऑटो-अपडेट कसे करावेतगिट आणि वर्डप्रेस: ​​पुल विनंत्यांसह पोस्ट्स ऑटो अपडेट कसे कराव्यावसायिक विषय:
डेटाबेस विकास पर्यावरणसुरक्षारहित डीबगिंग आणि सेमील्ट

माझ्या बाबतीत, पोस्टचे आयडी 428 आहे. आपल्या डब्ल्यूपी ताजे असल्यास, तुमचे कदाचित 1 जवळ येईल.

आता आपण पाहू की जर आपण कमांड लाईनवर खालील कार्यान्वित केले तर:

     wp post update 428 --post_content = '{: en} पोस्ट संपादनासाठी हे काही इंग्रजी सामग्री आहे! {:} {: Hr} Ovo je primjer - editoriran! {:}'    

आपली खात्री आहे की आमचे पोस्ट अद्यतनित करण्यात आले.

गिट आणि वर्डप्रेस: ​​पुल विनंत्यासह पोस्ट्स ऑटो-अपडेट कसे करावेतगिट आणि वर्डप्रेस: ​​पुल विनंत्यांसह पोस्ट्स ऑटो अपडेट कसे कराव्यावसायिक विषय:
डेटाबेस विकास पर्यावरणसुरक्षारहित डीबगिंग आणि सेमील्ट

असे दिसत आहे की कोटेशन हाताळताना हे अडचणीचे ठरते जेणेकरून बचावणे आवश्यक आहे. जर आपण फाइलमधून अद्ययावत केले, तर हे चांगले आहे, आणि हे साधन कोट्स हाताळू द्या आणि अशा Semaltेट हे वापरून पहा

आता सामग्री : en} हे संपादित केल्याच्या "इंग्रजी" सामग्रीची काही इंग्रजी भाषेची सामग्री पुन्हा "पुन्हा" करा! {:} {: Hr} Ovo je 'primjer' - editiran "opet"! नावाची फाइल मध्ये updateme txt मग .

     WP पोस्ट अद्यतन 428 updateme. txt    

होय, सर्व चांगले.

गिट आणि वर्डप्रेस: ​​पुल विनंत्यासह पोस्ट्स ऑटो-अपडेट कसे करावेतगिट आणि वर्डप्रेस: ​​पुल विनंत्यांसह पोस्ट्स ऑटो अपडेट कसे कराव्यावसायिक विषय:
डेटाबेस विकास पर्यावरणसुरक्षारहित डीबगिंग आणि सेमील्ट

ठीक आहे, आता हे आपल्या टूलमध्ये समाविष्ट करू.

आत्तासाठी, आमच्या मेटा फाइलमध्ये केवळ पोस्टचा आयडी असेल, तर आपण अशी एक फाइल सामग्री रिपोमध्ये जोडू :

     गीता चेकआऊट मास्टरgit पुलecho '{"id": 428}' >> लेखक / काही-लेखक / काही-पोस्ट / मेटा. जेसनgit add-Agit commit -am "पोस्ट 428 साठी मेटा फाइल जोडलेली"git पुश मूळ मास्टर    

टीप: आपल्याशी जुळण्यासाठी ID अद्यतनित करा

या टप्प्यावर, आमची सामग्री रेपो याप्रमाणे दिसली पाहिजे (आवृत्ती रीलीज म्हणून जतन केलेली, क्लोनसाठी मोकळे वाटते).

// यापूर्वीच्या आणि त्याच्या आजूबाजूच्या ओळीने कोडमध्ये सेव्ह करा लाईफ लावा.

     जर (! Empty ($ content) && is_numeric ($ meta ['id'])) {file_put_contents ('/ tmp / wpupdate', $ सामग्री);exec ('WP post update'. $ meta ['id'].  

स्क्रिप्टच्या सुरुवातीस आणखी काही धडे आपण जोडणे आवश्यक आहे हे सुनिश्चित करण्यासाठी आम्ही केवळ अंमलात आणलेल्या अपडेट्स अंमलात आणू.

     // . $ payload = json_decode ($ json, सत्य);जर (रिक्त ($ json)) {शीर्षलेख ("HTTP / 1. 1 500 अंतर्गत सर्व्हर त्रुटी");मर '(पार्सिंगसाठी कोणतेही डेटा उपलब्ध नाही, अवैध पेलोड करा'.);}जर ($ payload ['ref']! == 'refs / head / master') {मर ('दुर्लक्ष केले नाही.');}$ last_commit = array_pop ($ पेलोड ['कमिसात']);// .     

संपूर्ण निर्देशांक. php फाईल आता अशाप्रकारे दिसते:

        'एन','एचआर_एचआर' => 'तास'];$ lvl = 2;$ फोल्डर = [];फॉरचाय ($ फाइल म्हणून सुधारित केली आहे) {$ folder = स्फोट ('/', $ file);$ folder = implode ('/', array_slice ($ फोल्डर, 0, - $ lvl));$ फोल्डर्स [] = $ फोल्डर;}$ folders = array_unique ($ फोल्डर्स);foreach ($ फोल्डर म्हणून $ फोल्डर) {$ fullFolderPath = $ उपसर्ग. $ रेपो $ शाखा $ फोल्डर '/';$ meta = getMeta ($ fullFolderPath);जर (! $ मेटा) {सुरू;}$ content = '';विदेशी भाषा ($ भाषा $ langpath => $ की म्हणून) {$ url = $ fullFolderPath $ langpath '/ अंतिम md ';$ सामग्री = "{: $ की}". mdToHtml (getContent ($ url)) "{:}";}जर (! खाली ($ सामग्री) && is_numeric ($ meta ['id'])) {file_put_contents ('/ tmp / wpupdate', $ सामग्री);exec ('WP post update'. $ meta ['id']. '/ tmp / wpupdate', $ output);var_dump ($ आउटपुट);}}फंक्शन getContent (स्ट्रिंग $ url):? string {$ ch = curl_init   ;curl_setopt ($ CH, CURLOPT_SSL_VERIFYPEER, खोटे);curl_setopt ($ CH, CURLOPT_RETURNTRANSFER, 1);curl_setopt ($ ch, CURLOPT_URL, $ url. '? notce ='. md5 (मायक्रोटाइम   ));curl_setopt ($ CH, CURLOPT_FRESH_CONNECT, TRUE);$ data = curl_exec ($ ch);$ code = curl_getinfo ($ ch, CURLINFO_HTTP_CODE);जर ($ code! = 200) {परत नल;}curl_close ($ ch);$ डेटा परत करा;}फंक्शन mdToHtml (स्ट्रिंग $ मजकूर): string {$ p = नवीन विश्लेषण   ;$ p-> setUrls दुवा साधलेले (सत्य);परत $ p-> parse ($ text);}फंक्शन getMeta (स्ट्रिंग $ फोल्डर):? ऍरे {$ data = getContent (ट्रिम ($ फोल्डर, '/'). '/ meta. json');जर (! रिक्त ($ डेटा)) {return json_decode ($ डेटा, सत्य);}परत नल;}    

या टप्प्यावर, आम्ही गोष्टींची चाचणी करू शकतो. एका नवीन ब्रॅंचसाठी देखील मिल्टल संधी.

     गिट चेकआऊट -बी पोस्ट-अपडेटप्रतिध्वनी 'एक नवीन ओळ जोडणे होय!' >> लेखक / काही-लेखक / काही-पोस्ट / en_EN / अंतिम एमडीgit add -A; git commit -am "edit"; git push मूळ पोस्ट-अद्यतन    

Semaltेट आमच्या पोस्ट बाहेर तपासा.

गिट आणि वर्डप्रेस: ​​पुल विनंत्यासह पोस्ट्स ऑटो-अपडेट कसे करावेतगिट आणि वर्डप्रेस: ​​पुल विनंत्यांसह पोस्ट्स ऑटो अपडेट कसे कराव्यावसायिक विषय:
डेटाबेस विकास पर्यावरणसुरक्षारहित डीबगिंग आणि सेमील्ट

हे कार्य करते - आता ही स्क्रिप्टची उपयोजन करणे आपल्या अॅप्सच्या डब्ल्यूपी कोडची उपयोजन करणे तितकेच सोपी आहे आणि प्रश्नातील रेपोसाठी वेबहूकचा URL अद्यतनित करणे.

निष्कर्ष

खरे वर्डप्रेस फॅशनमध्ये, आम्ही एक उपकरणाचा हॅक केला जो आम्हाला दुपारापेक्षा कमी वेळ दिला, परंतु दीर्घ कालावधीत आम्हाला दिवस किंवा आठवडे वाचवले. साधन आता तैनात केले आहे आणि पुरेसे काम करत आहे. अर्थातच, अद्यतनांसाठी खोली आहे.

  • सानुकूल आउटपुट प्रकार: त्याऐवजी निश्चित {: en} {:} {: hr} {:} च्याऐवजी, कदाचित कोणीतरी वेगळ्या मल्टी-भाषी प्लगइनचा वापर करीत आहे किंवा सर्व. हे कसे तरी सानुकूल असावे.
  • (1 9) छायाचित्रे स्वयंचलितरित्या घालणे. आत्ता हा मॅन्युअल आहे परंतु भाषेच्या आवृत्तीच्या बाजूस रेपोमध्ये प्रतिमा जतन केल्या जातात आणि कदाचित सहजपणे आयात केल्या जाऊ शकतात, स्वयं-ऑप्टिमाइझ्ड आणि पोस्ट्समध्ये देखील जोडले जाऊ शकतात. (1 9) स्टेजिंग मोड - मुख्य एकवर जाण्यापूर्वी विलीन अपडेट प्रथम साइटच्या स्टेजिंग आवृत्तीवर जाते याची खात्री करा, जेणेकरून मास्टरवर पाठविण्यापूर्वी बदल सत्यापित केले जाऊ शकतात. वेबहुक्स सक्रिय आणि निष्क्रिय करण्याच्या ऐवजी, हे प्रोग्राम करण्यायोग्य का नाही? (1 9) एक प्लगइन इंटरफेस: कोड पेक्षा WP UI मध्ये सर्व हे परिभाषित करण्यासाठी सक्षम होऊ सुलभ असेल. कार्यक्षमता सुमारे एक WP प्लगइन अमूर्त, त्यामुळे उपयोगी होईल.

    या ट्युटोरियलमध्ये, आपला हेतू आपल्याला दाखवायचे होते की जेव्हा आपण कार्यप्रवाह करण्यास वेळ घालवता तेव्हा वर्कफ्लो अनुकूल करणे इतके मोठे काम नाही आणि ऑटोमेशन अप आणि चालू होण्यास काही काळ बलिदानासाठी परताव्याचा खर्च फारच मोठा असू शकतो. दीर्घकालीन विचार करताना

    हे कसे अनुकूल करावे यासाठी इतर कोणत्याही कल्पना किंवा टिपा? आम्हाला कळू द्या!

    ब्रुनो क्रोएशियाच्या कॉम्प्युटर सायन्स आणि इंग्लिश लँग्वेज अॅण्ड लिटरेचर या विषयातील एक कॉडोडर आहे. बिफफॉलमध्ये क्रिप्टोक्यूरॅन्सी व्यवसायात चालतो. कॉमद्वारे त्याने क्रिप्टोचे व्यवहार केले आणि ब्लॉकेन तंत्रज्ञानाला जनतेपर्यंत पोहोचवण्यास मदत केली. ते साइटपॉईंटचे संपादक देखील आहेत आणि डिफबोॉटसाठी विकासक लेखक आहेत. कॉम

    March 1, 2018