গুটেনবার্গ ব্লক(ডাইনামিক) মাল্টি সিলেক্ট ফিল্ডঃ
গুটেনবার্গ ব্লক এর ডাইনামিক ব্লকের(স্টাটিক কি হয় পরীক্ষা করি নাই) মাল্টি সিলেক্ট ফিল্ড এর ক্ষেত্রে আমি একটা সমস্যায় পড়েছিলাম ফিল্ডটাইপ কি লিখব সেটা নিয়ে। যেহেতু ডাইনামিক ব্লকের ক্ষেত্রে পিএইচপি থেকে ফিল্ড টাইপ এবং ডিফল্ট ভ্যালু গুলো ডিক্লেয়ার করতে হয় তাই আমি এই রকম লিখেছিলাম
‘id’ => array(
‘type’ => ‘array’,
‘default’ => array()
),
ব্লক এর আউটপুট একটা শর্টকোড ছিল। শর্টকোড সরসরি ব্যবহার করলে কোন ইরর পাচ্ছিলাম না কিন্ত ব্লকের আউটপুট থেকে আসলে ইরর পাচ্ছিলাম এই রকম
PHP Notice: Undefined index: items in … \wp-includes\rest-api.php on line 1150
আমি যে প্লাগিন নিয়ে কাজ করছিলাম সেটার কোডের ভেতর কাকতলীয় ভাবে অনেক জায়গায় এরের ইন্ডেক্স হিসাবে ‘items’ কীটা ব্যবহার করেছি কিন্তু এটার সাথে রেস্ট এপি এর সম্পর্ক খুঁজে পাচ্ছিলাম না। পরে গুগল সার্চ করে পেলাম মাল্টি সিলেক্ট ফিল্ড এর ক্ষেত্রে array এর আইটেম গুলোর টাইপও ডিক্লেয়ার করে হয় যা নিচে
‘id’ => array(
‘type’ => ‘array’,
‘default’ => array(),
‘items’ => array(
‘type’ => ‘integer’
)
),
‘items’ কী টার সাথে array এর আইটেম গুলোর টাইপ ডিক্লেয়ার করার ক্ষেত্রে ‘items’ কীটা ব্যবহার আমাকে বেশি কনফিউজ করে দিয়েছিল সমস্যাটা বুঝতে।
২য় হচ্ছে, আমার জ্ঞানের অভাব কিভাবে মাল্টি সিলেক্ট ফিল্ড এর ক্ষেত্রে array এর আইটেম গুলোর টাইপ ডিক্লেয়ার করতে হয় কিনা সেইটা না জানা
৩য়, আমি এটার সমাধান খুঁজে পেয়েছি ওয়ার্ডপ্রেস এর রেস্ট এপি নিয়ে খুঁজতে গিয়ে, এর সাথে গুটেনবার্গ এর ডাইনামিক ব্লক এর সম্পর্ক আছে কারন গুটেনবার্গ ডাইনামিক ব্লক এর আউটপুট পিএইচপি থেকে রেন্ডার করে আর এর জন্য json রিকোয়েস্ট পাঠায় যা রেস্ট এপি রিকোয়েস্ট।
৪র্থ, এটা এখানে শেয়ার করলাম যদি কারো উপকার হয় কারণ গতকাল এই সমস্যার সমাধান না করা অবস্থায় অফিস ক্লোজ করে বাসায় চলে গিয়েছিলাম, সকালে এসেই আগে এটা নিয়ে বসলাম।
শেষঃ কোণ সমস্যা যখন বুঝতে পারি না বা কিভাবে সমাধান করব বুঝতে পারি না বা সমস্যার সমাধান খুঁজে পাই না তখন আমি একটা গ্যাপ দেই কাজ থেকে বা কোড করা থেকে। এই গ্যাপটা অফিস থেকে বের হয়ে চা, বিড়ি, পান খাওয়া বা ফেসবুকে অভিনেত্রী জয়া আহসান এর ফেসবুক পেজে ঢু মারা যে কোন কিছুই হতে পারে।
My post in wordpressian facebook group
https://www.facebook.com/groups/wordpressians/permalink/1397270923744425/
Gutenberg Block (Dynamic) Multi Select Field:
In the Gutenberg block’s dynamic block (whether static or not tested) in the multi select field, I had a problem with what to write on the fieldtype. Since dynamic block requires field type and default values to be declared from PHP, I wrote like this.
‘id’ => array (
‘type’ => ‘array’,
‘default’ => array ()
),
The block’s output was a shortcode. I could not get any error when using shortcode sarsera but I was actually getting error from block output.
PHP Notice: Undefined index: items in … \ wp-includes \ rest-api.php on line 1150
I used the ‘items’ key as the index of the error in many places inside the code of the plugin I was working with but I could not find the relation of Rest AP with it. After doing a Google search, I can also declare the type of the items in the array in the Multi Select field below.
‘id’ => array (
‘type’ => ‘array’,
‘default’ => array (),
‘items’ => array (
‘type’ => ‘integer’
)
),
Using the ‘items’ key to declare the type of the items in the array with the ‘items’ key made me more confused to understand the problem.
Secondly, my lack of knowledge on how to declare the type of array items in the multi select field is not known.
Third, I found a solution to this with WordPress’s Rest AP, but it has links to Gutenberg’s Dynamic Block because Gutenberg Dynamic Block’s output renders it from PHP and sends the json request to the Rest API request.
Fourth, I shared it here if anyone would benefit because yesterday, after closing the office, I closed the office and did not solve the problem, I sat with it before dawn.
Lastly, when I don’t understand the angle problem or understand how to solve it or I can’t find a solution, I give a Gap from work or code. This Gapta can be anything from leaving the office to drinking tea, bidi, drinking or going to actress Jaya Ahsan’s Facebook page.