Let's Encrypt ব্যবহার করে SSL Certificate ইস্যু ও ব্যবহার - Mayeenul Islam

⚠️ থামুন, জেনে নিন
এটি একটি পুরোন কৌশল, তবে কার্যকরী। আপনার পক্ষে Certbot দিয়ে SSL Certificate ইস্যু করা সম্ভব হলে, সেটাই সহজতর পদ্ধতি। তবে এখানে Free SSL, Paid SSL ইত্যাদি বিভিন্ন ধারণা নিয়ে বিস্তারিত আলোচনা করা হয়েছে, যা যে-কারো জন্যই কাজে লাগবে।

কিভাবে Let’s Encrypt ব্যবহার করে বিনে পয়সায় ওয়েবসাইটে এসএসএল সার্টিফিকেট ইস্যু এবং অ্যাক্টিভেট করা যায়, এবং HTTP ওয়েবসাইটকে HTTPS-এ বদলে ফেলা যায় তার ধারণা দেয়া হয়েছে।

মূল ইভেন্টটি টেকনোভিস্তা লিমিটেড-এ ২৪ ফেব্রুয়ারি ২০১৯-এ অনুষ্ঠিত হয়েছিল। পরবর্তীতে সেই বক্তব্যই অডিও আকারে আলাদা করে রেকর্ড করা হয়েছে, যাতে বক্তব্যগুলো ছড়িয়ে দেয়া যায়।

ভিডিও

Continue reading

Custom Pagination for Admin $wp_query

অ্যাডমিন প্যানেলে একটা পাতায় (menu_page কিংবা submenu_page হতে পারে) একটা WP_Query() চালিয়ে কিছু তথ্য নিয়ে এসেছি। টেবিল আকারে তথ্যগুলো দেখিয়েছিও। এবং পেজিনেশনও করেছি। কিন্তু লক্ষ করলাম, পেজিনেশন কাজ করছে না। অনুসন্ধান করে দেখলাম Christine Cooper-ও একই সমস্যায় পড়েছিলেন এবং তিনি একটা সমাধানও বের করেছেন Milo’র পরামর্শকে কাজে লাগিয়ে। সমাধানটা দারুণ, এবং আমার সমস্যারও সমাধান দিলো। কিন্তু আরো কিছু বিষয়ের দরকার হয়ে পড়েছিল, তাই আমি সেটাতে আরো কাজ করে আপনাদের জন্য হাজির করলাম একটু গোছানো একটা সমাধান হিসেবে। আপনারা এটাকে আরো গুছিয়ে নিতে পারেন নিজের মতো করে।

আসলে কী হচ্ছে, কেন হচ্ছে?

এই ব্যাপারটা আগে জানা দরকার। কপি-পেস্ট সবাই করতে পারে, কোড বুঝে নিয়ে তা ব্যবহার করাটাই প্রকৃত প্রোগ্রামারের কাজ হওয়া উচিত। যা জানা গেল, তা হলো,

Continue reading

পিএইচপি দিয়ে আইপি ব্লক করা - tuts nano

কেউ একজন গুগল অ্যাডসেন্স অ্যাকাউন্ট অনুমোদিত হবার পর, নিজেদের সাইটে সক্রিয় করেছেন। কিন্তু তিনদিনের মাথায় ‘ইনভ্যালিড ক্লিক’-এর কারণে তাঁর অ্যাকাউন্টটা আজীবনের জন্য রহিত (ব্যান) হয়ে যায়। কারণ হিসেবে তাঁরা যা আন্দাজ করছেন যে, হয়তো নিজেদের একই পাবলিক আইপি ঠিকানা থেকে একাধিক ক্লিকই হয়তো তাঁদের অ্যাকাউন্টটা ব্যান করে দিয়েছে। এটা হতে পারে, যখন একই ইন্টারনেট সংযোগ ব্যবহার করে একাধিক কম্পিউটার দিয়ে একাধিক ব্যবহারকারী ইন্টারনেট ব্যবহার করেন। তখন গুগল ঐ ব্যক্তিদের ক্লিককে সেই ব্যক্তিরই ক্লিক বলে ধরে নেবে, যিনি অ্যাডসেন্স অ্যাকাউন্টটা তৈরি করেছেন – সোজা বাংলায় তিনি [নিজে না করলেও ঘটনাটা এরকম দাঁড়াবে] নিজেই নিজের বিজ্ঞাপনে ক্লিক করেছেন।

