فهرست :
PHP در وردپرس – بخش اول: آشنایی با تابع ها در PHP
در این بخش بالاخره وقت آن رسید که یک نگاه کوتاه نیز، به کدها بزنیم و با استفاده های زبان PHP در وردپرس آشنا شویم. در واقع در این بخش نمی خواهیم تا به آموزش پی اچ پی بصورت کامل بپردازیم بلکه می خواهیم با چند مثال ساده بیان کنیم که چگونه PHP در وردپرس بکار گرفته شده و از آن استفاده می شود. از شما تقاضا دارم که حتما زمان کوتاهی را برای خواندن این بخش صرف کنید حتی با اینکه ممکن است به PHP مسلط باشید. این بخش شامل نکات کوچک و بسیار ظریفی است که در وردپرس وجود داشته و اینکه چگونه PHP در وردپرس مورد استفاده قرار می گیرد. مسلما با دانستن این نکات ریز، ادامه راه پی اچ پی در وردپرس برای شما ساده تر خواهد شد.
مقدمه
فکر می کنم مهم ترین دلیلی که باعث می شود خیلی از کدنویسان ترجیح می دهند که با وردپرس کار کنند، حس بهتری است که نسبت به آن دارند. این حس از اینجا ناشی می شود که PHP در وردپرس به گونه ای استفاده می شود که شما بیشترین لذت را از آن می برید.
در واقع زمانی که شما می خواهید یک قالب یا template بسازید، در وردپرس چیزهایی را مشاهده می کنید که تقریبا در سایر CMS موجود نیست و آن این است که بطور کامل و سرراست از PHP در وردپرس استفاده می شود. بسیاری از سیستم های دیگر برای ساخت template tag های خود از syntax های مخصوص استفاده کرده و از راه های متفاوتی نسبت به زبان PHP برای فرستادن یا همان پاس دادن اطلاعات بهره می برند، اما در مقابل همه آن ها، وردپرس جزو سیستم هایی به حساب می آید که به خوبی از این زبان در هسته و تمام اجزا خود استفاده می کند.
به نظر می رسد که یکی از دلایل پر استفاده شدن و محبوبیت وردپرس در دنیا نیز به همین عامل بر می گردد. در واقع ساده تر بودن این سیستم باعث شده که بخش بزرگی از این صنعت، از وردپرس برای کارهای خود استفاده کنند. شما با دانستن زبان PHP به راحتی می توانید داخل کدهای بخش های مختلف شده و به صورت مستقیم بسته به نیاز خودتان آن ها را دستکاری نمایید.
برای شروع طراحی قالب وردپرس یا نوشتن پلاگین وردپرس شما باید تا حدودی با زبان پی اچ پی آشنا باشید تا بتوانید به راحتی از PHP در وردپرس استفاده نمایید. در واقع در این بخش نمی خواهیم بصورت کامل به آموزش PHP بپردازیم بلکه می خواهیم با برخی کاربردهای پی اچ پی در وردپرس آشنا شویم و کاربرد آن ها را از نزدیک مشاهده کنیم.
آموزش نکات کاربردی PHP برای وردپرس
توابع یا Function ها در وردپرس
اکثر چیزهایی که شما در وردپرس با آن سر و کار خواهید داشت خواه از template tag هایی مانند ()the_title یا ()the_content گرفته تا سایر تابع های مربوط به ساخت قالب مانند ()get_header یا ()wp_head ، همه و همه تابع هستند.
تابع ها در وردپرس به چند روش کار می کنند: یا از خروجی آن ها (مقدار return شده آن) برای استفاده در متغیرها استفاده می شود و یا از خروجی آن ها بطور مستقیم در قالب ها و سایر نقاط وردپرس برای داینامیک کردن محتواها استفاده می گردد. در مثال زیر می توانید هر دوی این دو کاربرد را بر روی یک محتوای مشابه مشاهده کنید:
در بخش اول، تابع ()get_the_title یک رشته که محتوای آن title یا عنوان می باشد را بر می گرداند و در یک متغیر ذخیره می کند، سپس از این متغیر درون کد، استفاده می شود تا عنوان در درون تگ H2 به نمایش دربیاید. در بخش دوم از تابع ()the_title استفاده شده است که به صورت مستقیم خروجی آن در داخل تگ های HTML نمایش داده شده و یا echo شده است:
- /******* Sample 1 *******/
- // get_the_title() returns the title to a variable for use in the PHP code
- $title = get_the_title();
- // Do something with $title variable
- echo “<h2>$title</h2>”;
- /******* Sample 2 *******/
- // whereas the_title() prints the title out straight from the function
- <h2><?php the_title(); ?></h2>
تفاوت استفاده در خروجی توابع که با _get شروع می شوند و توابعی که بدون آن هستند
اصولا توابعی که در وردپرس که به صورت توابع built-in بوده و با _get شروع می شوند، دارای یک خروجی به صورت return می باشند، لذا برای استفاده از آن ها در بین تگ های HTML می باید از دستور echo استفاده نمود اما توابعی که بدون آن شروع می شوند، خروجی آن ها به صورت echo شده بوده و نیازی به استفاده از echo ندارند (در واقع خروجی آن ها در داخل بدنه تابع از echo استفاده شده است). این موضوع را می توانید در دو مثال بالا به سادگی مشاهده نمایید.
بسیاری از توابع می توانند حاوی یک یا چندین پارامتر باشند، بنابراین شما می توانید انتخاب کنید که داده ها چگونه انتخاب شده و همین طور چگونه برگشت داده شوند. در وردپرس چندین راه برای فرستادن پارامترها به تابع ها وجود دارد. اولین و معمولی ترین راه، جدا کردن آن ها با کاما ( , ) از یکدیگر در روبروی نام تابع می باشد:
- do_something_cool(‘msn’, true);
روش دوم، پاس دادن یا فرستادن تنها یک آرایه به عنوان پارامتر به تابع می باشد. این روش در وردپرس فوق العاده پر کاربرد بوده و در بسیاری از موارد از آن استفاده می شود. نمونه بسیار پر استفاده آن در فرستادن آرگومان های سرچ در یک حلقه می باشد که در فصل های بعدی با جزئیات کامل شرح داده خواهد شد:
- $params = Array (
- ‘arg1’ => ‘msn’,
- ‘arg2’ => true
- )
- do_something_cool($params);
روش آخر نیز فرستادن پارامترها به صورت query string به تابع می باشد. در صورتی که بخواهید ساختار کد شما اندکی منظم تر باشد، بین آن می توانید فاصله نیز بگذارید تا کد شما خوانا تر گردد. در زیر شکل هر دوی آن ها را مشاهده می کنید:
- /***** query-string style *****/
- do_something_cool(‘arg1=msn&arg2=true’)
- /***** query-string style with a little tidier *****/
- do_something_cool(‘arg1=msn & arg2=true’)
روش آخر، یک روش جدید در PHP نیست و در وردپرس نیز در برخی از موارد از آن استفاده می شود. شما می توانید این سبک از فرستادن آرگومان ها به تابع را، بیشتر در تابع هایی ببینید که با _wp شروع می شوند یا این اینکه در توابع کوئری از سبک آخر برای پاس دادن پارامترها استفاده می شود. دلیل استفاده از این سبک پاس دادن ، وجود تعداد زیادی پارامتر می باشد که باید به یک تابع خاص پاس داده شوند. یک مثال ساده برای آن، تابع wp_list_categories می باشد که در کل شامل 24 پارامتر می باشد. مسلما به جای نوشتن یک لیست بسیار بلند در داخل پرانتز جلوی تابع با پارامترهایی که همه با کاما از هم جدا شده اند ، بهتر است از فراخوانی تابع با سبک آرایه ای ( array-style ) یا سبک فراخوانی با رشته کوئری ( query-string-style ) استفاده کنیم.
در بخش دوم این مقاله به اشیا و کلاس ها در وردپرس خواهیم پرداخت و همین طور بلاک های شرطی و نحوه syntax آن ها را در وردپرس بطور کامل بررسی خواهیم کرد.
بسیاری از توابع می توانند حاوی یک یا چندین پارامتر باشند، بنابراین شما می توانید انتخاب کنید که داده ها چگونه انتخاب شده و همین طور چگونه برگشت داده شوند. در وردپرس چندین راه برای فرستادن پارامترها به تابع ها وجود دارد. اولین و معمولی ترین راه، جدا کردن آن ها با کاما ( , ) از یکدیگر در روبروی نام تابع می باشد:
- do_something_cool(‘msn’, true);
روش دوم، پاس دادن یا فرستادن تنها یک آرایه به عنوان پارامتر به تابع می باشد. این روش در وردپرس فوق العاده پر کاربرد بوده و در بسیاری از موارد از آن استفاده می شود. نمونه بسیار پر استفاده آن در فرستادن آرگومان های سرچ در یک حلقه می باشد که در فصل های بعدی با جزئیات کامل شرح داده خواهد شد:
- $params = Array (
- ‘arg1’ => ‘msn’,
- ‘arg2’ => true
- )
- do_something_cool($params);
روش آخر نیز فرستادن پارامترها به صورت query string به تابع می باشد. در صورتی که بخواهید ساختار کد شما اندکی منظم تر باشد، بین آن می توانید فاصله نیز بگذارید تا کد شما خوانا تر گردد. در زیر شکل هر دوی آن ها را مشاهده می کنید:
- /***** query-string style *****/
- do_something_cool(‘arg1=msn&arg2=true’)
- /***** query-string style with a little tidier *****/
- do_something_cool(‘arg1=msn & arg2=true’)
روش آخر، یک روش جدید در PHP نیست و در وردپرس نیز در برخی از موارد از آن استفاده می شود. شما می توانید این سبک از فرستادن آرگومان ها به تابع را، بیشتر در تابع هایی ببینید که با _wp شروع می شوند یا این اینکه در توابع کوئری از سبک آخر برای پاس دادن پارامترها استفاده می شود. دلیل استفاده از این سبک پاس دادن ، وجود تعداد زیادی پارامتر می باشد که باید به یک تابع خاص پاس داده شوند. یک مثال ساده برای آن، تابع wp_list_categories می باشد که در کل شامل 24 پارامتر می باشد. مسلما به جای نوشتن یک لیست بسیار بلند در داخل پرانتز جلوی تابع با پارامترهایی که همه با کاما از هم جدا شده اند ، بهتر است از فراخوانی تابع با سبک آرایه ای ( array-style ) یا سبک فراخوانی با رشته کوئری ( query-string-style ) استفاده کنیم.
در بخش دوم این مقاله به اشیا و کلاس ها در وردپرس خواهیم پرداخت و همین طور بلاک های شرطی و نحوه syntax آن ها را در وردپرس بطور کامل بررسی خواهیم کرد.