স্কিপ করে মূল কন্টেন্ট এ যান

কোড কন্ট্রিবিউশন

সমস্ত ওয়ার্ডপ্রেস প্রজেক্টের মতো, প্লেগ্রাউন্ড কোড ম্যানেজ এবং ইস্যু ট্র্যাক করতে গিটহাব ব্যবহার করে। মেইন রিপোজিটরি হলো https://github.com/WordPress/wordpress-playground এবং প্লেগ্রাউন্ড টুলস রিপোজিটরি হলো https://github.com/WordPress/playground-tools/

প্লেগ্রাউন্ড টুলসে কন্ট্রিবিউট করুন

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

কী নিয়ে কাজ করবেন তা খুঁজতে ওপেন ইস্যুগুলির তালিকা ব্রাউজ করুন। আপনি যেহেতু প্রথমবার কন্ট্রিবিউট করছেন, Good First Issue লেবেলযুক্ত ইস্যুগুলো দিয়ে শুরু করতে পারেন।

শুরু করার আগে নিম্নলিখিত রিসোর্সগুলি রিভিউ করতে ভুলবেন না:

পুল রিকোয়েস্ট কন্ট্রিবিউট করুন

প্লেগ্রাউন্ড রিপোজিটরি ফর্ক করুন এবং এটি আপনার লোকাল মেশিনে ক্লোন করুন। এটি করতে, এই কমান্ডগুলি আপনার টার্মিনালে কপি এবং পেস্ট করুন:

git clone -b trunk --single-branch --depth 1 --recurse-submodules

# আপনার গিটহাব ইউজারনেম দিয়ে `YOUR-GITHUB-USERNAME` রিপ্লেস করুন:
git@github.com:YOUR-GITHUB-USERNAME/wordpress-playground.git
cd wordpress-playground
npm install

একটি ব্রাঞ্চ ক্রিয়েট করুন, চেঞ্জ করুন এবং নিম্নলিখিত কমান্ড রান করে লোকালি এটি টেস্ট করুন:

npm run dev

প্লেগ্রাউন্ড একটি নতুন ব্রাউজার ট্যাবে ওপেন হবে এবং প্রতিটি চেঞ্জের সাথে অটোমেটিক্যালি রিফ্রেশ হবে।

ট্রাবলশুটিং: Linux-এ ফাইল ওয়াচার লিমিট

Linux-এ, npm run dev রান করার সময় আপনি ENOSPC: System limit for number of file watchers reached এর মতো একটি এরর দেখতে পারেন। এটি হয় কারণ প্লেগ্রাউন্ড রিপোজিটরিতে ডিফল্ট সিস্টেম লিমিটের চেয়ে বেশি ফাইল রয়েছে যা ওয়াচ করার অনুমতি দেয়।

এটি ফিক্স করতে, প্রথমে আপনার বর্তমান লিমিট চেক করুন:

cat /proc/sys/fs/inotify/max_user_watches

যদি এটি 65,536 বা তার কাছাকাছি বা কম হয়, নিম্নলিখিত কমান্ড রান করে এটি বাড়ান:

sudo sysctl fs.inotify.max_user_watches=131070
sudo sysctl -p

তারপর আবার npm run dev ট্রাই করুন। এটি Debian, Ubuntu এবং অন্যান্য Linux ডিস্ট্রিবিউশনে একটি কমন ইস্যু।

যখন আপনি রেডি, চেঞ্জগুলো কমিট করুন এবং একটি পুল রিকোয়েস্ট সাবমিট করুন।

ফরম্যাটিং

আমরা কোড ফরম্যাটিং এবং লিন্টিং অটোমেটিক্যালি হ্যান্ডেল করি। রিল্যাক্স করুন, টাইপ করুন এবং মেশিনগুলোকে কাজ করতে দিন।

লোকাল মাল্টিসাইট রান করা

ওয়ার্ডপ্রেস মাল্টিসাইট-এর লোকালি রান করার সময় কিছু রেস্ট্রিকশন রয়েছে। আপনি যদি প্লেগ্রাউন্ড-এর enableMultisite স্টেপ ব্যবহার করে একটি মাল্টিসাইট নেটওয়ার্ক টেস্ট করার প্ল্যান করেন, নিশ্চিত করুন যে আপনি হয় wp-now-এর ডিফল্ট পোর্ট চেঞ্জ করেছেন অথবা HTTPS-এর মাধ্যমে একটি লোকাল টেস্ট ডোমেইন সেট করেছেন।

ওয়ার্ডপ্রেস মাল্টিসাইট দ্বারা সাপোর্টেড পোর্টে wp-now-এর ডিফল্ট পোর্ট চেঞ্জ করতে, এটি --port=80 ফ্ল্যাগ ব্যবহার করে রান করুন:

npx @wp-now/wp-now start --port=80

একটি লোকাল টেস্ট ডোমেইন সেট আপ করার বিভিন্ন উপায় রয়েছে, যার মধ্যে আপনার hosts ফাইল এডিট করা অন্তর্ভুক্ত। আপনি যদি এটি কীভাবে করবেন তা নিশ্চিত না হন, আমরা Laravel Valet ইন্সটল করার সাজেস্ট করি এবং তারপর নিম্নলিখিত কমান্ড রান করুন:

valet proxy playground.test http://127.0.0.1:5400 --secure

আপনার ডেভ সার্ভার এখন https://playground.test-এ অ্যাভেইলেবল।

ডিবাগিং

VS Code এবং Chrome ব্যবহার করুন

আপনি যদি VS Code ব্যবহার করেন এবং Chrome ইন্সটল করা থাকে, আপনি কোড এডিটরে প্লেগ্রাউন্ড ডিবাগ করতে পারেন:

  • VS Code-এ প্রজেক্ট ফোল্ডার ওপেন করুন।
  • মেইন মেনু থেকে Run > Start Debugging সিলেক্ট করুন অথবা F5/fn+F5 প্রেস করুন।

PHP ডিবাগিং

প্লেগ্রাউন্ড প্রতিটি PHP রিকোয়েস্টের পরে ব্রাউজার কনসোলে PHP এরর লগ করে।