আচ্ছা, এটা একটা ঘটনা হতে পারে, কিন্তু এরকম অনেক ঘটনাই দেখা দিতে পারে, যখন আপনি কোনো কোনো কন্টেন্ট নির্দিষ্ট কিছু আইপি ঠিকানার ব্যবহারকারীদের দেখাতে চান না। এই কোড স্নিপেটটি (তাবিজ! 🙂 ) আপনাকে রক্ষা করবে ইনশাল্লাহ:

Continue reading

ওয়ার্ডপ্রেস মাল্টিসাইটে নিজস্ব সাইনআপ পাতা তৈরি - tuts nano

A brief English version of this article is available at this WordPress Development StackExchange thread

ওয়ার্ডপ্রেসে আমরা সচরাচর একক সাইট পরিচালনা করি, অর্থাৎ সেখানে একটা ইন্সটলেশনে একটাই সাইট চলে। কিন্তু ওয়ার্ডপ্রেস তার একটা ইন্সটলেশনে একাধিক সাইট চালানোরও একটা সুযোগ দিয়ে রেখেছে, আর তা হলো ওয়ার্ডপ্রেস মাল্টিসাইট। প্রথমদিকে ওয়ার্ডপ্রেস মাল্টিসাইট WordPress MU নামে কাজ শুরু করলেও তা পরবর্তিতে ওয়ার্ডপ্রেস কোর-এ অন্তর্ভুক্ত করা হয়। এবং বলা যায়, সবচেয়ে বড় ওয়ার্ডপ্রেস মাল্টিসাইট ইন্সটলেশন হচ্ছে WordPress.com, যেখানে আপনি চাইলেই বিনামূল্যে একটা ব্লগ খুলে ফেলতে পারেন।

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

যাহোক, এবারে মূল কথায় আসা যাক-

মাল্টিসাইটের রেজিস্ট্রেশন পাতা

কিন্তু ওয়ার্ডপ্রেসে মাল্টিসাইট ইন্সটল করা হলে খুব বিরক্তি উদ্রেক করে যে ব্যাপারটা, তা হলো এর ব্যবহারকারী রেজিস্ট্রেশন পাতাটা। সাধারণত ওয়ার্ডপ্রেস সিঙ্গেল সাইটের রেজিস্ট্রেশন পাতাটা পাওয়া যায় এই ঠিকানায়:

https://example.com/wp-login.php?action=register

আপনি যদি একটা ওয়ার্ডপ্রেস ইন্সটলেশন ফোল্ডার খুলে দেখেন, তাহলে রুট ফোল্ডারেই (অর্থাৎ যেখানে সাধারণত wp-config.php ফাইলটা থাকে) wp-login.php নামে একটা ফাইল দেখবেন, এটাই সেটা।

কিন্তু ওয়ার্ডপ্রেস মাল্টিসাইট এই পাতা থেকে রেজিস্ট্রেশন করে না। মাল্টিসাইট ইন্সটল করা হলে তখন রেজিস্ট্রেশন পাতা হয় এই ঠিকানায়:

https://example.com/wp-signup.php

যেখানে এইমাত্র wp-login.php ফাইলটা দেখেছেন, সেখানেই আপনি wp-signup.php ফাইলটাও পাবেন। যখনই আপনি “নিবন্ধন” (Register/ Sign up) লেখা কোনো লিংকে ক্লিক করবেন, ওয়ার্ডপ্রেস মাল্টিসাইট আপনাকে এই সাদামাটা পাতাটায় নিয়ে আসবে, যা অনেকেই পছন্দ করেন না।

এই পাতাটা অপছন্দ করার কারণগুলোর মধ্যে অন্যতম হলো এর মধ্যে কোনো স্টাইল করা থাকে না। আর দ্বিতীয়ত হলো, এই পাতায় যা যা ত্রুটি কিংবা সফলতার বার্তা দেখায়, সেগুলোকে ফিল্টার করে বদলে নেয়া যায় না। এজন্যই বিকল্প খোঁজা…

