برای قالب های وردپرس , کنترل پنل طراحی کنید

برای قالب های وردپرستان کنترل پنل طراحی کنید

امروز، ما به تمامی مراحل ایجاد یک پنل گزینه های انتخابی (options panel) ادمین برای یک تم وردپرس، با استفاده ازWooFramework  می پردازیم. سپس، همانطور که jQuery را برای بهبود برخی از قابلیت ها اجرا می کنیم، همه چیز را یک گام به جلو خواهیم برد.

برای شروع آموزش لطفا فایل را دانلود کنید [ دانلود فایل ]

وردپرس یکی از محبوب ترین سیستم های نرم افزاری مدیریت محتوای(CMS) موجود است. چه برای پروژه ی یک مشتری باشد و یا برای فروش تم درThemeForest باشد، وردپرس برای بسیاری از توسعه دهندگان وب به عنوان یک CMS انتخابی به سرعت در حال ظهور است. استفاده از آن نسبتا آسان است، اما زمانی که شما برای کاربران پنل ادمین ایجاد می کنید، میتواند حتی ساده تر هم شود. برای تعامل با تم وردپرس شما کاربران می توانند به جای نیاز به باز کردن فایل های قالب PHP و پر کردن آن با کد، به طور مستقیم از پانل گزینه های انتخابی استفاده کنند

به عنوان مثال – اگر تم شما رنگی های قرمز، آبی و سبز دارد، و هر کدام دارای یک فایلCSS مرتبط است، برای کاربر به مراتب ساده تر است که رنگ مورد نظر خود را از یک لیست کرکره ای (dropdown) انتخاب کند. بنابراین، به من اجازه دهید که امروز شما را با تمامی مراحل ایجاد و افزایش صفحه ی پانل ادمین وردپرس که الهام گرفته از Woo است، آشنا کنم.

مرحله ی 1

قبل از اینکه ما شروع به ایجاد یک پنل ادمین کنیم، باید یک تم داشته باشیم، درست است؟ بنابراین فایل های منابع ارائه شده در همین آموزش را دانلود کنید. من تم Classic وردپرس را کمی تغییر داده ام. پوشه ی ‘nettuts’ (من نام تم را ‘nettuts’ گذاشته ام) را در پوشه ی wp-content/Themes خود قرار دهید. حالا باید فایل های زیر را ببینید:

• functions.php (blank)
• index.php
• comments.php
• footer.php
• header.php
• rtl.php
• sidebar.php
• style.css
• screenshot.png
• یک پوشه ی تصویر با دو فایل

بخش عمده ی کار ما در درون فایل functions.php انجام می شود.
“یک تم می تواند به صورت اختیاری از یک فایل تابع استفاده کند، که به صورت زیر شاخه ای در تم ساکن می شود و فایل functions.php نامیده می شود. این فایل در واقع مانند یک پلاگین عمل می کند، و اگر در تمی که شما استفاده می کنید حضور داشته باشد، در طول مقدار دهی اولیه در وردپرس به طور خودکار بارگذاری می شود (هم برای صفحات ادمین و هم برای صفحات خارجی).

استفاده های پیشنهادی از این فایل ها:

• توابع استفاده شده در چندین فایل قالب تم شما را تعریف می کند
• یک صفحه ی نمایش ADMIN راه اندازی می کند، که به کاربران گزینه هایی برای رنگ، سبک، و دیگر جنبه های تم شما ارائه می دهد

مرحله ی 2

حالا که تم وردپرس خود را راه اندازی کرده ایم، به قسمت Appearance>Themes رفته و تم nettuts را فعال کنید.

install

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

PHP

