ফাঁকিবাজি উইথ ওয়ার্ডপ্রেস থিম আপডেট নোটিফিকেশন

এটি একটি এক্সট্রিম লেভেলের সমাধান তাই এড়িয়ে চলুন। সহজ সমাধান হিসেবে থিমের ডিরেক্টরি/ফোল্ডারের নাম পরিবর্তন করে দিতে পারেন। যেমন – আপনার থিমের ডিরেক্টরির নাম যদি হয় awesome-theme আপনি পরিবর্তন করে super-awesome-theme দিয়ে দিতে পারেন।

কিছুদিন আগে একটা থিম ডেভেলপমেন্টের কাজ করছিলাম কিন্তু অানফরচুনেটলি ওয়ার্ডপ্রেস থিম ডিরেক্টরির একটি থিমের সাথে নাম হুবহু মিলে যায়। আর এতেই ঘটে বিপত্তি! থিম ডিরেক্টরির থিমটির ভার্সন ছিল ১.৪ আর আমি যেটি ডেভেলপ করছিলাম সেটার ভার্সন ছিল ১.০, আর একারণেই সবসময় আপডেট নোটিফিকেশন পাচ্ছিলাম। থিম ডেভেলপমেন্টের কাজ যে পরিমাণ হয়েছিল তাতে থিমের নাম পরিবর্তন করার চাইতে ওয়ার্ডপ্রেসের থিম আপডেট নোটিফিকেশন সিস্টেমকে ফাঁকি দেয়াটাই সহজ মনে হয়েছে। আর ক্লায়েন্টেরও ফাঁকি দেয়ার বিষয়ে কোন আপত্তি ছিল না। আমায় আর রুখবে কে! 😀

থিম আপডেট সিস্টেমকে ফাঁকি দেয়াটা কঠিন কোন কাজ ছিলনা। শুধু মাত্র wp_prepare_themes_for_js ফিল্টার হুকে সঠিক থিমটা সিলেক্ট করে FALSE পাঠিয়ে দিয়েছি ঠিক নিচের কোডের মত করে, ব্যাস এতেই কাজ হয়ে গেছে।

— ধন্যবাদ 🙂

উকমার্সে প্রোডাক্ট টাইপ অপশনস ডিফল্ট সেট করা

বর্তমানে একটি ইকমার্স সাইটের কাজ করছি, যেখানে ক্লায়েন্ট তার ডিজিটাল প্রোডাক্ট সেল করবে। ক্লায়েন্ট EDD ব্যবহারে ইচ্ছুক নয় কারণ EDD -র বেশির ভাগ এ্যাডঅন (Addon) প্রিমিয়াম। এজন্য ক্লায়েন্টের একমাত্র পছন্দ হল উকমার্স (WooCommerce)।

যেহেতু ক্লায়েন্টের সব প্রোডাক্টই হল ডিজিটাল তাই উকমার্সের সেটিংস অনুযায়ী সব প্রোডাক্ট হবে ভার্চুয়াল (Virtual) এবং ডাউনলোডেবল (Downloadable)। এবং ক্লায়েন্ট শুধুমাত্র Simple টাইপের প্রোডাক্ট এন্ট্রি দিবে। এখন সমস্যা হল প্রতিবার নতুন প্রোডাক্ট এন্ট্রি দেবার সময় ভার্চুয়াল এবং ডাউনলোডেবল চেকবক্স মার্ক (Checked) করে দিতে হবে। এর সমাধান চিন্তা করতে গিয়ে মনে হল নিশ্চয়ই এর জন্য কোন না কোন ফিল্টার হুক আছে। উকমার্সের কোর ফাইলে সার্চ করেই পেয়ে গেলাম কাংখিত সেই ফিল্টার হুকটি। নিচে কোড স্যাম্পলঃ

— ধন্যবাদ 🙂

ওয়ার্ডপ্রেস কমেন্ট ফর্ম কাস্টমাইজেশন

ওয়ার্ডপ্রেসের কমেন্ট ফর্মের ইনপুট ফিল্ডগুলি লগ আউট অবস্থায় ইমেজ-১ এর মত করে সাজানো থাকে। লগইন অবস্থায় শুধুমাত্র কমেন্ট ইনপুট ফিল্ডটি দেখা যায়। ডিজাইনের কিংবা ক্লাইন্টের চাহিদা অনুযায়ী ইনপুট ফিল্ডগুলির এই ডিফল্ট পজিশন পরিবর্তন করার প্রয়োজন হতে পারে এবং হয়েও থাকে। আমারও প্রয়োজন হলো ইনপুট ফিল্ডগুলির ডিফল্ট পজিশন পরিবর্তন করার। আর এজন্যই আজকের লিখা।

obiPlabon WordPress Comment Form Default View
ইমেজ-১ঃ ওয়ার্ডপ্রেস কমেন্ট ফর্ম ডিফল্ট ভিউ

ফিল্ড কাস্টমাইজেশন (Field Customization)

আমরা ইনপুট ফিল্ডগুলির ডিফল্ট পজিশন পরিবর্তন করে ইমেজ-২ এর মত করে সাজাবো। যেখানে কমেন্টের ইনপুট ফিল্ডটি সবার নিচে থাকবে। ওয়ার্ডপ্রেস ভার্সন ৪.৪ এ comment_form_fields নামে একটি ফিল্টার হুক যুক্ত করেছে, যার মাধ্যমে খুব সহজেই ফর্ম ফিল্ডগুলির পজিশন পরিবর্তন করা যায়। ফিল্টার হুকটি একটি মাত্র আর্গুমেন্ট (এসোসিয়টিভ এ্যারে) পাস করে। যেখানে ফিল্ডের নাম থাকে কী-তে এবং ফিল্ডের HTML থাকে ভ্যালুতে।

obiPlabon WordPress Comment Form Custom View
ইমেজ-২ঃ ওয়ার্ডপ্রেস কমেন্ট ফর্ম কাস্টম ভিউ

উল্লেখিত হুকের মাধ্যমে আমরা সহজেই নিচের কোড ব্যবহার করে কমেন্ট ইনপুট ফিল্ডেকে নীচের দিকে নিয়ে আসতে পারি।

— ধন্যবাদ 🙂