আজকে আমরা এই পাতাটিকে পাল্টে ফেলে নিজস্ব একটি সাইনআপ পাতা এর জায়গায় বসিয়ে দিতে হয় কিভাবে, তা-ই দেখবো। মনে রাখতে হবে, এজন্য আমরা যে কাজগুলো করছি না:

  • আমরা .htaccess ফাইলে কোনো হাত দিচ্ছি না,
  • আমরা আলাদা কোনো প্লাগইন ব্যবহার করছি না, এবং
  • অতি অবশ্যই আমরা ওয়ার্ডপ্রেসের কোনো কোর ফাইলে হাত দিচ্ছি না
Continue reading

ওয়ার্ডপ্রেস সাইটে gZip Compression চালু করার পদ্ধতি

ওয়ার্ডপ্রেস সাইট যারা পরিচালনা করেন, তাদের অনেকেই সাইটের গতি বৃদ্ধির নানান কৌশল জানতে চান। সত্যিকার অর্থে গতি বৃদ্ধির ব্যাপারটা অনেক কিছুর সাথে সম্পর্কযুক্ত, যেমন:

  • আপনি যে থিম ব্যবহার করছেন, তার কোডের মান কেমন?
  • আপনি যে প্লাগইনগুলো ব্যবহার করছেন, তার কোডের মান কেমন?
  • আপনি যে সার্ভারে সাইট হোস্ট করেছেন, তার মান/গতি কেমন?
  • কিংবা আপনি যে তথ্য আপনার সাইটে রাখছেন, তা কতটা অপটিমাইজ্‌ড, মানে প্রয়োজনানুগ গুছিয়ে রাখা?
  • কিংবা আপনার সাইটে যেসব থার্ড পার্টি রিসোর্স ব্যবহার করেছেন, সেগুলো কতটা গতিশীল?

…ইত্যাদি বহু কিছু। এসব বিষয়গুলো নিশ্চিত করার পরও অনেক সময় সাইটের গতি আশানুরূপ পাওয়া যায় না। আপনি যদি তখন Google-এর PageSpeed Insights, GTmetrix কিংবা Yahoo!’র YSlow ব্যবহার করে পরখ করে থাকেন, তাহলে দেখবেন, সেখানে আপনাকে বলা হচ্ছে, “Enable Compression” (কম্প্রেশন সক্রীয় করুন)।

এটা খায় না মাথায় দেয়

আপনি যখন একটা ওয়েবসাইটের ঠিকানা লিখে এন্টার চাপেন, আপনি তখন আসলে সার্ভারকে বলেন, অমুক সাইটের তথ্যগুলো পাঠাও তো…। সার্ভার তখন সেই সাইটের তথ্যগুলো আপনাকে পাঠাতে থাকে। 10 মেগাবাইট ডাটা থাকলে, সে 10 মেগাবাইট ডাটা আপনাকে পাঠিয়ে দেয়, আপনি তখন সাইটটা দেখতে পারেন। যদি gZip Compression চালু করা থাকে, তাহলে যা ঘটবে: আপনি সার্ভারকে বলবেন, সাইটের ডাটা পাঠাও… সে তখন দেখবে সাইটে 10 মেগাবাইট ডাটা আছে, সে সেটাকে কম্প্রেস করবে, মানে যিপ করবে, মানে গুটিয়ে নিবে, এতে ডাটার আকার কমে আসবে মাত্র 3 মেগাবাইটে, অর্থাৎ সার্ভার তখন আপনার ব্রাউযারে পাঠাবে 10 মেগাবাইটের বদলে মাত্র 3 মেগাবাইট… কতটা দ্রুত হয়ে যাবে সাইট বুঝতেই পারছেন। বাকি কাজটা হবে এবার আপনার ব্রাউযারে… ব্রাউযার সেই কম্প্রেস করা ফাইলটা পেয়ে সেটাকে আনকম্প্রেস/ডিকম্প্রেস করবে, মানে আনযিপ করবে, পোটলা খুলবে, তারপর আপনাকে সাইটটা দেখিয়ে দিবে। …এভাবে gZip কম্প্রেশন আপনার সাইট পেজের আকার ৭০% পর্যন্ত কমিয়ে আনতে পারে।

কিভাবে কম্প্রেশন সক্রীয় করতে হয়

Continue reading

