گسترش قالب Boilerplate Customizer Theme WordPress

  1. 1. آشنایی با سازنده تم وردپرس
  2. 2. تعامل با Customizer Theme WordPress
  3. 3. Boilerplate Customizer Theme WordPress
  4. 4. در حال خواندن: گسترش قالب Boilerplate Customizer Theme WordPress
  5. 5. قالب سفارشی سازنده قالب – گزینه های شرطی ، مضامین کودک و افزونه ها

قسمت 3 از سری Theme Customizer شما را با Theme Boilerplate Customizer معرفی کرده است که به شما امکان می دهد کدی را که گزینه های موضوع شما را کنترل می کند ، ساده کنید. تنها کاری که باید انجام دهید عبور از مجموعه ای از قسمت های گزینه است و صفحه boiler برای ثبت قسمت های تنظیم کننده Customizer ، تنظیمات و کنترل ها برای شما در پشت صحنه مراقبت خواهد کرد..


تاکنون ، boilerplate به شما امکان می دهد از فیلدهای متنی ، کادرهای انتخاب ، دکمه های رادیویی استفاده کنید و زمینه هایی را در Theme Customizer انتخاب کنید ، این مقاله ها به شما نشان می دهد که چگونه می توانید آن را گسترش دهید.

توجه: قبل از ادامه ، لطفا آخرین نسخه WordPress Theme Customizer Boilerplate را از مخزن Github خود بارگیری کنید. من از آخرین آموزش تاکنون پیشرفت هایی در آن انجام داده ام و مهم است که کد شما به روز باشد. برای یادداشت های بیشتر در مورد تغییرات ، به نوشته های قبلی نگاهی بیندازید ، اما به طور خلاصه ، به محض کپی کردن دیگ بخار در پوشه موضوع خود ، به هیچ وجه نیازی به ویرایش پرونده های آن نخواهید داشت – تمام ویرایش ها با استفاده از فیلترها و قلاب های اکشن انجام می شود..

قلاب زدن به Boilerplate Theme Customizer

چندین قلاب اکشن و فیلتر در WordPress Theme Customizer Boilerplate وجود دارد. می توانید با استفاده از پرونده های function.php موضوع خود ، هرکدام از آنها را قلاب کنید add_action و add_filter کارکرد:

  • “thsp_cbp_directory_uri” – قلاب فیلتر تعریف شده در helpers.php ، به شما امکان می دهد مکان پوشه Customizer Boilerplate را در پوشه تم خود تغییر دهید. به طور پیش فرض ، مسیر boilerplate مانند این است – get_template_directory_uri (). “/ customizer-boilerplate” – اما اگر ترجیح می دهید آن را به یک مکان سفارشی منتقل کنید ، این قلاب است که می تواند به شما کمک کند.
  • ‘thsp_cbp_menu_link_text” – قلاب فیلتر تعریف شده در helpers.php ، به شما امکان می دهد پیوند متن منو را تغییر دهید. Boilerplate پیوندی تحت ظاهر در داشبورد وردپرس را اضافه می کند ، و به کاربران امکان دسترسی آسان به Theme Customizer را می دهد. به طور پیش فرض ، آن پیوند “Customizer Theme” خواهد بود و می توانید متن را با استفاده از قلاب فیلتر sp thsp_cbp_menu_link_text “تغییر دهید.
  • “thsp_cbp_capability” – قلاب فیلتر تعریف شده در helpers.php. به شما امکان می دهد توانایی مورد نیاز پیش فرض مورد استفاده در روش wp_customize-> add_setting $ را تغییر دهید.
  • “thsp_cbp_option” – قلاب فیلتر تعریف شده در helpers.php. اگر از “گزینه” در آرگومان های تنظیمات خود استفاده می کنید ، از این قلاب برای تغییر نام ورودی استفاده کنید. مقادیر تنظیمات موضوع در جدول wp_options ذخیره می شود. مقدار پیش فرض “thsp_cbp_theme_options” است ، مطمئن شوید که به این یکی می چسبید و آن را به چیزی تغییر می دهید که نام موضوع شما را در آن دارد.
  • ‘thsp_cbp_options_array ‘ – قلاب فیلتر شده در options.php را فیلتر کنید ، شما باید آن را قلاب کنید و آرایه گزینه های پیش فرض (شامل گزینه های نمونه) را با گزینه هایی که در موضوع شما استفاده می شود جایگزین کنید. من این کار را تکرار می کنم ، آن را جسورانه و تأکید می کنم: Yباید آنرا قلاب کنید و آرایه گزینه های پیش فرض را با گزینه هایی که در موضوع شما استفاده می شود جایگزین کنید.
  • ‘thsp_cbp_custom_controls ‘ – قلاب اکشن تعریف شده در custom-controls.php ، با اتصال به آن می توانید کنترل های سفارشی خود را ایجاد کنید ، خواندن را ادامه دهید تا نمونه ای از نحوه انجام آن را ببینید.
  • “tshp_cbp_remove_sections”“tshp_cbp_remove_controls” و “tshp_cbp_remove_settings” – قلاب های فیلتر تعریف شده در customizer.php. می توانید برای حذف برخی از بخش های داخلی ، کنترل ها یا تنظیمات ، آنها را به آرایه های شناسه داخلی (یا شناسه های کنترل ، یا شناسه تنظیمات) منتقل کنید..

