آموزش ساخت پنل تنظیمات وردپرس بدون افزونه ( بخش دوم – اجرا )
سلام مجدد خدمت کاربران عزیز سیترال وب
در آموزش قبلی یاد گرفتیم که چگونه فایل های مربوط رو نصب کنیم و درقالب وردپرسیمون راه اندازیش کنیم .
اما در این آموزش میخایم نحوه ساخت انواع فیلد هارو به شما یاد بدیم .
در ابتدا میخام چند فیلد از جمله آپلود تصویر ، فیلد متنی کوتاه ، فیلد متنی پاراگرافی ، فیلد انتخاب رنگ ، فیلد انتخاب دسته بندی ، فیلد انتخاب برگه رو به شما یاد بدیم .
وارد پوشه پوسته خودتون بشید . بعدش وارد پوشه admin بشید . ( بعد خارج کردن فایل فشرده شده این پوشه ایجاد میشه )
در اونجا فایل theme-settings.php رو برای ویرایش باز کنید .
برای مثال میخاهید ۳ تا تب داشته باشین . تب تنظیمات هیدر – تب تنظیمات فوتر – تب تظیمات صفحه اصلی
برای اضافه کردن تب ها بصورت زیر عمل میکنیم .
'sections' => array( array( 'id' => 'general', 'title' => 'همگانی' ), array( 'id' => 'header', 'title' => 'ناحیه بالای سایت' ), array( 'id' => 'footer', 'title' => 'ناحیه پایین سایت' ), array( 'id' => 'social', 'title' => 'شبکه های اجتماعی' ), ),
تا اینجا ما ۴ تا تب با عنوان های “همگانی” ، “ناحیه بالای سایت” ، ” ناحیه پایین سایت” و ” شبکه های اجتماعی” ایجاد کردیم .
برای دسترسی به صفحه تنظیمات از بخش مدیریت وردپرس نمایش > تنظیمات سایت میتوانید به تنظیمات دسترسی داشته باشید .
حالا میریم تازه سر اصل مطلب .
فرضا میخام در تب Header چند تا فیلد اضافه کنیم . فیلد آپلود لوگو ، فیلد شماره تماس
array( 'id' => 'logo', 'label' => 'لوگو', 'desc' => 'پیشنهاد میشود اندازهی لوگو ۲۹۰px × ۹۰px باشد.', 'std' => '', 'type' => 'upload', 'section' => 'header' ), array( 'id' => 'mobile', 'label' => 'موبایل', 'desc' => 'تلفن همراه برای پشتیبانی محصول را وارد نمایید.', 'std' => '', 'type' => 'text', 'section' => 'general' ),
حالا دکمه save رو بزنید و به بخش تنظیمات برید .
سایر تنظیمات عبارت اند تغییر رنگ ، انتخاب صفحه ، چک باکس ، باکس انتخاب و …همگی بصورت نمونه در تم اپشن ایجاد کردیم .
نمونه بخش شبکه های اجتماعی رو میتونید در تصویر زیر ببینید .

حالا لوگو خود را آپلود نمایید و متن موبایل رو هم مانند نمونه وارد نمایید .
تا اینجا موفق به ساخت کامل پنل تنظیمات شدیم .
حال برای نمایش این فیلد ها از کد های زیر استفاده میکنیم .
برای مثال متن :
<?php echo ot_get_option('mobile'); ?>
برای مثال عکس :
<img alt="<?php bloginfo('name'); ?>" src="<?php echo ot_get_option('logo'); ?>" />
و به همین صورت و براحتی میتوانید برای خودتون پنل تنظیمات بسازید .
امیدواریم که لذت برده باشین از مطالب .
با سلام خدمت شما دوستان عزیز ضمن خسته نباشید خدمت شما دوستان خیلی ممونم از اینکه این فایل و آموزش اون رو در اختیار ما قرار دادید خوشحالم که با شما هموطن هستم و امید وارم بتونم مانند شما در این زمینه دیگران رو یاری کنم و همینطور خوشحال هستم که ایران عزیز انسان هایی مثل شما رو در خودش پرورانده است
با سپاس سید عباس حسینی
لطف دارید شما دوست عزیز
سلام.
ممنون بابت آموزش و فایلی که دادید بسیار کار راه انداز بود.
فقط چند تا نکته:
1- اگر بخواهیم یک سری اطلاعات هم قرار بدیم چه کار باید بکنیم؟ مثلا یک alert باشه که پیغام خاصی رو نشون بده و فقط خواندی باشه.
2- اگر بخواهیم dropdown هم داشته باشیم چه کار باید بکنیم؟
3- اگر بخواهیم اسلایدر داشته باشیم مجبوریم که چند تا تصویر (به دلخواه کاربر سایت) تعیین کنیم اما اون جور که من دیدم در این کدها فقط میشه یک تصویر یک تصویر تعریف کرد.
4- اگر بخواهیم فرم ها شرطی باشند چه کار کنیم. مثلاً اگر فلان فرم فلان تنظیم رو داشت فرم بعدی نشون داده بشه.
و …
عرض ادب
1 . بفرمایید alert رو برای همون بخش تم اپشن میخاید یا در صفحه نوشته نمایش بشه ؟
2 . برای dropdown باید type رو select بزارید بعد گزینه هاشو بصورت زیر تعریف کنید :
‘type’ => ‘select’,
‘choices’ => array(
array(
‘value’ => ”,
‘label’ => __( ‘– Choose One –‘, ‘theme-text-domain’ ),
‘src’ => ”
),
array(
‘value’ => ‘yes’,
‘label’ => __( ‘Yes’, ‘theme-text-domain’ ),
‘src’ => ”
),
array(
‘value’ => ‘no’,
‘label’ => __( ‘No’, ‘theme-text-domain’ ),
‘src’ => ”
),
array(
‘value’ => ‘maybe’,
‘label’ => __( ‘Maybe’, ‘theme-text-domain’ ),
‘src’ => ”
)
)
3 برای این بخش هم میتونید از زمینه تکرار شونده استفاده کنید .
برای این کار type رو روی list-item بزارید و برای مثال از کد زیر استفاده کنید :
array(
‘id’ => ‘links_index’,
‘label’ => ‘slider’,
‘desc’ => ”,
‘std’ => ”,
‘type’ => ‘list-item’,
‘section’ => ‘home’,
‘settings’ => array(
array(
‘id’ => ‘description’,
‘label’ => ‘توضیحات کوتاه’,
‘type’ => ‘text’,
),
array(
‘id’ => ‘link’,
‘label’ => ‘تصویر این آیتم’,
‘type’ => ‘upload’,
),
),
),
4 . برای ایجاد توابع شرطی کمی محدودیت وجود دارد . اگر بفرمایید دقیقا چجور شرطی میخیاد بهتون میگم شدنی هست یا خیر .
بهتر از این نمیشد.
تشکر فراوان
اقا دستتون درد نکنه خسته نباشید
عالیییی بود
خوشحالیم که تونستیم کمکتون کنیم .