ওয়ার্ডপ্রেসে ট্যাক্সোনমি মেটার ব্যবহার - tuts nano

⚠️ লক্ষ করুন: অদ্য ৯ ডিসেম্বর ২০১৫ তারিখে ওয়ার্ডপ্রেস ৪.৪.০ রিলিযের সাথে ওয়ার্ডপ্রেসের ট্যাক্সোনমি টার্মের মেটা ডাটা রাখার জন্য নতুন একটি টেবিল termmeta এবং প্রয়োজনীয় কোড সক্রীয় করা হয়েছে। সুতরাং টার্ম মেটা যোগ করা এখন আরো সহজ। আপনার দরকার add_term_meta(), update_term_meta(), get_term_meta() ইত্যাদি ফাংশন। তবে এপর্যন্ত টার্মে, মেটা বক্স যোগ করা হয়নি, তাই ফিল্ড যোগ করার ব্যাপারটি আপনি এই টিউটোরিয়াল থেকে দেখে সহায়তা নিতে পারেন। অবশ্য আপনি যদি ওয়ার্ডপ্রেসের ৪.৪.০-এর চেয়ে পুরোন সংস্করণ নিয়ে কাজ করে থাকেন, তাহলে এই টিউটোরিয়ালটি আপনার কাজে লাগবে।

ওয়ার্ডপ্রেস ৪.৩ ছাড়পত্র পেয়েছে ১৯ আগস্ট ২০১৫, এবং এরই সাথে ট্যাক্সোনমিতে একটা নতুন দিগন্তও সূচিত হয়েছে। ট্যাক্সোনমি টার্মগুলো এখন যেকোনো ট্যাক্সোনমি থেকেই আসুক না কেন, তারা এখন একক^, অর্থাৎ একটার সাথে আরেকটা মিলবে না। কাজ শুরু করার আগে আসুন পরিষ্কার হয়ে নেয়া যাক, ট্যাক্সোনমি আর টার্ম দ্বারা কী বোঝানো হচ্ছে।

পরিচিতি

ওয়ার্ডপ্রেসে পূর্বনির্ধারিত ট্যাক্সোনমির মধ্যে বহুল পরিচিত হলো Categories, Tags ইত্যাদি। হ্যা, ঠিকই শুনছেন, ক্যাটাগরি, ট্যাগ – এগুলো আসলে একেকটা ট্যাক্সোনমি। এর মধ্যে Categories-এ পূর্বনির্ধারিত থাকে Uncategorized নামক একটা ক্যাটাগরি। আমরা যারা ক্যাটাগরি আর ট্যাগ ব্যবহার করতে অভ্যস্থ, আমরা জানি, ক্যাটাগরিতে একটার অধীনে (under) আরেকটাকে সেট করা যায়, কিন্তু ট্যাগ প্রতিটাই আলাদা আলাদা। এই যে, Categories এবং Tags, এরা হলো ট্যাক্সোনমি, আর Categories-এর ভিতরে ঐ যে Uncategorized, সেটা হলো ট্যাক্সোনমি টার্ম।

এই পূর্বনির্ধারিত ট্যাক্সোনমি আর টার্মের বাইরে ইচ্ছেমতো ট্যাক্সোনমি আর টার্ম তৈরি করা যায়। ধরা যাক, আমরা ছাত্রদের তথ্য নিয়ে কাজ করছি, এবং তাঁদের শ্রেণীর তথ্য সংরক্ষণ করার জন্য একটা নিজস্ব ট্যাক্সোনমি (Custom Taxonomy) বানিয়ে নিলাম: Classes। এবারে এই ক্লাসেস ট্যাক্সোনমির ভিতরে আমরা ইনসার্ট করলাম I, II, III, IV, V ইত্যাদি শ্রেণীর নাম, অর্থাৎ রোমান সংখ্যায় আমরা শ্রেণীগুলোর নাম লিখেছি: ওয়ান, টু, …। …তাহলে Classes হলো আমাদের ট্যাক্সোনমি, আর I, II, III, … এগুলো হলো আমাদের টার্ম।

কেন দরকার?