توجه: در حالی که ما در توسعه پذیری هستیم و قلاب های خود را ایجاد می کنیم تا سایر توسعه دهندگان بتوانند از آنها برای گسترش کد شما استفاده کنند ، نمی توان بیش از اندازه چقدر اهمیت این امر را غیرممکن کرد. پس از همه ، این نحوه عملکرد وردپرس (هسته) است. و نمی توانم تشکر کنم پیپین و خود مقالات به اندازه کافی برای دریافت این ایده به ذهنم.

کنترل های سفارشی

نسخه به روز شده Theme Customizer (که شما به تازگی بررسی کرده اید ، درست است؟) دارای چندین کنترل دیگر است که می توانید از آنها استفاده کنید – زمینه textarea ، فیلد شماره HTML5 و زمینه تصاویر ، که در اصل نسخه فانتزی از دکمه های رادیویی است..

این کنترل های سفارشی در کنترل های سفارشی تعریف شده اند. من ، همه آنها را در اینجا نمی بینم ، اما اجازه می دهیم به یک (فیلد شماره HTML5) نگاهی بیندازیم تا ببینیم همه این موارد چگونه کار می کند:

/ **
* کنترل Customizer را برای قسمت ورودی [نوع = شماره] ایجاد می کند
*
*since Theme_Customizer_Boilerplate 1.0
* /
کلاس CBP_Customizer_Number_Control WP_Customize_Control را گسترش می دهد {

$ $ نوع = 'تعداد'؛

عملکرد عمومی render_content ()
پژواک'؛
}

}

همانطور که مشاهده می کنید ، تنها کاری که شما باید انجام دهید اینست که نوع جدید $ Control و عملکرد render_content آن را تعریف کنید که از کنترل در صفحه Theme Customizer خارج می شود..

با استفاده از کنترل های سفارشی داخلی Boilerplate

این همان زمینه های ساده ای است که در آموزش قبلی پوشانده شده است ، تنها چیزی که باید از آن آگاهی داشته باشید انواع “نوع” مورد استفاده برای هر یک است:

  • قسمت شماره – ‘عدد’
  • زمینه Textarea – “textarea”
  • تصاویری که به عنوان دکمه های رادیویی عمل می کنند – “images_radio”, در اینجا به عنوان نمونه ای از این کنترل به صورت رایگان ارائه می شود موضوع Cazuela:

قالب سفارشی سازی تم

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

