গুটেনবার্গ ব্লক(ডাইনামিক) মাল্টি সিলেক্ট ফিল্ড(Gutenberg Block (Dynamic) Multi Select Field)

গুটেনবার্গ ব্লক(ডাইনামিক) মাল্টি সিলেক্ট ফিল্ডঃ

গুটেনবার্গ ব্লক এর ডাইনামিক ব্লকের(স্টাটিক কি হয় পরীক্ষা করি নাই) মাল্টি সিলেক্ট ফিল্ড এর ক্ষেত্রে আমি একটা সমস্যায় পড়েছিলাম ফিল্ডটাইপ কি লিখব সেটা নিয়ে। যেহেতু ডাইনামিক ব্লকের ক্ষেত্রে পিএইচপি থেকে ফিল্ড টাইপ এবং ডিফল্ট ভ্যালু গুলো ডিক্লেয়ার করতে হয় তাই আমি এই রকম লিখেছিলাম

‘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.

Entertainment Talk Show Idea for BD TV Channels

বিনোদন মিডিয়ার জন্য একটা বিনোদন মূলক বিজনেস আইডিয়াঃ

কলকাতার বাংলা সিরিয়াল এর বাংলাদেশী দর্শকদের বাংলাদেশের টিভি চ্যানেলে ফিরিয়ে আনার বিষয়ে আমার একটা চিন্তা।

আমাদের দেশে নিশ্চিৎ ভাবেই কিছু মানুষ টক শো দেখে না হলে প্রতিদিন রাতে প্রায় প্রতিটি টিভি চ্যানেলে টক শো হতো না। কিন্তু তথাকথিত টক শো দেখে দিন শেষে মানুষ একটা হতাশা বা না পাওয়া নিয়ে ঘুমাতে যায়।

“The Walking Dead” নামে একটা ইংলিশ টিভি সিরিয়াল এর বিষয়ে গপসপ করার জন্য আর একটা টক শো সিরিয়াল হয় যার নাম “Talking Dead”. এই কন্সেপ্ট কাজে লাগিয়ে আমরা যেটা করতে পারি সারা দিন কলকাতার বাংলা টিভি চ্যানেল গুলোতে যে জনপ্রিয় টিভি সিরিয়াল হয় বা বাংলাদেশীদের প্রিয় টিভি সিরিয়াল গুলোর কাহিনীর সারাংশ নিয়ে আলোচনার জন্য প্রতিদিন কয়েকজন আংকেল আন্টিকে ডেকে টক শো এর আয়োজন করা যেতে পারে। অন্তত সারাদিন কেউ যদি কোন সিরিয়াল মিসও করে ফেলে সেইটার ফলো আপ আলোচনা সমালোচনা জানা এবং দেখার জন্য বাংলাদেশী টিভি চ্যানেলে নিশ্চিৎ ভাবেই ঢু মারবে। এই ধরনের টক শো এর নাম “Talking Dead” দিলেও চলত কিন্তু ইংরেজি নাম লোকে খাবে না। বাংলা কোন নাম খুঁজতে হবে। যেমন – “মৃতদের কেচ্চা!”

প্রথমত আইডিয়াটা হাস্যকর মনে হলেও যদি কোন টিভি চ্যানেল এটা ইমপ্লিমেন্ট করে আমার ধারণা তাদের অন্তত এই অনুষ্ঠান এর জন্য কোন দিন চ্যানেল বন্ধ করা লাগবে না।

বিঃ দ্রঃ আমি এই আইডিয়ার কপিরাইট এর জন্য আবেদন করব কিনা সবার মতামত চাচ্ছি।

ভালোবাসার পাল্লা

তুমি এক কেজি ভালোবাসা চাইলে …
আমি ভালোবাসা মেপে দিলাম।
আমার স্বভাব বসত পুরাতন ঝং ধরা বাটখারা ব্যবহার করে ৫০ গ্রাম কম দিলাম।
মাপার সময় দাঁড়িপাল্লা এদিক সেদিক হেলিয়ে দুলিয়ে আরো ৫০ গ্রাম কম দিলাম।
তুমি ভালোবাসা নেওয়ার সময় খেয়াল করনি, আমি ঐখান থেকে আরো ৫০ গ্রাম উঠিয়ে নিয়েছিলাম।
আর হ্যাঁ বলতে ভুলে গেছি, কিছু পচা আর মেয়াদ উত্তীর্ণ ভালোবাসা ছিল যা প্রায় আরও ১৫০ গ্রাম হবে।
তুমি কোন কিছু ভালোমত খেয়াল না করে বেহিসাবীর মত ৩০০ গ্রাম ফাঁকি নিয়ে চলে গেলে।
আচ্ছা যাবার সময় তুমি মুচকি হেসেছিলে কেন ?