اجازه دهید همه ی آنچه را که می بینید به شما توضیح دهم. تنظیمات گزینه ها در یک div به نام “rm_wrap” و سپس “rm_opts” برای گزینه ها پیچیده خواهد شد. سپس یک فرم را با تمام ورودی های درون آن شروع می کنیم. هر بخش از گزینه ها (تنظیمات عمومی، تنظیمات صفحه ی اصلی، تنظیمات وبلاگ و غیره) یک div جداگانه با یک کلاس”rm_section” دارند. این div یک عنوان دارد (نام آن محسوب می شود) به همراه چندینdiv در درون آن. با استفاده از کلاس هایی مثل

، می توانیم کرکره، ورودی متن و جایگاه متن را به شکل متفاوتی، طراحی کنیم.
در حال حاضر، مهم ترین مسئله این است که برنامه نویسی آن نباید به صورت دستی انجام شود، باید از انعطاف پذیریPHP ها تا حد ممکن استفاده کنیم. این به معنی بهره وری است: به صورت دستی برنامه نویسی نکید، هنگامی که برای این کار حلقه در اختیار شما است!

مرحله ی 3

توسط باز کردن فایل functions.php در ویرایشگر کد مورد علاقه شما آغاز می شود (من از Notepad++ استفاده می کنم) کد زیر را وارد کنید:

PHP

این قطعه از تابع built-in get_categories وردپرس برای واکشی تمام دسته بندی ها استفاده می کند، و سپس با استفاده از یک حلقه foreach تم را در متغیر$wp_cats ذخیره می کند. و سپس گزینه ی “یک دسته بندی را انتخاب کنید” (“Choose a category”) به بالای صف اضافه می شود.

PHP

 

مرحله ی 4

در حال حاضر شروع به وارد کردن یک لیست از گزینه ها برای تم می کنیم. به آنچه در زیر آمده نگاه کنید، و آن را در فایلfunctions.php خود وارد کنید:

PHP

 

این تکه ی بزرگی از کد بود، که قطعا برخی توضیحات را ضمانت می کند. بنابراین اینها را خواهیم داشت:
• PHP متغیر $options لیست کامل گزینه ها را برای تم ذخیره می کند.
• این از تعدادی از آرایه های ترکیب شده است، هر کدام با یک کلید “type” برای تعیین اینکه آن چگونه نمایش داده خواهد شد و چه کاری انجام خواهد داد.
• ما با یک آرایه ی “type” => “title” شروع کردیم – این برای نشان دادن نام تم و عنوان در بالای صفحه مورد استفاده قرار خواهد گرفت.
• هر بخش (عمومی، صفحه ی اصلی و پاورقی) یک لیست جداگانه از گزینه ها دارد.
• ما با بستن همه ی بخش های قبلی یک بخش جدید را شروع کردیم: معرفی کردن یک بخش جدید با استفاده از array( “name” => “Footer”,
“type” => “section”) و باز کردن یک بخش جدید.
• هر گزینه می توانید گزینه های مشخص شده در زیر را داشته باشد:
name: نام ضمینه ی ورودی.
desc: یک شرح کوتاه که به کابر توضیح می دهد که این چیست.
id: شناسه ی ضمینه، پیشوند دار شده توسط نام کوتاه. از آن به عنوان ذخیره کننده و همچنین برای دسترسی به گزینه ها استفاده خواهد شد.
type: نوع ورودی – انتخاب متن و یا جایگاه متن
options: به منظور معرفی آرایه های گزینه ها برای نوع انتخابی ورودی ها مورد استفاده قرار می گیرد
STD: مقدار اولیه ی ورودی پیش فرض، در صورتی که هیچ گونه ورودی دیگری داده نشده باشد، استفاده می شود.

مرحله ی 5

سعی کنید به وردپرس وارد شوید. خواهید دید که در هیچ کجا هیچ گزینه ای برای دیدن صفحه ی پنل ادمین وجود ندارد، پس چگونه می توانیم آن را ببینیم؟ کد زیر را به فایل functions.php اضافه کنید:

PHP

