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

نکته: عبارات شرطی که در زیر معرفی می شوند مقدار true و یا false رو بر می گردونند.

صفحه اصلی سایت وردپرسی

is_home();

is_front_page();

هر دو شرط بالا برای صفحه اصلی سایت وردپرسی استفاده می شوند. نحوه استفاده در زیر قرار داده شده است:

<?php
if ( is_home() ) {
    // اگر صفحه اصلی است سایدبار blog رو نشون میده
    get_sidebar( 'blog' );
} else {
    // در غیر این صورت سایدبار رو نشون میده
    get_sidebar();
}
?>

 

<?php if(is_front_page()) {
	print bloginfo('description'); } // اگر صفحه اصلی است توضیحات رو چاپ کنه
	else {
		print  wp_title(); } // در غیر این صورت عنوان رو برگردونه
?>

[divider] [/divider]

صفحه وبلاگ سایت وردپرسی

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

 

صفحه پنل مدیریت

is_admin();

دستور بالا برای پیشخوان صفحه مدیریت به کار می رود و زمانی اجرا می شود که کاربر در پنل مدیریت باشد.

توجه: صفحه wp-login.php جزء صفحه پنل مدیریت نیست. برای بررسی این صفحه از متغیرهای بخش مدیریت استفاده کنید.

 نوار ادمین

is_admin_bar_showing()

کد بالا هم در صورتی که نوار ادمین نمایش داده شود مقدار true را بر می گرداند.

نکته: برای نمایش دادن یا ندادن این نوار، از تابع show_admin_bar() استفاده کنید. می توانید این تابع را در فانکشن پوسته خودتون بزارید.

صفحه داخلی مطالب

is_single()

این تابع زمانی اجرا می شود که هر صفحه داخلی ( مطالب یا صفحات داخلی post type ها یا پیوست ها ) نمایش داده شود. ( در برگه ها کار نمی کند )

is_single(’17’);

این تابع زمانی اجرا می شود که مطلب با ID 17 در حال نمایش باشد. شما می توانید هر ID دیگری جای این عدد بگذارید

is_single(‘Irish Stew’)

این تابع زمانی اجرا می شود که مطلبی با عنوان Irish Stew در حال نمایش باشد. ( عنوان مطلب تنها یک مثال است و شما هر عنوانی را می توانید بگذارید )

is_single(‘beef-stew’)

این تابع زمانی اجرا میشود که مطلبی با نامک beef-stew در حال نمایش باشد. ( نامک مطلب تنها یک مثال است و شما هر نامکی را می توانید بگذارید )

is_single( array( 17, ‘beef-stew’, ‘Irish Stew’ ))

این تابع هم زمانی اجرا می شود که مطلبی با آی دی 17 و یا با نامک beef-stew و یا با عنوان Iirish Stew در حال نمایش باشد.

is_single( array( 17, 19, 1, 11 ))

این تابع زمانی اجرا می شود که مطلب با آی دی 1 یا 11 یا 17 یا 19 در حال نمایش باشد.

is_single( array( ‘beef-stew’, ‘pea-soup’, ‘chili’ ))

این تابع زمانی اجرا می شود که مطلبی با نامک beef-stew یا pea-soup یا chili در حال نمایش باشد.

is_single( array( ‘Beef Stew’, ‘Pea Soup’, ‘Chili’ ))

این تایع هم زمانی اجرا می شود که مطلبی با عنوان Beef Stew یا Pea Soup یا Chili در حال نمایش باشند.

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

مطلب سنجاق شده ( مهم )

حتما به مطالب سنجاق شده در وردپرس برخورد کرده اید. اگر هم نه من یک توضیح کوتاهی میدم

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

is_sticky()

این تابع زمانی اجرا می شود که یکی از مطالب سایت به عنوان سنجاق شده قرار بگیرند. تنها آرگومانی که این تابع دارد، آی دی مطلب است.

is_sticky( ’17’ )

این تابع زمانی اجرا می شود که مطلبی با آی دی 17 سنجاق شده باشد. در غیر این صورت تابع اجرا نمی شود.

برگه ها

is_page()

این تابع زمانی اجرا می شود که یگ برگه نمایش داده شود.

is_page( 42 )

این تابع زمانی اجرا می شود برگه با آی دی 42 در حال نمایش به کاربر باشد.

is_page( 'About Me And Joe' )

این تابع زمانی اجرا می شود که برگه ای با عنوان About Me And Joe در حال نمایش باشد.

is_page( 'about-me' )

این تابع زمانی اجرا می شود که برگه ای با نامک about-me در حال اجرا باشد.

is_page( array( 42, 'about-me', 'About Me And Joe' ) )

این تابع زمانی اجرا می شود که برگه ای با آی دی 42 یا نامک about-me یا عنوان About Me And Joe در حال نمایش باشد.

is_page( array( 42, 54, 6 ) )

