در این نصیب از کاربرد های
PHP در وردپرس , میخواهیم در باب شی گرایی در
وردپرس و نقش اصلی کلاس ها و اشیاء در ورپرس کلام کنیم .
شما در اکثری از جاها در وردپرس میتوانید
شی ها و کلاس ها را در وردپرس ملاحظه کنید که در پشت صحنه سرگرم به استعمال شدن میباشند
, براین اساس شما نیز میتوانید به راحتی در قالب های وردپرس و یا این که افزونه هایی
که می سازید از آنها به کارگیری کرده و قالب فروشگاهی وردپرس خویش را به طور شی گرا پباده سازی
کنید .
شی گرایی در وردپرس
شی گرایی در بخش اعظمی از جاها مورد به
کارگیری شما خواهد گرفت , مثلا مطرح ترین نمونه دراین باره ساختن یک کوئری بر روی یکیاز
template های شما یا این که پست ها یا این که پست
های سفارشی شما هست . در بنا شده در همه آنان از اشیاء و کلاس ها در وردپرس به کار
گیری خواهد شد . در فصل های آتی بطور بدون نقص یک فصل دراین مورد کلام خواهیم کرد
و فعلا نمیخواهم که آن را بطور بی نقص دراین بخش شرح دهم چون می توان ساعتها دربارهی
آن حرف کرد .
اشیاء , فوائد و متدها در وردپرس
همان طور که میدانید , شی ها میتوانند
تحت عنوان نمایشی از چیزهایی باشند که با آنها راز و کار داریم که دارنده خاصیت یا
این که به عبارتی properties و متدهای یا این که به عبارتی
methods مرتبط با خویش هستند . برای مثال در شرایطیکه
بخواهیم با معنا اشیاء در وردپرس آشنا شویم , بی آلایش ترین نمونه در وردپرس این میباشد
که یک پست جداازهم در واقع یک شی هست . Property های یک پست دربرگیرنده تیتر یا این که title و همین طور محتوای آن پست یا این که
content میباشند . به همین ترتیب اعمالی زیرا نشر
یا این که publish , انبار کردن یا این که
save , بروزرسانی یا این که
update کردن , همگی و همگی متدها یا این که توابع
این شی درنظر گرفته میشوند .
به همین ترتیب در حالتیکه بخواهیم با معنا
کلاس در وردپرس که قالب یا این که ظرفی برای ساخت یک شی بوده ( یا این که به عبارتی blueprint ) آشنا گردیم , بی آلایش ترین نمونه کلاس WP _ Query هست که در واقع کلاسی میباشد که شما برای ساخت
یا این که مثال سازی از شی query از آن استعمال میکنید تا بتوانید داده های پست های متعدد خویش را در قالب
وردپرس به طور داینامیک به نمایش درآورید .
شما به آسانی هر چه تمام خیس میتوانید از
کلاس ها در وردپرس چهت نیل به هدف ها خویش در ساخت قالب های وردپرس و همین طور افزونه
نویسی وردپرس به کارگیری کنید . در اینجا از یک نمونه معمولی برای شناخت شما با مضمون
کلاس و ساخت شی در وردپرس به کارگیری کرده ام تا طرز ساخت یک شی و به کارگیری از آن
در وردپرس را به شما نمایش دهیم . برای این کار از کلاس WP _ Query به کارگیری میکنیم .
برای این که یک شی تازه از این کلاس بسازیم
, کافی است از واژه و کلمه new در جلوی نام آن ( همانند ساخت کلاس در PHP ) به کارگیری کنیم :
$new _ query = new WP _ Query ( ) ;
با این تعریف شی $new _ query درست شده و شما به تمامی متد ها و
property های آن که در وردپرس تعریف شدهاست , دسترسی
دارید . برای دسترسی به متدها و فایده ها این شی ( همانند دسترسی به آنها در PHP ) کافی است از عملگر ‘ < - ’ پس از نام شی به صورت ذیل استعمال کنیم
:
$new _ query - >the _ post ( ) ;
دراینصورت شما به پست جانور دراین شی
دسترسی خواهید داشت . بصورت بدون نقص در فصل مرتبط با WP _ Query با این کلاس و متدها و خواص های آن کار خوا هیم
که مضاعف برای ساخت قالب های وردپرس کاربردی هستند . دراین بخش صرفا به طور کلی می
خواستیم تا با کاربردهای شی گرایی در وردپرس و طرز استعمال از آن آشنا گردیم
.
ساختارهای شرطی در وردپرس و روش های جایگزین
برای به کار گیری از آنها در وردپرس
ساختارهای کنترلی , بلاک هایی از کد میباشند
که بر شیوه روال و اجرای برنامه شما اثر میگذارند و در واقع شما میتوانید قسمت های
متفاوت برنامه خویش را با آنها در اختیار گرفتن فرمایید . عموما آنان بصورت صورت هایی
از کلمات شرطی ( که از if یا این که switch و شبیه آن ها استعمال کرده ) و یا این که به صورت رینگ ( که از for و while و foreach و یا این که شبیه آنان به کارگیری می نمایند
) در برنامه ها ظواهر میشوند و قسمت های متفاوت برنامه
شما و جریان اجرای آن را در دست گرفتن می نمایند . در PHP شما از دو روش گوناگون میتوانید برای ابلاغ این ساختارهای کنترلی استعمال
نمائید . روش همگانی نخستین که خیلی ها از آن به کار گیری می نمایند , به کار گیری
از {…} برای کدها مثل ذیل میباشد :
if ( condition ) {
// do something
}
روش جایگزین این روش که خیلی دوچندان در
کدهای وردپرس مورد استعمال قرار میگیرد , این هست که به جای به کار گیری از
curly brace های گشوده و بسته , از نشانه های ‘ : ‘
به جای ‘ } ‘ در صدر مصرف شده و برای انتهای ساختار کنترلی و بسته به کنترلی که مورد
به کارگیری قرار گرفته است , به جای ‘ { ‘ از عبارت های ;endif یا این که ;endfor یا این که ;endwhile و یا این که ;endforeach به نظیر تحت به کار گیری می شود ( برای ساختارهای
else و همین طور elseif هم به نظیر آنان و مطابق ذیل به کارگیری خواهد شد
) :
/***** if structure *****/
if ( condition ) :
// do something
endif;
/***** else if structure *****/
if ( condition ) :
// do something
elseif ( condition ) :
// do something different
else :
// if all else fails do this
endif;
/***** foreach structure *****/
foreach ( loop variable ) :
//do loop in this section
endforeach;
احتمالا به نظرتان رسد کهاین ساختار خیلی
دیدنی نبوده و یا این که برای شما دلهره آور است ولی بایستی بدانید که شما به طور فراوان
فراوان با این روش جایگزین در قالب های وردپرس برخورد خواهید کرد . در واقع این روش
جایگزین , بزرگترین منش به کار گیری برای ساختارهای کنترلی است که در قالب های وردپرس
از آن به کار گیری می شود . مثلا , ساختارهای ذیل , در واقع رینگ هایی است که برای
نمایش پست ها در پوشه index . php از آنها استعمال می شود :
/***** in twentyfourteen *****
< ? php if ( have _ posts ( ) ) : ? >
< ? php /* Start the Loop */ ? >
< ? php while ( have _ posts ( ) ) : the _ post ( ) ;
? >
< ? php get _ template _ part ( ' content ' , get _
post _ format ( ) ) ; ? >
< ? php endwhile; ? >
< ? php twentytwelve _ content _ nav ( ' nav - below '
) ; ? >
< ? php else : ? >
( entry - title ( >< ? php _ e ( ' Nothing Found '
, twentyfourteen ) ; ? >
< ? php endif; endwhile; ? >
/***** in twentyseventeen *****/
< ? php
if ( have _ posts ( ) ) :
/* Start the Loop */
while ( have _ posts ( ) ) : the _ post ( ) ;
/*
* Include the Post - Format - specific template for the
content .
* If you want to override this in a child theme , then
include a file
* called content - _ _ _ . php ( where _ _ _ is the Post
Format name ) and that will be used instead .
*/
get _ template _ part ( ' template - parts/post/content '
, get _ post _ format ( ) ) ;
endwhile;
the _ posts _ pagination ( array (
' prev _ text ' => twentyseventeen _ get _ svg ( array
( ' icon ' => ' arrow - left ' ) ) . ' ( screen - reader - text ( > ' . _
_ ( ' Previous page ' , ' twentyseventeen ' ) . ' ' ,
' next _ text ' => ' ( screen - reader - text ( > '
. _ _ ( ' Next page ' , ' twentyseventeen ' ) . ' ' . twentyseventeen _ get _
svg ( array ( ' icon ' => ' arrow - right ' ) ) ,
' before _ page _ number ' => ' ( meta - nav screen -
reader - text ( > ' . _ _ ( ' Page ' , ' twentyseventeen ' ) . ' ' ,
) ) ;
else :
get _ template _ part ( ' template - parts/post/content '
, ' none ' ) ;
endif;
? >
مهمترین مزیت استعمال از ساختارهای کنترلی
جایگزین در وردپرس
مهمترین مزیت به کارگیری از این ساختار
جایگزین , خواناتر بودن آن نسبت به روش همگانی است . این جور به کارگیری سبب می شود
که پوشه های قالب دوچندان قالب درک خیس شده و زمانی که شما درون آنانرا مشاهده میکنید
, به راحتی مشاهده کنید و تشخیص دهید که در باطن کدام ساختار کنترلی قرار دارید و این
سبب می شود تا در دست گرفتن راحت تری بر روی کدهای خویش داشته باشید
.
یک سری چیز حیاتی در استعمال از این روش
جایگزین در وردپرس موجود است که شما می بایست حتما آنها را در لحاظ بگیرید . اولی مورد
این است که , هنگامی که شما از ساختارهای کنترلی تو در تو شبیه بالا استعمال میکنید
, که در آنها یک سری ساختار کنترلی مستعمل شدهاست , شما می بایست به عبارتی ساختار
و syntax را برای بقیه ساختارها ادامه و در هر
level از این syntax به کار گیری فرمایید .
نکته دیگر در طول به کار گیری از این ساختار
جایگزین در وردپرس میباشد . در اصل در جاهایی که شما با خروجی هایی از مدل
HTML راز و کار دارید , خوب تر است از ساختارهای
جایگزین استعمال فرمایید البته در جاهایی نظیر باطن توابع یا این که بقیه قسمت های
قالب خویش که با خروجی هایی از جور HTML رمز و کار ندارید , خوبتر است کدهای خویش را به طور بی آلایش متن و از
ساختارهای کنترلی به طور معمولی و استاندارد به کار گیری فرمایید تا حجم کدنویسی خویش
را کاهش دهید .
برای استعمال از هرمورد از این ها و هم
بقیه کدها , استانداردهایی برای کدنویسی در وردپرس موجود هست که آنان را در بخش آنگاه
مورد بررسی قرار خوا هیم اعطا کرد .
برچسبها: قالب فروشگاهی وردپرس , قالب فروشگاهی , خرید قالب فروشگاهی ,