আমরা যারা ওয়ার্ডপ্রেসের পোস্টে অতিরিক্ত তথ্য যোগ করতে চাই, আমরা জানি Post Meta’র গুরুত্ব সেখানে কতটা। পোস্ট মেটা দিয়ে হেন কাজ নেই যে, করা যায় না। আর যারা ডাটাবেয ঘাঁটতে জানি, তারা জানি যে, পোস্টের সাথের এই অতিরিক্ত তথ্য (Meta data) জমা রাখার জন্য ওয়ার্ডপ্রেসে একটা আলাদা টেবিলও আছে, নাম postmeta। এবং খুব সহজে সেখানকার তথ্য নিয়ে খেলার জন্য রয়েছে বেশ কয়েকটা সহজ ফাংশন: add_post_meta(), update_post_meta(), get_post_meta(), delete_post_meta() ইত্যাদি। এই ফাংশনগুলো ব্যবহার করে, ধরা যাক, আপনার প্রতিটা পোস্টকে আলাদা আলাদা রঙে রাঙাতে চাচ্ছেন, তো পোস্টের মেটা ডাটাতে একটা করে রঙের কোড পাঠিয়ে দিলেই কাজটা আপনার হয়ে যাচ্ছে। …পোস্ট মেটার ব্যবহার খুব সহজ। 🙂

পূর্বনির্ধারিত ট্যাক্সোনমি ইনসার্ট করার ফর্ম
পূর্বনির্ধারিত ট্যাক্সোনমি ইনসার্ট করার ফর্ম

এবারে ধরা যাক, আপনার স্কুলের ক্লাসগুলোর প্রত্যেকটাকে একটা করে ফুলের ছবি দিয়েও সূচিত করা হয়। কিন্তু ওয়ার্ডপ্রেসের ট্যাক্সোনমি ইনসার্শন প্যানেলে যে ফিল্ডগুলো আছে, তা দিয়ে তো ফুলের ছবি ইনসার্ট করা সম্ভব নয়। কারণ সেখানে আপনি টার্মের নামটা, স্লাগ (প্রীটি পার্মালিংকে ইউআরএল-এ যেটা দেখা যায়), শীর্ষ শিরোনাম (যদি এটা অন্য কোনোটার অধীনে সেট করার বিষয় থাকে), আর কিছু বিবরণ। কিন্তু রঙের কথা কোথায় যোগ করবেন?

তখনই মনে পড়ে পোস্টের অতিরিক্ত তথ্য যোগ করার পদ্ধতির – মেটা ডাটা। কিন্তু দুঃখের বিষয় হচ্ছে, ট্যাক্সোনমিতে মেটা ডাটা যোগ করার কোনো ব্যবস্থা ওয়ার্ডপ্রেসে নেই। সেজন্য এর আলাদা কোনো টেবিলও নেই। কিন্তু এর যে দরকার আছে, সে নিয়ে বিস্তর আলোচনা চলছে বহুদিন ধরে। ওয়ার্ডপ্রেস বহুল ব্যবহৃত একটা সিএমএস, পৃথিবীব্যাপী কোটি কোটি ব্যবহারকারী এটি ব্যবহার করছেন, তাই এতে হুট করে কোনো পরিবর্তন আনা যাবে না। দরকার বহু আলোচনা, গবেষণা, এবং পরীক্ষা-নিরীক্ষা। যদি সবকিছু সন্তোষজনক হয়, তবেই সেটা প্রয়োগ করা হয়। তাই, এটা যে কবে হবে, বা আদৌ হবে কিনা, সেটা আমরা জানি না।

কিন্তু ততদিন কি আমরা বসে থাকবো? আমরা কি আমাদের প্রয়োজনগুলো পূরণ করবো না? আমাদের ক্লাসগুলোর সাথে ফুলের ছবি কি আমরা দিতে পারবো না?

অবশ্যই পারবো, ইনশাল্লাহ।

কিভাবে?

প্রথমেই সিদ্ধান্ত নিই যে, আমরা কি পোস্ট মেটার মতো করে আলাদা একটি টেবিল বানিয়ে নিব ট্যাক্সোনমি মেটার জন্যও? সত্যি বলতে কি এ’নিয়ে বিস্তর বিতর্ক আছে। অনেকের মতেই ওয়ার্ডপ্রেস ডাটাবেয স্কেমাতে থাকাটা যৌক্তিক, নিরাপদ, এবং দ্রুত। তাই আমরা নতুন টেবিল তৈরি না করে কিভাবে সেটা করা সম্ভব, তা-ই এখানে দেখাবো।