این تابع برای گزینه های به روز رسانی و همچنین اضافه کردن یک صفحه ی منو بنا شده است. اگر گزینه ها ذخیره می شوند (نشان داده شده با متغیرهای پنهان ذخیره سازی) پس تمام گزینه ها با مقدارهای اولیه ی جدیدشان به روز رسانی شده اند. اگر گزینه ها تنظیم مجدد می شوند (نشان داده شده به وسیله ی یکی دیگر از متغیر های مخفی با مقدار اولیه ی تنظیم مجدد) پس همه ی گزینه ها حذف می شوند. خط آخر، یک صفحه ی منو را می افزاید- پارامترها به ترتیب نام گذاری و عنوان بندی می شوند، کاربر برای مشاهده ی این صفحه به سطح مجوزدار نیاز دارد، صفحه ی ذخیره و تابع برای نمایش /ذخیره سازی مورد استفاده قرار می گیرند (که در مورد ما mytheme_admin نامیده میشود) تابع mytheme_add_init را ببینید، آیا یک تابع خالی را مشاهده می کنید؟ اجازه دهید که به همین گونه باقی بماند، بعدا به آن خواهیم پرداخت.

فعال سازی SSL در وردپرس | آموزش فعالسازی SSL در وردپرس

مرحله ی 6

هنوز هیچ صفحه ی گزینه های تمی نداریم، درست است؟ خوب، آیا تابعmytheme_admim را به یاد دارید که چند خط قبل درباره ی آن صحبت کردیم؟ ما هنوز هم آن تابع را ننوشته ایم. بنابراین از کدهای مراحل 6، 7 و 8 برای نوشتن آن تابع استفاده می کنیم. شروع می کنیم:

PHP

خیلی ساده است، این طور نیست؟ اگر گزینه ها ذخیره شده اند، یک پیام که آن را نشان دهد، بنویسید. به همین ترتیب برای تنظیمات مجدد، عمل کنید. یک class=”updated fade” مشاهده خواهید کرد – وردپرس به طور خودکار آن را در چند بخش محو خواهد کرد. جذاب است، نه؟ پس از آن “rm_wrap” div را شروع خواهیم کرد.

مرحله ی 7

آنچه از بالا کسب کرده ایم را در کد زیر قرار دهید:

PHP

 

این یک تکه بزرگ از کد است! توضیح: با استفاده از یک حلقه ی foreach PHP همه ی انواع گزینه ها، بر صورت مورد به مورد بررسی خواهند شد. ما از یک تکنیک تعویض مورد برای این استفاده می کنیم. متغیر تعویض، گزینه است – موارد همسان و ارزیابی شده اند. بیانیه ی ‘break’ را بعد از هر مورد می بینید؟ این به منظور جلوگیری از اتفاق افتادن چیزی به نام ویژگی ‘fall-through’ است. هنگامی که یک مورد همسان شده است، همه ی موارد متوالی نیز اجرا می شوند. این به این معنی است که اگر ما مورد 3 را همسان کنیم، مورد 4، 5 و غیره نیز اجرا خواهد شد. ما این اتفاق را نمی خواهیم، درست است؟ بنابراین برای جلوگیری از تعویض مورد از یک (break) استفاده کنید.

اگر یک گزینه ی نوع “open” وجود دارد – هیچ کاری انجام نشده است. اگر یک گزینه ی نوع “close” وجود دارد، دوdiv بسته شده اند. گزینه ی “title” تنها یک بار مورد استفاده قرار می گیرد – این یک مقدمه برای گزینه های تم است. برای هر کدام از انواع “text” (type=”text” ورودی)، “select” (کرکره)، “checkbox” و “textarea” ( آشکار است که به چه معنایی هستند) ورودی مربوه نمایش داده می شود. به توجه

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

مرحله ی 8

ما در حال نزدیک شدن به پایان این تابع نسبتا گسترده هستیم. کد زیر را در تابع قرار دهید:

PHP