আমি ভেবেছিলাম আমি চালাক আর তুমি বুঝি খুব বোকা।
আমার প্রচন্ড ভুল ভাঙল সেদিন যেদিন তুমি ৭০০ গ্রাম ভালোবাসা আমার দাঁড়িপাল্লা বাটখারা দিয়ে মেপে ১ কেজি হিসাবে ফেরত দিয়ে গেলে!

১০ মার্চ, ২০১৯
দুপুরের ভাত ঘুম আসার আগে

বুদবুদ

আমিতো ঘুমে ডুবে ছিলাম,
স্বপ্নে যখন বুদবুদ ছাড়লাম
ঠিক – ঠিক তখনি তুমি বুঝলে আমার খিদে পেয়েছে!

অভিশাপ

//অভিশাপ

তুমি অভিশাপ দিলে, আমার ঘর পুড়ে যাক।

আমি ঘুমিয়ে স্বপ্ন দেখলাম, আমার ঘর পুড়ে যাচ্ছে, এরপর আমি ঘরপোড়া ছাই দিয়ে দাঁত ব্রাশ করলাম।

ঘুম থেকে উঠে দেখলাম আমার ঘর পুড়ে নাই, কারণ কোন দিন আমার কোন ঘরই ছিল না।

আমি পরের দিন তোমার অভিশাপের অপেক্ষায় আবার ঘুমিয়ে পড়লাম, স্বপ্নে দেখলাম, তুমি আমার ঘর পোড়া আগুনের তাপে আঁচে অন্তত গতকালের শীতের রাত্রি ভালো কাটয়েছিলে। আগুনে আঁচ নেওয়ার জন্য পোড়ার মত আমার ঘর নাই কেন এটা ভেবে তুমি আমাকে আবার অভিশাপ দিলে। কি অভিশাপ দিলে আমি মনে করতে পারছি না, কারণ তার আগেই আমার ঘুম ভেঙে গেল।

কোন এক সকালে ঘুম থেকে উঠে দেখলাম, তুমি শীতে প্রচন্ড কাঁপছ। আমি তোমার দিকে অসহায়ের মত তাকিয়ে আছি, তোমাকে সামান্য গরমের আঁচ দেওয়ার জন্য পোড়ানোর মত আমার কোন ঘর নাই কারণ কোন দিন আমার কোন ঘরই ছিল না।

পরের দিন স্বপ্নে দেখলাম, তোমাকে শীত থেকে বাঁচাতে তোমাকে আমার বুকে জড়িয়ে রেখেছি।

//১৯.১২.২০১৬

Manchu Lan Manager

In my university days I used to work on various software but as those hard disk got formatted many times for doing experiment I lost all my works many times, that time we didn’t have dropbox or google drive. I found one of my favorite work “Manchu Lan Manager” from my yahoo email.

manchu

Download:
[download id=”37″]

হিসেব নিকেশ

আমরা সুউচ্চ পাহাড়ের চূড়ায় উঠে আমাদের হিসাবের খাতা মেলে ধরব
ঠান্ডা হিম শীতল বাতাস আমাদের আন্দোলিত করবে আর
হিসাবের খাতা থেকে একটা একটা করে পাতা উড়ে যাবে অজানা ঠিকানায়।
আমরা পাতা বিহীন একটা মলাটের খোলস নিয়ে নীচে নেমে আসব।
আমরা একে অপরের দিকে তাকিয়ে মৃদু হাসব,
একজন আরেকজনের নাক টিপে দেব।

কাটাবন, ১১.০৩.২০১৪

coppermine-gallery:Adding classname in Sysmenu and Submenu

I was trying to make new theme but got some lack of class name in Sysmenu and Submenu. Actually I wanted this type of class name in menu link
[sourcecode language=’css’]Home[/sourcecode]

Look if there was classname like “button_home” in each menu link then it’s easy to apply custom image or style using css.
Then I tried to make this happen and I did it. Here is what I have done Continue reading