সিরিয়ালাইজড অপশনগুলি কীভাবে অগ্রগতিতে আপডেট করবেন?


15

আমি প্লাগইন অপশন আপডেট করে স্বয়ংক্রিয় করতে চাই। কিছু জিনিস আছে যা আমি প্রচুর পুনরাবৃত্তি করি।

সঙ্গে WP-CLI আমি জানি আমি ভালো সহজ বিকল্প আপডেট করতে পারেন:

php wp-cli.phar option update blog_public 1

তবে কিছু প্লাগইন বিকল্প তাদের বিকল্পগুলি সিরিয়ালযুক্ত স্ট্রিংয়ে সংরক্ষণ করে।

ডব্লিউপি_পশনগুলিতে সিরিয়ালযুক্ত বিকল্পের মূল্য উদাহরণ:

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_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 এ কাজ করে
  • ic á é এর মতো ইউনিকোড অক্ষরগুলির সাথে কাজ করে é
  • প্যাডিবিলিটির জন্য আপনার প্যাডিংস এবং স্পেস সহ আপনার জেসন ফাইল থাকতে পারে

এই উদ্দেশ্যে একটি মধ্যবর্তী ফাইল না ব্যবহার করা দুর্দান্ত হবে। কেউ কীভাবে এটি করতে জানেন?


1
ধন্যবাদ - দুর্দান্ত কাজ যদি কেউ বাহ্যিক ফাইলগুলির প্রয়োজনীয়তা ছাড়াই কোনও স্ক্রিপ্ট লেখার চেষ্টা করছেন তবে আপনি কেবলমাত্র সিএস option updateকোটগুলিতে লাইনে জসনটি রাখতে পারেন । 61 লাইনে আমার বাস্তবায়নটি এখানে দেখুন: gist.github.com/squarecandy/cfdead55ca1d84496044
স্কয়ারকাণ্ডি

"ওয়ান লাইনার" এর জন্য আমার উত্তরটি দেখুন
লরেন্ট

13

ডাব্লুপি-সিএলআই হ'ল ১.৪.০ আপডেটের পরে এর উত্তর যা ওয়ার্ডপ্রেসে সিরিয়ালযুক্ত ডেটা অ্যাক্সেস করার জন্য প্লাক এবং প্যাচ কমান্ড চালু করেছিল ।

প্লাক কমান্ডটি সিরিয়ালযুক্ত মানগুলি ধরার জন্য এই বিন্যাসটি গ্রহণ করে

wp option pluck <key> <key-name>

অ্যাক্টিভ_প্লাগিন বিকল্পে উদাহরণস্বরূপ আপনি প্রথম আইটেমটি দখল করতে পারেন

wp option pluck active_plugins 0

প্যাচ কমান্ড সেরিয়ালাইজড মান (ক্রিয়া) সন্নিবেশ, আপডেট বা অপসারণের জন্য এই ফর্ম্যাটটি গ্রহণ করে

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

প্রথম অ্যাক্টিভ_প্লাগিনটি মোছার মতো দেখায়

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

ডাব্লু-cli কমান্ড optionব্যবহার ওয়ার্ডপ্রেস 'does বিকল্প এপিআই তার কাজ করার। প্রদত্ত, যেমন সাবকম্যান্ডের সাথে update, একটি সঠিক ইনপুট, একটি array, আপনি ডাব্লুপি-সিএলআই দিয়ে এটি করতে সক্ষম হবেন। আপনার --formatপ্যারামিটারটি এখানে ব্যবহার করা উচিত , তা নিশ্চিত করার জন্য আপনি সাবকম্যান্ডের jsonজন্য সাধারণত সূক্ষ্ম কাজ করে update। দ্রষ্টব্য, getসাবকম্যান্ড আপনাকে অপ্রচলিত বিকল্পটি ফিরিয়ে আনবে, কারণ বিকল্পগুলি API ব্যবহার করা হয়, যা আপনি পরে সংরক্ষণ করতে পারবেন, পরিবর্তন করতে পারবেন এবং / অথবা অন্য / নতুন ইনস্টলেশনগুলিতে স্থানান্তর / সেটআপ করতে পারবেন।


এটি কাজ করে না: wp option get wp_smtp_options > savedconfiguration.txt wp option update wp_smtp_options < savedconfiguration.txt প্রথম কমান্ড অ্যারে হিসাবে সংরক্ষণ করে, কিন্তু দ্বিতীয়টি অ্যারে গ্রহণ করে না। আমার ধারণা আমি প্রথমে এটি সিরিয়াল করা উচিত, আপনি কীভাবে এটি করবেন তা জানেন?
ল্যাও

আপনি কি formatপ্যারামিটারটি কাজে লাগানোর চেষ্টা করেছেন ? @ এলো সম্পাদনা: সবেমাত্র আপনি এটি বের করে দেখেছেন ..
নিকোলাই

wp-cli.org এ formatপ্যারামিটারের জন্য কী কী বিকল্প রয়েছে তা বলে না । আমি আমার উত্তরটিতে লিখেছিলাম এমন একটি মধ্যবর্তী ফাইল ব্যবহার না করে যদি এটি সম্ভব হতে পারে তবে আমি অবাক হই।
লাও

formatপ্যারামিটারের উপর একটি সম্পূর্ণ ওভারভিউ পেতে আপনাকে উত্সটি দেখতে হবে , যা কখনও কখনও কখনও কখনও সাব-কমান্ড (সাব-) কমান্ডের থেকে পৃথক হয়। এটি অবশ্যই সম্ভব, উদাহরণস্বরূপ বাশ স্ক্রিপ্ট লিখে এবং ডেটাটি ভেরিয়েবলের মধ্যে সঞ্চয় করে। @ লালো
নিকোলাই

এখানে সোর্স কোডটি রয়েছে, তবে কোথায় --formatউপলব্ধ বিকল্পগুলি তা বুঝতে পারবেন না : github.com/wp-cli/wp-cli/blob/master/php/commands/…
ল্যাও
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.