get_current_screen یک تابع واقعا مفید وردپرس است. متأسفانه، بسته به اینکه چقدر زود ممکن است به آن نیاز داشته باشید، همیشه در دسترس نیست

با این حال، این بدان معنا نیست که راه‌های جایگزینی برای تشخیص صفحه‌نمایش ما وجود ندارد. با توجه به آنچه که وردپرس و PHP ارائه می دهند، فقط به چند شرط خلاق نیاز دارد.

وقتی نمی توانید صفحه فعلی را دریافت کنید

چند نکته در مورد این استراتژی وجود دارد (ممکن است در هر موردی کارایی نداشته باشد)، اما در صورتی که لازم باشد به چرخه عمر وردپرس بپیوندید، ارزش توجه دارد.

به عنوان مثال، فرض کنید باید کاری را در صفحه ای که در آن پست را ویرایش می کنید انجام دهید، اما باید آن را در زمانی انجام دهید که در طی آن get_current_screen شی در دسترس نیست

بعدش چی شد؟

چرا به URL و/یا متغیرهای رشته کوئری موجود در PHP نگاه نکنید و سپس از یکی از filter_input توابع برای بررسی و دیدن مورد مورد نظر:

add_action('admin_init', function () {
    if (0 < intval(filter_input(INPUT_GET, 'post'))) {
        // TODO ...
    }
});

از اینجا، می‌دانید که روی یک پست یا یک نوع پست سفارشی کار می‌کنید و مطمئن می‌شوید که معتبر است زیرا تأیید می‌کنید که شناسه بزرگتر از 0.

باز هم، این ممکن است در همه شرایط کار نکند، اما مطمئناً یکی از گزینه‌هایی است که وقتی سایر توابع API هنوز آماده نیستند، در اختیار داریم.