جلسه سی و یکم – آموزش طراحی سایت فروشگاهی
در این جلسه قلب تپنده وردپرس که فایل Functions.php است و کار با سیستم هوک را یاد خواهید گرفت ، این بخش مهم ترین مبحث در تمام دوره های آموزشی وردپرس است
به قسمت 31 از دوره پروژه محور آموزش طراحی سایت فروشگاهی با وردپرس خوش آمدید . این جلسه شاید مهم ترین جلسه در کل این دوره است . تصمیم داریم با قلب تپنده قالب های وردپرسی آشنا شویم . فایل Functions.php مهم ترین فایل موجود در قالب های وردپرس است که بدون این فایل ما قادر نیستیم تا بخش های زیادی از قالب را تکمیل کنیم . طبق استاندارد های وردپرس بدون فایل موردنظر تقریبا قادر به انجام هیچ کاری نیستیم چرا که قلب تپنده قالب سایت ما است . به کمک برنامه نویسی داخل این فایل ، قادر هستیم تا امکاناتی را به سایت اصافه کنیم ، امکاناتی را کم کنیم و یا اینکه امکاناتی را فیلتر کنیم . سعی نمودیم تا به ساده ترین شکل ممکن این مبحث را خدمتتان آموزش دهیم .
متاسفانه مبحث فایل فانکشنز و هوک در بسیاری از منابع بخوبی آموزش داده نشده است اما در این جلسه با یک روش خاص و مفهومی سیستم کلی این فایل و همچنین سیستم هوک که در ادامه توضیح دادیم را خدمتتان آموزش خواهیم داد تا فقط و فقط یکبار بر روی این بخش تمرکز کنید و تا اخر عمر به آن مسلط باشید .
ما به کمک این فایل خیلی از بخش های قالب را تکمیل می کنیم و تقریبا بیش از 80% بخش های سایت را از طریق این فایل کنترل خواهیم کرد . ما در وردپرس یک سیستم فوق العاده داریم به نام هوک . هوک درحقیقت مهم ترین مبحثی است که داخل فایل Functions مطرح می شود . به کمک سیستم هوک ( سیستم حلقه و قلاب ) ، قادر هستیم تا هر امکاناتی که مد نطر داریم و طبق اصول وردپرس در اختیار ما قرار دارد ، به قالب اضافه کنیم . پس یک بخش بسیار جذاب و البته حیاتی در سایت محسوب می شود . در همین ابتدا باید گفت هر اندازه که تا این جلسه تمرکز داشتید ، ده برابر نیز به آن اضافه کنید . البته این حرف به این معنی نیست که بخش هوک ها سخت و دشوار هستند . به این معنی است که یادگیری درست و اصولی این بخش از اهمیت بالایی برخوردار است و اگر احساس می کنید که هنوز در آن به تسلط مناسبی نرسیدید ، اول تمرکز کامل ماهیت هوک را درک نموده و سپس به ادامه آموزش بپردازید .
بعد از درک ماهیت هوک ، دو بخش در قالب را به کمک هوک ها فعال می کنیم . یکی بخش مربوط به عنوان صفحات که باید حتما به شکل داینامیک برای ما نشان داده شوند و قسمت بعدی مربوط به لوگو سایت است که لوگوی مورد نظر فروشگاه را به کمک هوک ها داخل قالب فعال میکنیم و شما خواهید دید که به چه شکل به کمک هوک ها امکان لوگو به قالب سایت اضافه خواهد شد .
چرا وردپرس سیستم هوک را ایجاد کرد ؟
شاید اینجا برای شما سوال باشد که چرا باید سیستم هوک را یاد گرفت و آیا روش های دیگری برای یادگیری برنامه نویسی قالب وردپرس وجود ندارد ؟ در جواب باید گفت هر سیستم بر اساس استاندارد های مشخصی تعریف می شود . وردپرس یک سیستم متن باز است و این امکان را به شما میدهد که بتوانید آن را توسعه دهید . این توسعه باید به نوعی باشد تا متناسب با استاندارد های خود سیستم انجام شود . یعنی زمانی که کدی نوشته شد ، سیستم بتواند آن را تحلیل نموده و خروجی مد نظر را نمایش دهد .
راه ارتباطی ما با هسته وردپرس به هنگام برنامه نویسی و توسعه ، فایل Functions است . این فایل به نوعی مستقیما به قالب ما متصل است و داخل آن هر کدی نگارش شود در داخل تمام صفحات قالب نمایش داده خواهد شد . اما یک رویه مشخص برای برنامه نویسی در داخل این فایل تعریف شده است که بر اساس سیستم هوک می باشد .
زمانی که ما در خواستی داریم باید به متصدی مخصوص به آن مراجعه کنیم . تصور کنید وردپرس هسته خود را همانند باجه های مختلف بانک بخش بندی نموده است . ما برای تمامی امورات بانکی نمی توانیم به یک باجه و یا هر باجه دلخواه مراجعه کنیم . برای هر عملیات بانکی باجه های مخصوص به ان با متصدی مربوطه در نظر گرفته شده است . پس در داخل وردپرس نیز اگر قصد داریم تا امکاناتی به سیستم اضافه کنیم باید دید که متصدی این امکانات کدام بخش است . در حقیقت ما اینجا به دنبال هوک مشخصی هستیم که کار ما را انجام دهد . این کار باعث افزایش سرعت پردازش در قالب ها خواهد شد . هدف این سیستم ایجاد یک سازمان بخش بندی شده و تسهیل بررسی کد ها و سرعت بالای پردازش دستورات است . تمامی هوک هایی که وردپرس در اختیار ما قرار داده است در مخزن توسعه دهندگان ارائه شدند و می توانیم به راحتی و با کمی مطالعه ، اساس کار هر کدام را برای بخش های مختلف قالب متوجه شویم .
برای مثال ما قصد داریم تا قسمت منو ها در قالب را اضافه کنیم و این بخش به سیستم ما اضافه شود . اول باید دید که وردپرس برای این امکان چه هوکی را در نظر گرفته است . ما برای این مورد باید کدهای خود را که بازهم مطابق با استاندارد های وردپرس نگارش شدند تکمیل نموده و در نهایت تحویل هوک مربوطه دهیم تا آنها را برای ما اجرا کند . ماهیت سیستم هوک ها در این جلسه به ساده ترین شکل خدمت شما دوستان ارائه شده است پس خواهشمندیم با تمرکز بالایی این مبحث را یاد بگیرید تا بدون مشکل در ادامه دوره و همچنین جلسات بعدی پیشروی کنیم چرا که سیستم هوک در تمامی دوره برای ما یک موضوع حیاتی است . البته که در این دوره چندین بخش مهم همچون شخصی سازی سیستم فروشگاه و همچنین برنامه نویسی افزونه های دسترسی سریع نیز داریم که تمامی این موارد با موضوعات پیشرفته تری از هوک ها سر و کار خواهند داشت پس همراه ما باشید تا این جلسه را نیز بخوبی به اتمام برسانیم .

امید قدیمی هستم ، 8 سال است که در زمینه طراحی و برنامه نویسی وب سایت فعالیت می کنم . توسعه دهنده فرانت اند ، طراح و برنامه نویس انواع وب سایت های وردپرسی ، فعال در زمینه تولید محتوا و سئو وب سایت