چطوری میشه

صفحه اول وردپرس در مقابل صفحه اصلی

صفحه اول وردپرس در مقابل صفحه اصلی

WordPress یک CMS فوق العاده است. شما می توانید هر کاری که می خواهید با آن انجام دهید. اما گاهی اوقات، ممکن است با برخی از عملکردهای اساسی مشکل پیدا کنید. برای مثال، شما احتمالاً از is_front_page و is_homeبرچسب های مشروط پست). اما شما این کار را اشتباه انجام می دهید!

تنظیمات صفحه اصلی

با آن توابع شرطی، می توانید بررسی کنید که آیا صفحه اصلی نمایش داده می شود (is_home)، یا اینکه صفحه اصلی از یک صفحه ثابت (is_front_page) استفاده می کند. می توانید چنین رفتاری را در تنظیمات=> خواندن تعریف کنید.

در افزونه یا طرح زمینه خود، می توانید از این عملکردها برای نمایش یا تغییر محتوا بسته به تنظیمات کاربر استفاده کنید. اما شما یک اشتباه بزرگ انجام می دهید: صفحه استاتیک وبلاگ را در نظر نمی گیرید. هنگامی که یک صفحه ثابت برای صفحه اصلی خود تعریف می کنید، می توانید یک صفحه وبلاگ نیز تعریف کنید: این صفحه جایگزین صفحه اصلی پیش فرض وردپرس می شود تا هر پست را فهرست کند.

داستان طولانی ساخته شده کوتاه: is_front_page باید همیشه با is_home و قبل از آن آزمایش شود. و این دلیل است.

چگونه کار می کند

1. تنظیمات عادی:

صفحه اصلی پیش فرض وردپرس آخرین پست های شما را فهرست می کند.

  • اینجا URL است: website.com
  • is_home TRUE را برمی‌گرداند
  • is_front_page درست است

در اینجا، هیچ مشکلی وجود ندارد.

2. صفحه اصلی ثابت:

صفحه اصلی از یکی از صفحات ثابت شما استفاده می کند.

  • URL هنوز website.com است
  • is_home FALSE را برمی‌گرداند
  • is_front_page درست است

هیچ مشکلی با صفحه اصلی استاتیک شما وجود ندارد: is_front_page true را برمی‌گرداند.

3. صفحه وبلاگ ثابت

یکی از صفحه شما همه پست شما را فهرست می کند.

  • نشانی اینترنتی website.com/pagename
  • است

  • is_home : TRUE
  • is_front_page : FALSE

در اینجا، ممکن است مشکلاتی داشته باشید: is_home درست برمی‌گردد، اما این صفحه اصلی شما نیست: این یک صفحه وردپرس است که همه پست‌ها را فهرست می‌کند، مانند آرشیو دسته اصلی.

استفاده از برچسب های شرطی

هنگامی که یک افزونه یا تم ایجاد می کنید، باید در نظر داشته باشید که کاربران ممکن است از آن تنظیمات صفحه استفاده کنند. بنابراین، هر بار که از is_home استفاده می‌کنید، همیشه باید is_front_page را قبلاً آزمایش کنید، و همیشه باید از پارامترهای شرطی برای این کار استفاده کنید.

اگر این کار را نکنید، ممکن است با برخی از کاربران مشکل داشته باشید. به عنوان مثال، اگر فقط is_home را برای نمایش محتوای صفحه اصلی خود آزمایش کنید، در صفحه اصلی ثابت مشکلاتی وجود دارد که محتوای مناسب را نمایش نمی دهد.

در اینجا نحوه انجام صحیح این کار آمده است:

if ( is_front_page() && is_home() ) {

	// صفحه اصلی پیش فرض (هم صفحه اول و هم صفحه پست های اخیر)

} elseif ( is_front_page() ) {

	// صفحه اصلی ثابت

} elseif ( is_home() ) {

	// صفحه وبلاگ

}دیگر {

	// هر چیز دیگری

}

این تنها راه (درست) برای نمایش یا تغییر محتوا با صفحه اصلی و صفحه وبلاگ شما است.

مهم: لطفاً توجه داشته باشید که این توابع فقط زمانی کار می‌کنند که وردپرس بارگیری شود، مانند فایل‌های قالب یا قلاب‌های اقدام خاص. شما نمی توانید این شرط ها را فقط در functions.php بیاندازید و انتظار داشته باشید که کار کنند.

شما چطور؟

آیا قبلا با این مشکل مواجه شده اید؟ راه حل شما چه بود؟ من می خواهم در مورد آن بشنوم!

نوشته های مشابه

دیدگاهتان را بنویسید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *

دکمه بازگشت به بالا