সাইটস API (Sites API)
সাইটস API (Sites API) হলো playground.wordpress.net কর্তৃক উন্মুক্ত একটি JavaScript API। এটি ডক (Dock)-এর Playgrounds প্যানে প্রদর্শিত ওয়ার্ডপ্রেস সাইটগুলো পরিচালনা করে: সাম্প্রতিক অটোসেভ (autosave), ব্রাউজারে স্থায়ীভাবে সংরক্ষিত প্লেগ্রাউন্ড, লোকাল ডিরেক্টরি প্লেগ্রাউন্ড এবং অস্থায়ী প্লেগ্রাউন্ড।
এই API-টি গ্লোবাল window.playgroundSites-এর মাধ্যমে ব্যবহার করা যায়। পেজ লোডের প্রথম মুহূর্তগুলোতে window.playgroundSites অ্যাসাইন করা থাকে না। এটি উপস্থিত হওয়া পর্যন্ত অপেক্ষা করুন, তারপর সক্রিয় প্লেগ্রাউন্ড ক্লায়েন্টের প্রয়োজন এমন API কল করার আগে isReady() কল করুন।
সাইটস API প্লেগ্রাউন্ড ওয়েবসাইট অ্যাপ্লিকেশনের সাথে আসে, @wp-playground/client লাইব্রেরির সাথে নয়। এটি শীর্ষ-স্তরের পৃষ্ঠায় (/) উন্মুক্ত থাকে, /remote.html-এ নয়। আপনি যদি startPlaygroundWeb-এর মাধ্যমে প্লেগ্রাউন্ড আপনার নিজস্ব পেজে এম্বেড করেন, তবে আপনার আইফ্রেম (iframe) প্যারেন্ট পেজে window.playgroundSites প্রকাশ করবে না — সরাসরি নিয়ন্ত্রণের জন্য এর পরিবর্তে JavaScript API ব্যবহার করুন।
দ্রুত শুরু (Quick start)
playground.wordpress.net খুলুন, ওয়ার্ডপ্রেস লোড হওয়া পর্যন্ত অপেক্ষা করুন, তারপর DevTools-এ এটি চালান:
await playgroundSites.isReady();
playgroundSites.list();
// → [{ slug: 'calm-sunny-park', name: 'Calm Sunny Park', storage: 'opfs', persistence: 'autosave', isActive: true }]
await playgroundSites.keep(undefined, 'My demo site');
// The active autosave is now a permanently saved browser Playground.
const client = playgroundSites.getClient();
await client.listFiles('/wordpress');
ব্রাউজার স্টোরেজ এবং সেভিং উপলভ্য থাকলে একটি নতুন ভিজিট সাধারণত একটি অটোসেভ করা ব্রাউজার প্লেগ্রাউন্ড তৈরি করে। পেজ রিফ্রেশ বা ট্যাব বন্ধ করার সাথে সাথে অপসারিত হবে এমন একটি প্লেগ্রাউন্ডের প্রয়োজন হলে ?storage=temp অথবা createNewTemporarySite() ব্যবহার করুন।
স্টোরেজ এবং পারসিস্টেন্স (Storage and persistence)
প্রতিটি সাইটের একটি স্টোরেজ ব্যাকএন্ড থাকে। সংরক্ষিত সাইটগুলোর একটি পারসিস্টেন্স লাইফসাইকেলও থাকে।
| ক্ষেত্র (Field) | মান (Value) | অর্থ (Meaning) |
|---|---|---|
storage | temporary | শুধুমাত্র মেমরিতে সংরক্ষিত (In-memory only)। ব্রাউজার রিফ্রেশ বা ট্যাব বন্ধ করলে এটি অপসারিত হয়। |
storage | opfs | ব্রাউজারের Origin Private File System-এ সংরক্ষিত। |
storage | local-fs | File System Access API-এর মাধ্যমে একটি লোকাল ডিরেক্টরিতে সংরক্ষিত। |
persistence | autosave | একটি সংরক্ষিত রিকভারি পয়েন্ট। প্লেগ্রাউন্ড সাম্প্রতিক পাঁচটি অটোসেভ সংরক্ষণ করে রাখে। |
persistence | explicit | একটি স্থায়ীভাবে সংরক্ষিত প্লেগ্রাউন্ড যা ব্যবহারকারী বা API মুছে না ফেলা পর্যন্ত থাকে। |
অস্থায়ী প্লেগ্রাউন্ডসমূহ persistence রিপোর্ট করে না কারণ সেখানে সংরক্ষণ করার মতো কোনো স্টোরেজ লাইফসাইকেল নেই।
সাইট তৈরি এবং পরিবর্তন করা (Creating and switching sites)
createNewTemporarySite(slug?, settings?)
একটি নতুন অস্থায়ী সাইট তৈরি করে এবং সেটিতে স্যুইচ করে। সাইটটি বুট সম্পন্ন হলে নতুন সাইটের স্লাগ (slug) প্রদান করে সমাধান (resolve) হয়।
createNewTemporarySite(
slug?: string,
settings?: {
phpVersion?: string; // e.g. '8.4'
wpVersion?: string; // e.g. '6.8', 'latest', 'nightly', 'beta'
networking?: boolean;
language?: string; // e.g. 'pl_PL'
multisite?: boolean;
}
): Promise<string>;
প্রতিটি সেটিং একই নামের একটি সমতুল্য Query API প্যারামিটারের সাথে সম্পর্কিত, যেখানে phpVersion মানচিত্রিত (mapped) হয় php-এর সাথে এবং wpVersion মানচিত্রিত হয় wp-এর সাথে। plugin, theme, বা blueprint-url-এর মতো অন্যান্য Query API অপশন এখানে গৃহীত হয় না।