Continue reading

অনেক তথ্য একসাথে, ডাটাবেযে ঢুকানো বা আপলোড করার (bulk upload) কাজটি অনেক ব্লগে, টিউটোরিয়ালেই আলোচনা করা হয়েছে। আমরা আসলে সেগুলো পড়েই কাজটা খুব সহজে করে ফেলতে পারি। কিন্তু সমস্যাটা সৃষ্টি হবে, যদি আপনি বাংলায় লেখা তথ্যগুলো ডাটাবেযে ঢুকাতে যান… তাছাড়া পুরো প্রক্রিয়াটা কিভাবে কী হচ্ছে, তাও জানা থাকা দরকার। শেঁকড়টা পোক্ত থাকলে ডালপালায় দৌঁড়ানো খুব সহজ। আমরা তাই পুরো প্রক্রিয়াটি এখানে বিস্তারিত আলোচনা করছি:

Continue reading

কমান্ডলাইনে কাজ করার মজা একজন প্রোগ্রামার খুব উপভোগ করেন। কমান্ডলাইন কী? উইন্ডোজে যেমন ডস মোডে প্রোগ্রাম লিখে কাজ করা – বিষয়টা তা-ই। ওমুক ফোল্ডারে ঢুকতে হলে লিখতে হয় cd omukমহা মসিবতের কথা! অথচ GUI পদ্ধতিতে আমরা মাত্র একটা ক্লিকে কত অনায়াসে ফোল্ডারের পর ফোল্ডারে যাতায়াত করতে থাকি। কিন্তু GUI পদ্ধতিতে কিছু কিছু কাজ আছে, যেগুলো করতে গেলে ঝামেলা পোহাতে হয়, অথচ কমান্ডলাইনে (মানে কমান্ড লিখে) খুব অনায়াসে, হয়তো মাত্র এক লাইনের একটা কোড লিখে কাজগুলো একসাথে করে ফেলা যায় – বলা ভালো তুড়ি মেরে করে ফেলা যায়। খুব সহজ একটা উদাহরণ হতে পারে, অমুক ফোল্ডারে ঢুকে সেখানকার সকল ফাইল তমুক ফোল্ডারে নিয়ে যাও। আপনি যেখানে কাজটি করতে পারবেন কমান্ডলাইনে মাত্র এক লাইনের কমান্ড লিখে, সেখানে GUI পদ্ধতিতে আপনাকে অনেকগুলো ফোল্ডারে ঘুরাঘুরি করে কাজটি করতে হবে। কমান্ডলাইন ব্যবহার করার মজাটা ব্যবহার না করেই বুঝতে চাইলে কীবোর্ড শর্টকাট ব্যবহারের সাথে তুলনা করে বুঝা যেতে পারে। খুব সহজে কীবোর্ড শর্টকাট ব্যবহার করে কপি-পেস্ট করার কমান্ডটি (ctrl+c » ctrl+v) আমরা হরহামেশা ব্যবহার করি। যারা অভ্যস্ত তারা স্বীকার করতে বাধ্য হবেন যে, এটা মাউস ব্যবহার করার চেয়ে দ্রুত। 🙂

আমরা আশা করি কমান্ডলাইনের মজা আর কার্যকারিতার শক্তিমত্তা সম্পর্কে একটা ধারণা পেয়ে গেছি। ব্যস, আমাদের আজকের আলোচনা কমান্ডলাইন নিয়ে হলেও তা অপারেটিং সিস্টেমের শেল কমান্ডলাইন না, বরং আমাদের বহুল পরিচিত, বহুল ব্যবহৃত ওপেন সোর্স ব্রাউজার Mozilla Firefox-এর কমান্ডলাইন, যার কেতাবি নাম হচ্ছে GCLI (Graphical Command Line Interpreter) – সোজা বাংলায়: কমান্ড লাইনের লেখাকে দৃষ্টিগ্রাহ্য করে কাজে রূপান্তর করার প্রোগ্রাম। এটি ফায়ারফক্সের বিল্ট-ইন ওয়েব ডেভলপার টুল-এর একটি এক্সটেনশন।