این تابع زمانی اجرا می شود که برگه ای با آی دی 6 یا 42 یا 54 در حال نمایش باشد.

مثال: فرض کنید که می خواهیم برگه ای که دارای آی دی 20 هست بخش هدر آن متفاوت باشه. پس از کد زیر استفاده می کنیم:

<?php
if(is_page(20)){ // اگر شرط درست بود و برگه ای با آی دی 20 در حال نمایش بود
print ' <div class="header-style-2">	محتوای هدر نوع 2 </div> ';
}
?>

 قالب برگه

حالا می خوام تابعی برای قالب برگه تعریف کنیم. برای مثال اگر در قالب برگه تماس با ما هستم یکسری دستورات اجرا بشه.

is_page_template()

اگر با ساخت قالب برگه آشنا نیستید مقاله ساخت قالب برگه ها در وردپرس میتونه کمکتون کنه.

is_page_template( ‘about.php’ )

این تابع زمانی اجرا می شود که فایل about.php در روت پوسته سایت در حال اجرا باشد.

نکته: اگر این فایل در دایرکتوری دیگری باشد باید آدرس آن را کامل قرار دهید. مثلا اگر این فایل در پوسته سایت فولدر page-templates باشد باید به این شکل تابع را بنویسید:

is_page_template( ‘page-templates/about.php’ )

 

بسیار خب مقاله امروز مدرسه وردپرس درباره شرط ها در وردپرس قسمت اول به پایان رسید. امیدوارم که به دردتون بخوره.

این مقاله ادامه داره

تا بعد…

 

13 دیدگاه برای “شرط ها در وردپرس ( قسمت ۱ )

  • siroos
    - ۱۴ مهر , ۱۳۹۳

    خیلی ممنون بابت مطلب مفیدی که گذاشتی …
    واقعا به کارم میاد مخصوصا جهت شناسایی صفحه اصلی و پنل مدیریت…

  • web developer
    - ۱۴ مهر , ۱۳۹۳

    سلام
    ممنون هستم از انتشار این آموزش.
    لطفاً در مورد ساخت کنتر پنل پوسته هم مطلب بنویسید.
    با احترام

  • احمد
    - ۱۷ مهر , ۱۳۹۳

    سلام
    ممنون هستم از انتشار این آموزش
    میشه به سایت من سربزنی و بگی که چطوری میتونم مثل سایت سیروس (آلبوم ها) توی برگه هام از شمارشگر صفحه ها استفاده کنم؟واقعا ممنونت میشم
    بازم مرسی از مطالبت.

    • الناز بیک زاده
      - ۱۹ مهر , ۱۳۹۳

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

      • احمد
        - ۲۱ مهر , ۱۳۹۳

        بله مطالعه کردم ولی هیچ تغییری در قالبم ایجاد نشد میشه بیشتر راهماییم کنید؟

        • الناز بیک زاده
          - ۲۷ مهر , ۱۳۹۳

          احمد جان احتمالا جایی از آموزش رو درست پیش نرفتید چون که آموزش تست شده و بدون مشکله.

  • آهنگ جدید
    - ۱۰ آبان , ۱۳۹۳

    عالی بود مرسی

  • میزبانی وب هاست سنتر
    - ۲۳ دی , ۱۳۹۳

    خیلی به دردمون خورد ممنون

  • محمد
    - ۲۳ خرداد , ۱۳۹۴

    سایت بسیار خوب و مفیدی دارید …

  • وحید
    - ۱۵ تیر , ۱۳۹۴

    با سلام میشه آموزش تصویریشو بذارید
    برای تازه کارا خیلی گنگ و نا مفهومه
    ممنون

  • arash
    - ۱۸ فروردین , ۱۳۹۶

    درود بر شما خسته نباشید. خیلی دنبال کد صفحه اصلی میگشتم ، سپاسگزارم.

    فقط مشکلی که هست به شکل زیر استفاده کردم اما کار نکرد، میخوام اگه در صفحه اصلی بود اسلایدر نمایش داده بشه در غیر این صورت نمایش داده نشه، کد رو در فایل هدر سایت گذاشتم هیچ اتفاقی نمیفته و اسلایدر اجرا نمیشه:

    اما وقتی کد اسلایدر رو بجای // This is not a homepage قرار میدم ، اسلایدر در تمام صفحات و صفحه اصلی اجرا میشه. ممنون میشم راهنمایی کنید.

    با سپاس

    • الناز
      - ۱۸ فروردین , ۱۳۹۶

      سلام دوست عزیز. شما از این شرط استفاده کنید ببینید مشکل حل میشه یا خیر:

      if (!is_home() && !is_front_page()) {
      // کد شما
      }

  • محمد ا
    - ۱۵ مرداد , ۱۴۰۰

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

دیدگاه خود را بیان کنید

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

-- بارگیری کد امنیتی --