/ *
* ============
* ============
* قسمت شماره
* ============
* ============
* /
'new_number_field' => آرایه (
'setting_args' => آرایه (
'پیش فرض' => '',
'type' => 'گزینه',
'قابلیت' => ​​$ thsp_cbp_capability,
'transport' => 'تازه کردن',
),
'control_args' => آرایه (
'label' => __ ("شماره" ، "my_theme_textdomain"),
'type' => 'number'، // Control Textarea
'اولویت' => ​​8
)
)

توجه: اگر مطمئن نیستید که در کجا می توانید این موارد را اضافه کنید ، بخش “استفاده از گزینه های Array برای افزودن بخش های تنظیم کننده ، تنظیمات و کنترل ها” قسمت 3 این مجموعه را بررسی کنید. همچنین ، یک نمونه برای هر یک از کنترل های سفارشی در پرونده options.php وجود دارد.

کنترل های سفارشی خود را اضافه کنید

بیایید به قلاب عملی ‘thsp_cbp_custom_controls برگردیم که قبلاً به آن اشاره کردم:

/ **
* قلاب اکشن که به شما امکان می دهد کنترل های خود را ایجاد کنید
* /
do_action ('thsp_cbp_custom_controls')؛

این یک قلاب عملی ساده وردپرس است که به شما امکان می دهد کنترل های سفارشی خود را بدون تغییر فایل های Boilerplate Theme Customizer اضافه کنید. چرا می خواهید از ویرایش آنها خودداری کنید؟ زیرا اگر به جای آن به دیگ بخار می چسبید ، هر زمان که کسی آن را به روز کند ، می توانید آخرین نسخه را بگیرید ، آن را به درون مضمون خود رها کنید و تغییراتی را که ایجاد کرده اید از دست ندهید. فکر کنید ویرایش فایل های اصلی وردپرس در مقابل نوشتن افزونه ، ویرایش یک موضوع در مقابل ایجاد یک موضوع کودک و غیره.

اگر همیشه نیاز به کنترل های شخصی خود دارید ، اینگونه می توانید انجام دهید:

عملکرد my_theme_add_customizer_boilerplate_control ()
/ **
* ایجاد کنترل سفارشی برای استفاده با Boilerplate Theme Customizer
* از پیشوند کلاس منحصر به فرد استفاده کنید!
*
*since Theme_Customizer_Boilerplate 1.0
* /
کلاس CBP_Customizer_My_Control WP_Customize_Control را گسترش می دهد {

$ $ نوع = 'my_type'؛ // این را تغییر دهید

عملکرد عمومی render_content ()
// خروجی کنترل به اینجا می رود
}

}
}
add_action ('thsp_cbp_custom_controls'، 'my_theme_add_customizer_boilerplate_control')؛

اطمینان حاصل کنید که کلاس کنترل سفارشی خود را با چیزی منحصر به فرد پیشوند می کنید ، بنابراین نام آن با کلاس دیگری برخورد نمی کند. من از “CBP_” (Customizer Boilerplate) استفاده کردم – از آنجا که شما از طرح بویلر در یک موضوع استفاده می کنید ، نام موضوع شما حس زیادی می کند و باید برای شما خوب باشد.

تنظیم کننده تم: بعد چیست?

اکنون که Boilerplate وردپرس Customizer Theme از طریق قلاب ها قابل گسترش است ، ما می خواهیم “گزینه های تم مشروط” را اضافه کنیم – مواردی که فقط در صورت فعال بودن یک افزونه خاص به شما کمک می کنند و صفحه اصلی Theme Customizer را به هم ریخته نمی کنند..

نظر شما در مورد Customizer Boilerplate چیست؟ آیا قصد دارید از آن در مضامین خود استفاده کنید؟ آیا ایده هایی در مورد چگونگی بهبود آن وجود دارد؟ نظرات شما همیشه خوش آمدید.

Jeffrey Wilson Administrator
Sorry! The Author has not filled his profile.
follow me
    Like this post? Please share to your friends:
    Adblock
    detector
    map