এই কমান্ডলাইনটি অতি সম্প্রতি আমার এক সহকর্মী আমাকে দেখালেন, আমি মোহাম্মদ সিরাজুল ইসলাম-এর কৃতজ্ঞতা জ্ঞাপন করছি। এটি ইউনিক্স কনসোলের মতোই অপূর্ব একটি ফিচার। এতোদিন কেন দেখলাম না, নিজেকেই শুধাই!

Continue reading

ওয়ার্ডপ্রেসে অ্যাডভান্সড সার্চ তৈরির উপায়

⚠️ সচেতন থাকুন: এই টিউটোরিয়ালটি অতি সাধারণ ধারণার ভিত্তিতে তৈরি, এবং এক প্রকারের বাংলা পদ্ধতি বলা যায়, মানে চলে, ব্যস চলছে-ঘরাণার সমাধান। প্রকৃত ওয়ার্ডপ্রেসভিত্তিক সমাধান নিয়ে একটি কিংবা একাধিক পোস্ট লেখার পর্যায়ে রয়েছে। সমাপ্ত হওয়ামাত্র আমরা এই tuts nano-তেই তা প্রকাশ করতে পারবো ইনশাল্লাহ।

ওয়ার্ডপ্রেস সার্চ বা অনুসন্ধান করার বিষয়টি ডিফল্টভাবেই থাকে, <?php get_search_form(); ?> লিখেই আমরা সার্চ ফর্মটা লোড করে নিতে পারি থিম কিংবা প্লাগইন ইন্টাফেসে। আর সার্চ করার পর ফলাফল দেখার জন্য search.php টেমপ্লেটটা সাজিয়ে নিতে হয়, তাহলেই অনুসন্ধানের ফলাফল দেখা যায়। কিন্তু ডিফল্ট সার্চ সুবিধাটি শুধুমাত্র keyword বা লেখার টুকরা নিয়ে অনুসন্ধান করে, যা সাধারণত পোস্ট, পেজ ইত্যাদিতেই সীমাবদ্ধ — কাস্টম ফিল্ড, ট্যাক্সোনমি ইত্যাদিতে অতিরিক্ত উপাদানের ভিতরকার তথ্যাদি অনুসন্ধান করার জন্য আপনাকে অ্যাডভান্সড সার্চ তৈরি করার কোনো বিকল্প নেই। এছাড়া এমন অনেক ক্ষেত্র আছে, যেখানে কয়েকটা আলাদা আলাদা উপাদানের বিভিন্ন মিশ্রণের প্রেক্ষিতে কিছু খুঁজে নেয়ার দরকার হতে পারে। যেমন: একটা অনলাইন স্টোর ওয়েবসাইট, কিংবা অনলাইনে গাড়ি বিক্রীর ওয়েবসাইট, যেখানে পণ্যের বা গাড়ির দাম, পণ্যের বা গাড়ির আকার, পণ্যের বা গাড়ির রং ইত্যাদি আলাদা আলাদা মিশ্রণে পণ্য বা গাড়ি খুঁজে নেয়ার দরকার হতে পারে — কেউ লাল রঙের গাড়ি ১টি চাইতে পারে, কেউ নীল রঙের গাড়ি ৩টি চাইতে পারে। তো এসব ক্ষেত্রে অ্যাডভান্সড সার্চ তৈরি করার দরকার পড়ে। আমরা আজকে ধারণা নিবো কিভাবে তা করা যায়:

ধাপ ১

Continue reading

ওয়ার্ডপ্রেস wp-config.php মুছে ফেললে করণীয় - tuts nano