برای گزینه ی نوع “section”، من یک متغیر شمارنده ی $ را استفاده کرده ام. این متغییر رد شماره ی بخش را نگه می دارد و آن را به نام دکمه ی ثبت (submit) برای داشتن دکمه ی ثبت منحصر به فرد، الحاق می کند. همچنین در پایان یک شکل آخر برای تنظیم مجدد همه ی گزینه ها وجود دارد. تصویر استفاده شده است همان تصویر شفاف استفاده شده در تابع jQuery خواهد بود. با استفاده از آخرین قطعه از کد، توابع خود را اجرا کنید:

PHP

این کار به وردپرس می گوید که یک منوی ادمین اضافه کند.

مرحله ی 9

ugly

و حالا بفرمایید! ما صفحه ی پنل ادمین عالی خود را با موقعیت منوی جداگانه برای خودش، داریم. پس اجازه دهید آن را امتحان کنیم – روی لینک کلیک کنید. این زشت ترین صفحه ی پنل ادمینی که تا به حال دیده اید خواهد بود. بنابراین اجازه دهید دوست خوبمان، CSS را صدا کنیم! در فهرست nettuts / یک پوشه ی جدید ایجاد کنید و آن را “functions” بنامید. یک فایل جدیدCSS ، functions.css، در آنجا ایجاد کنید. کد زیر را در آن قرار دهید:

PHP

 

من در اینجا هیچ توضیحی نخواهم داد، بخوبی روشن است که هر اعلانCSS چه کاری انجام می دهد، و شما آزاد هستید که طرح را برای تم خودتان سفارشی کنید.

مرحله ی 10

در حال حاضر ما یک فایلCSS خوب داریم. اما حالا چگونه آن را به این صفحه اضافه کنیم؟ به هر ترتیب، ما بهاسناد دسترسی مستقیم نداریم. آیا تابع mytheme_add_init() را که در مرحله ی 3 نوشتیم به یاد دارید؟ این تابع در اینجا مفید خواهد بود. آن را به این تغییر دهید:

PHP

این کار فایلfunctions.css را به سر اضافه می کند. جایگاه فایل ها به وسیله ی فهرست قالب تعیین می شود.

css

مرحله ی 11

حالا به صفحه نگاه کنید. بسیار خوب به نظر می رسد، این طور نیست؟ اما شما ممکن است سوال کنید که آیکون ‘+’ چیست؟ خب، اینجا جایی است که jQuery به میان می آید. یک فایل جدید rm_script.js در پوشه ی nettuts/functions/ ایجاد کنید. کد زیر را در آن قرار دهید:

PHP

کاری که می کند این است – پس از آن که DOM بارگذاری می شود، تمامrm_options ها بالا می روند. وقتی که بر روی آیکون’+’ کلیک می شود، طبقات غیر فعال از تصویر حذف شده و طبقات فعال اضافه می شوند – که آن را به یک آیکون’-‘ تبدیل می کنند. معکوس این کار زمانی که بر روی آیکون’-‘ کلیک می شود، اتفاق می افتد.

rm_options ها با استفاده از تابع Toggle لغزاننده، بالا یا پایین می روند (که به وسیله ی حالت CSS تعیین می شود) – ساده به نظر می رسد، نه؟ برای اضافه کردن این اسکریپت، همان تابع mytheme_add_init() استفاده شده است. آن را به این تغییر دهید:

PHP

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

css

 

مرحله ی 12

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

PHP

موارد استفاده های متنوع، تنها توسط تصورات شما محدود شده اند.

PHP

