क्रमबद्ध विकल्पों को कैसे अपडेट करें?


15

मैं प्लगइन विकल्पों को अपडेट करना चाहता हूं। कुछ चीजें हैं जो मैं बहुत दोहराता हूं।

साथ WP-CLI मैं जानता हूँ कि मैं इस तरह सरल विकल्प अपडेट कर सकते हैं:

php wp-cli.phar option update blog_public 1

हालांकि, कुछ प्लगइन विकल्प क्रमबद्ध स्ट्रिंग में अपने विकल्पों को बचाते हैं।

Wp_options में क्रमबद्ध option_value का उदाहरण:

a:9:{s:4:"from";s:21:"xx@xxx.com";s:8:"fromname";s:51:"xxx";s:4:"host";s:13:"smtp.xx.com";s:10:"smtpsecure";s:3:"ssl";s:4:"port";s:3:"465";s:8:"smtpauth";s:3:"yes";s:8:"username";s:21:"xx@xxx.com";s:8:"password";s:13:"xxx";s:10:"deactivate";s:0:"";}

उन विकल्पों को कैसे अपडेट करें?

जवाबों:


14

इसे स्वयं हल किया, यह ऐसा करने के लिए है:

यदि आप क्रमबद्ध रूप से क्रमबद्ध विकल्पों को अद्यतन करना चाहते हैं:

wp-cli.org से wp-cli डाउनलोड करें

पता करें कि आपके द्वारा उपयोग किए जा रहे विकल्पों के लिए "कुंजी" क्या है। इस उदाहरण में कुंजी "wp_smtp_options" है

यदि आपको कुंजी नहीं पता है, तो wp_options तालिका में खोजें और इसका पता लगाने का प्रयास करें।

उदाहरण: select * from wp_options where option_name like '%smtp%'

अब जब आप अपनी कुंजी जानते हैं, तो इस कमांड का उपयोग अपने कॉन्फ़िगरेशन को जोंस फाइल में सहेजने के लिए करें:

php wp-cli.phar option get wp_smtp_options --format=json > my_saved_config.txt

जब भी आप चाहते हैं कि कॉन्फ़िगरेशन बहाल किया जाए तो इस कमांड का उपयोग करें

php wp-cli.phar option update wp_smtp_options --format=json < my_saved_config.txt

टिप्पणियाँ:

  • WAMPSERVER64 में काम करता है
  • यूनिकोड जैसे यूनिकोड वर्णों के साथ काम करता है
  • आपके पास पैडिंग्स और रिक्त स्थान के लिए अपनी json फाइल हो सकती है, लेगबिलिटी के लिए

इस उद्देश्य के लिए एक मध्यवर्ती फ़ाइल का उपयोग नहीं करना बहुत अच्छा होगा। क्या किसी को पता है कि यह कैसे करना है?


1
साभार - महान कार्य अगर कोई बाहरी फ़ाइलों की आवश्यकता के बिना एक स्क्रिप्ट लिखने की कोशिश कर रहा है, तो आप सिर्फ option updateसिंगल कोट्स में लाइन में जसन लगा सकते हैं । यहां लाइन 61 पर मेरा कार्यान्वयन देखें: gist.github.com/squarecandy/cfdead55ca1d84496044
squarecandy

एक "एक लाइनर" के लिए मेरा जवाब देखें
लॉरेंट

13

WP-CLI निश्चित रूप से 1.4.0 के अपडेट के बाद इसका जवाब है जिसने वर्डप्रेस में क्रमबद्ध डेटा तक पहुंचने के लिए प्लक और पैच कमांड पेश किए ।

क्रमबद्ध मानों को हथियाने के लिए प्लक कमांड इस प्रारूप को लेता है

wp option pluck <key> <key-name>

उदाहरण के लिए active_plugins विकल्प में आप पहले आइटम को पकड़ सकते हैं

wp option pluck active_plugins 0

पैच कमांड क्रमबद्ध मानों (क्रिया) को सम्मिलित करने, अपडेट करने या निकालने के लिए इस प्रारूप को लेता है

wp option patch <action> <key> <key-name> <value>

पहले Active_plugin को हटाना इस तरह दिखाई देगा

wp option patch delete active_plugins 0

वर्डमैट जैसे अन्य कमांड के लिए एक ही प्लक और पैच को भी जोड़ा गया था, अब आप वर्डप्रेस सीरियल किए गए डेटा को प्रोग्रामिक रूप से अपडेट करने के लिए कुछ कूल लूप करने के लिए WP-CLI का उपयोग कर सकते हैं


2
यह स्वीकृत उत्तर होना चाहिए।
इवान मैटसन

6

यहाँ मैं इसे बाश स्क्रिप्ट में कैसे करूँ:

wp option get wp_smtp_options --format=json | php -r '
$var = json_decode( fgets(STDIN) );
$var->from = "email@email.com";
$var->fromname = "me";
print json_encode($var);
' | wp option set wp_smtp_options --format=json

0

WP-CLI आदेश optionउपयोग वर्डप्रेस 'करता है विकल्प एपीआई अपना काम करने में। यह देखते हुए, उदाहरण के लिए update, एक सही इनपुट के साथ, एक array, एक , आपको WP-CLI के साथ ऐसा करने में सक्षम होना चाहिए। आपको --formatयहां पैरामीटर का उपयोग करना चाहिए , यह सुनिश्चित करने के लिए कि आपको समान मिलता है, jsonआमतौर पर updateसबकुंड के लिए ठीक काम करता है । ध्यान दें, सबकोमैंड ने getआपको विकल्प को अनजाने में वापस कर दिया जाना चाहिए, क्योंकि विकल्प एपीआई का उपयोग किया जाता है, जिसे आप तब सहेज सकते हैं, संशोधित कर सकते हैं और / / अन्य / नई स्थापनाओं पर स्थानांतरण / सेट-अप कर सकते हैं।


यह काम नहीं करता है: wp option get wp_smtp_options > savedconfiguration.txt wp option update wp_smtp_options < savedconfiguration.txt पहला कमांड सरणी के रूप में बचाता है, लेकिन दूसरा किसी सरणी को स्वीकार नहीं करता है। मुझे लगता है कि मुझे इसे पहले प्रसारित करना चाहिए, क्या आप जानते हैं कि यह कैसे करना है?
lalo

क्या आपने formatपैरामीटर का लाभ उठाने की कोशिश की ? @lalo संपादित करें: अभी-अभी आपने इसे देखा है ..
निकोलाई

wp-cli.org में यह नहीं कहा गया है कि formatपैरामीटर के लिए कौन से विकल्प उपलब्ध हैं । मुझे आश्चर्य है कि अगर मैं अपने उत्तर में लिखी गई एक मध्यवर्ती फ़ाइल का उपयोग किए बिना संभव हो सकता है।
lalo

आपको formatपैरामीटर पर एक संपूर्ण अवलोकन प्राप्त करने के लिए स्रोत को देखना होगा , जो कभी-कभी (उप-) कमांड से (उप-) कमांड से भिन्न होता है। यह निश्चित रूप से संभव है, उदाहरण के लिए एक बैश स्क्रिप्ट लिखकर और डेटा को एक चर में संग्रहीत करना। @ ललो
निकोलई

यहाँ स्रोत कोड है, लेकिन समझ में नहीं आता है कि कहां --formatउपलब्ध विकल्प हैं: github.com/wp-cli/wp-cli/blob/master/php/commands/…
lalo
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.