যারা ওয়ার্ডপ্রেস ব্যবহার করেন, তারা জানেন যে, ওয়ার্ডপ্রেসের wp-config.php ফাইলটি পুরো ওয়ার্ডপ্রেস ইন্সটলেশনের মাথাস্বরূপ। এই ফাইলে সামান্য ত্রুটির কারণে পুরো ওয়ার্ডপ্রেস ইন্সটলেশনই ভজকট পাকিয়ে যেতে পারে, এমনকি নতুন করে ওয়ার্ডপ্রেস ইন্সটল করা লাগতে পারে। সেকারণে এই ফাইলটি এডিট করতে খুব বেশি সাবধান থাকতে হয়, এবং ডেভলপারদেরকে এই ফাইলটি এডিট করার প্রয়োজনীয় নির্দেশনা দিয়ে দেয়া আছে (দেখুন: Codex: Editing wp-config.php^), যাতে তারা পারতপক্ষে ভুল না করেন। ওয়ার্ডপ্রেস ম্যানুয়ালি, মানে নিজের হাতে আপডেট করার ক্ষেত্রেও এমনভাবে নির্দেশনা দেয়া আছে (দেখুন: Codex: Updating WordPress^) যাতে, এই ফাইলটা তার মতো যথাস্থানে রেখেই আপনি নতুন ফাইল দিয়ে ওয়ার্ডপ্রেস আপডেট করে নিতে পারেন।

কিন্তু মানুষ মাত্রেই ভুল হতেই পারে। কিছু ভুল আছে, যেগুলো সংশোধনের অযোগ্য, কিন্তু আশার কথা হলো, এই ভুলটা সংশোধনযোগ্য, আর আজকে সেই কথাটিই জানাতে চাচ্ছি: ভুল করে wp-config.php ফাইলটি যদি মুছেই দিয়ে থাকেন, তাহলে দুটো উপায় অবলম্বন করতে পারেন:

  • সহজ পদ্ধতি: পুণরুদ্ধার করা
  • একটু ঝামেলার: নতুন করে সাজিয়ে নেয়া

সহজ পদ্ধতি: পুণরুদ্ধার করা

আপনার প্রজেক্টের যদি কোনো ব্যাকআপ থাকে, তাহলে সেটাই সবচেয়ে সহজ পদ্ধতি, পুরোন সেই ব্যাকআপ থেকে আপনার wp-config.php ফাইলটি কপি করে আপনার প্রজেক্টে পেস্ট করে নিন, ব্যস, কাজ শেষ। কিন্তু ব্যাকআপ যদি না থাকে, তাহলে…

কম্পিউটারে দুভাবে ফাইল ডিলিট করা যায়, শুধু Del (Delete) চেপে, কিংবা Shift + Del চেপে। প্রথম পদ্ধতিতে ডিলিট করলে বা মুছলে তা আমরা Recycle Bin-এ পাওয়া যায়, সেটা একটা শিশুও জানে, কিন্তু দ্বিতীয় পদ্ধতিতে মুছলে তা আর আমরা কোত্থাও পাই না… কথাটা পুরোপুরি ঠিক না। আসলে কম্পিউটার, পুরোপুরি মুছে ফেলা ফাইলগুলোকে এমন একটা পর্যায়ে নিয়ে রেখে দেয় যে, অন্য আরেকটা ফাইল দিয়ে তা ওভাররাইট বা প্রতিস্থাপন করা যায়, কিন্তু সেটা স্বাভাবিক কোনো অবস্থায় বা স্থানে আমরা দেখতে পাই না। সেই সব হারিয়ে যাওয়া ফাইল পুণরুদ্ধারের জন্য রয়েছে বিভিন্ন ডাটা-রিকভারি সফ্‌টওয়্যার। অনেক সফ্‌টওয়্যারই আমি এজন্য ব্যবহার করেছি, কিন্তু Piriform-এর Recuva’র মতো ছোট্ট আকারের, আর দ্রুত খুঁজে এনে দেয়ার মতো সফ্‌টওয়্যার, তাও আবার বিনামূল্যের সফ্‌টওয়্যার, আমি আর পাইনি। Recuva চালু করে, যে ড্রাইভ থেকে wp-config.php ফাইলটা হারিয়ে গেছে, সেই ড্রাইভটা স্ক্যান করুন, এরপর মুছে যাওয়া ফাইলটি, কিংবা হারিয়ে যাওয়া ফাইলটি উদ্ধার করে ফেলুন।

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

তাই এই পদ্ধতিটা সহজ হলেও সব সময় ঠিক কাজের না, হারিয়ে যাওয়া wp-config.php ফাইলটা আমরা অনেক সময়ই পাই না। তাই দরকার পড়ে একটু ঝামেলা করে wp-config.php আবার নতুন করে সাজিয়ে ফেলার…

একটু ঝামেলার: নতুন করে সাজিয়ে ফেলা

Continue reading