نتیجه گیری
من امیدوارم که شما از این مقاله ی آموزشی استفاده برده باشید. این پنل گزینه های استاندارد برای شما نیست. این یکی از table استفاده نمی کند، jQuery آن افزایش پیدا می کند، از CSS عالی استفاده می کند، برای استفاده بسیار جذاب و بسیار آسان است. هدف از این آموزش یادگیری است – به عنوان مثال، شما همیشه می توانید پنل های پیش ساخته را با زبانه ها جایگزین کنید و یا حتی کارهای پیشرفته تر انجام دهید. از خلاقیت خود استفاده کنید! شما میتوانید پرسش ها ی خود را به راحتی در بخش نظرات مطرح کنید.
WooThemes نسخه ی دو فریم ورک خود را منتشر کرده است. شما می توانید جزئیات آن را در اینجا ببنید.

خوشحال و همچنان همیار وردپرسی بمانید …

 

آیا این مقاله برای شما مفید بود؟
تقریبا
خیر

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

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

دیدگاه‌های این نوشته جدید ترین ها شاخص

  1. سلام و عرض ادب
    من از یه شهرستان تماس میگیرم و نیاز ضروری به چندین جلسه اموزش خصوصی و بصورت انلاین در طراحی قالب وردپرس یا تبدیل قالب های html , css به قالب وردپرس دارم
    ممنون میشم در این راستا اساتید گرامی اگر استادی که به این رشته واقف باشه و بتونه قبول زحمت کنه را معرفی کنند
    برای معرفی از طریق ایمیل لطفا باهام تماس بگیرید یا در جواب همین کامنت معرفی کنید
    تیک هشدار ایمیل فعال کردم و بعد از جواب و راهنمایی پر مهر شما مطلع خواهم شد
    فقط ضروریه ولطفا خواهش میکنم هر چه زودتر باشه خیلی بهتره
    با تشکر وارزوی توفیق روز افزون

  2. سلام
    همین دو روز پیش بود دنبال آموزش ساخت پنل می گشتم که یهو رفتم تو NET.TUTSPLUS.NET دقیقا همین آموزشو دیدم
    دمتون گرم که فارسیش کردین
    عالی
    مــــــــــــــــــــــــــــاچـــــــــــــــــــــــــــ :d

  3. WOW!!
    it’s cooool !

  4. سلام
    ممنون از شما بابت آموزش های بروز و حرفه ای که میگذارید.
    در مورد افزونه theme option که بیشتر در قالب های fabtheme استفاده می شود اطلاعاتی دارید؟
    ضمنا من از اسکریپتی که شما برای فروش گذاشته اید استفاده کردم و خیلی راحت تر و آسون تر بود.
    همچنین برای تغییر فایل های css باید یک فایل به نام css.php ایجاد کنیم و متغیرها رو در اون استفاده کنیم ، این رو گفتم چون خودم چند وقت پیگیر این بودم که چطور به صورت موردی فایل css رو تغییر بدم.

    • 15 سال عضو همیار وردپرس

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

  5. اقا ببخشید من همین قالبی رو که شما سورسش رو قرار دادید رو نصب کردم ولی هر چی تنظیم میکنم توی قالبم تغییراتی اعمال نمیشه .

  6. واقعا ممنونم خیلی عالیه 🙂 خیلی خوشحال شدم که شما این آموزش رو قرار دادید .

  7. خیلی عالی و به موقع بود

  8. سلام علی جان …
    مثل همیشه عالی بود .
    فقط دو تا پیشنهاد:
    – ترجمه ات خوبه اما سعی کن یکمی ساده تر و واضح تر توضیح بدی . خیلی جاها بهتر بود که یه چیزایی خودت به ترجمه اضافه می کردی.
    – پیشنهاد می کنم اینطور آموزش هایی که تخصصی و فوق العاده بدرد بخورند رو بصورت یک فیلم آموزشی روی سایت قرار بدی. مثلا متن مقاله باشه + دانلود فیلم

    منتظر خبر کارگاه هستیم!

  9. سلام
    آموزش ها همه حرفه ای
    مرســــــــــــــــــــــــــــــــــی

  10. علی جان واقعاً بهم حس خیانت دست داد اگر برا این مطلب نظر نذارم 😛
    واقعاً خسته نباشی! خیلی عالی بود!