ურთიერთობა WordPress Theme Customizer- თან

  1. 1. შესავალი WordPress Theme Customizer
  2. 2. ამჟამად კითხულობს: ურთიერთობა WordPress Theme Customizer- თან
  3. 3. WordPress Theme Customizer Boilerplate
  4. 4. WordPress Theme Customizer Boilerplate– ის გახანგრძლივება
  5. 5. Theme Customizer Boilerplate – პირობითი პარამეტრები, ბავშვის თემები და მოდულები

WordPress Theme Customizer სერიის პირველ ნაწილში მე აღვნიშნე, რომ Theme Customizer– ზე ურთიერთობისთვის საჭიროა დატვირთვა $ wp_ დაკომპლექტებული ობიექტი, რომელიც მაგალითია WP_Customize_Manager კლასი. ამისათვის თქვენ უნდა გამოიყენოთ Customize_register სამოქმედო Hook:


add_action ('personalize_register', 'my_theme_customize_register');
ფუნქცია my_theme_customize_register ($ wp_customize) {

// ურთიერთობა $ wp_customize ობიექტთან

}

თქვენ შეგიძლიათ განათავსოთ ეს კოდი თქვენს თემის ფუნქციებში.php ან ფაილში, რომელიც შედის მისგან.

Theme Customizer ელემენტების დამატება (განყოფილებები, პარამეტრები და კონტროლი)

ერთხელ რომ დატვირთეთ $ wp_ დაკომპლექტებული ობიექტი შეგიძლიათ გამოიყენოთ მისი ნებისმიერი მეთოდი, მასში არსებული პარამეტრების, კონტროლისა და სექციების დასამატებლად, მისაღებად ან მოსაშორებლად (add_setting, get_setting, remove_setting, add_control… თქვენ მიიღებთ წერტილს).

თუ გინდა მიიღე ან ამოიღე განყოფილება, კონტროლი ან პარამეტრი, რაც გჭირდებათ, არის მისი პირადობის მოწმობა. ეს სტრიქონი ამოიღებს Colors სექციას (მოათავსეთ იგი შიგნით my_theme_customize_register ფუნქციის პირველი კოდის ამონაწერიდან):

$ wp_customize-> remove_section ('ფერები');

სექციის, კონტროლის ან პარამეტრის დამატება ოდნავ განსხვავებულია, რადგან ეს მოითხოვს კიდევ რამდენიმე პარამეტრს. აქ ყველა მათგანს ვერ გავივლი ორი მიზეზის გამო:

  1. ეს არ არის ნამდვილად რა არის ამ სერიის მიზანი, ჩვენ შევქმნით Theme Customizer boilerplate- ს, რომლის მაგივრად შეგიძლიათ უბრალოდ ჩასვათ თქვენი თემა
  2. ალექს მანსფილდმა იგი უკვე გააშუქა თავის 6000 სიტყვაში თემა Customizer სამეურვეო რომ WordPress თემის ყველა დეველოპერმა უნდა წაიკითხოს და შემდეგ გააკეთოს ტვიტი (სერიოზულად, თუ უკვე არ გაქვთ, წაიკითხეთ ახლა).

და მაინც, გადავხედოთ, თუ როგორ შეგიძლიათ დაამატოთ თქვენი საკუთარი პარამეტრი კონტროლით ახალი თემების შემქმნელის განყოფილებაში, ასევე რამდენიმე არგუმენტი. ვინაიდან რეალური მაგალითებით მუშაობა ბევრად უფრო ადვილია, შემდეგ რას ვაპირებთ:

  • ახალი განყოფილება, სახელწოდებით “განლაგება”
  • ახალი პარამეტრი, რომელიც ინახავს თქვენი თემის განლაგებას
  • ახალი რადიო კონტროლი ორი ვარიანტით – მარცხენა მხარეს და მარცხენა მხარეს, მარჯვენა მხრიდან

პირველი, რაც დამატების თემას უნდა დაამატოთ არის „განლაგება“ განყოფილებაში:

$ wp_customize-> add_section (
// პირადობის მოწმობა
'layout_section',
// არგუმენტების მასივი
მასივი (
'title' => __ ('განლაგება', 'my_theme'),
'capability' => 'edit_theme_options',
'description' => __ ('საშუალებას გაძლევთ შეცვალოთ თქვენი თემის ფორმა.', 'my_theme')
)
);

ჯერ არ შეეცადოთ მას მოაწყოთ პერსონალიზატორში, განყოფილება არ იქნება ნაჩვენები, თუ მასში არ არის მითითებული პარამეტრი და კონტროლი. მოდით დავამატოთ ორივე:

$ wp_customize-> add_setting (
// პირადობის მოწმობა
'my_theme_settings [layout_setting]',
// არგუმენტების მასივი
მასივი (
'ნაგულისხმევი' => 'მარჯვენა მხარეს ",
'type' => 'ვარიანტი'
)
);
$ wp_customize-> add_control (
// პირადობის მოწმობა
'layout_control',
// არგუმენტების მასივი
მასივი (
'ტიპი' => 'რადიო',
'label' => __ ('თემის განლაგება', 'my_theme'),
'სექცია' => 'layout_section',
'არჩევანი' => მასივი (
'მარცხენა მხარეს "=> __ (" მარცხენა მხარეს "," my_theme "),
'Right-sidebar' => __ ('მარჯვენა მხარეს "," my_theme ")
),
// ეს ბოლო უნდა შეესაბამებოდეს პირადობის მოწმობას ზემოდან
'პარამეტრები' => 'my_theme_settings [layout_setting]'
)
);

იმის გათვალისწინებით, რომ წაიკითხავთ ალექს სამეცნიერო და / ან კოდექსის გვერდებს, მხოლოდ ერთი პარამეტრია მხოლოდ add_setting არგუმენტების მასივში – “ტიპი”, რომელზეც მსურს ფოკუსირება. აქ ორი შესაძლებლობა გაქვთ, “ვარიანტი” და “theme_mod” და მათი დაბრუნება შეგიძლიათ გამოიყენოთ get_option და get_theme_mod, შესაბამისად. მე ყოველთვის ვიყენებ “ვარიანტს”, მხოლოდ იმის გამო, რომ ეს საშუალებას გაძლევთ სერიულად მოაწყოთ თქვენი თემის პარამეტრების მნიშვნელობები, მათ პირადობის მოწმობის მინიჭებისას my_theme_settings [პარამეტრი_1], my_theme_settings [პარამეტრი_2] ა.შ. ამ გზით ყველა მნიშვნელობა ინახება როგორც მონაცემთა ბაზის ერთი ჩანაწერი თქვენს wp_options ცხრილში.

დაბოლოს, მას შემდეგ, რაც დაამატეთ ეს ორი კოდი ნაშთები, რომ ფუნქციონირებდეთ Customize_register სამოქმედო Hook (ამ კოდის პირველი კოდი), Theme Customizer- ის პერსონალურად მორგებულია:

ახალი განყოფილება დაემატა Theme Customizer- ს

ახალი განყოფილება დაემატა Theme Customizer

თემის Customizer პარამეტრების მნიშვნელობების გამოყენება თქვენს თემაში

მას შემდეგ რაც მომხმარებლებს მიეცით ამ პარამეტრის შესანახად, შეგიძლიათ აითვისოთ მისი მნიშვნელობა, შეხვიდეთ body_class ფილტრის კაკალი და დაამატეთ იგი არსებული სხეულის კლასების მასივში:

add_filter ('body_class', 'my_theme_body_classes');
ფუნქციონირებს my_theme_body_classes ($ კლასები) {

/ *
* რადგან ჩვენ გამოვიყენეთ "ვარიანტი" add_setting არგუმენტების მასივში
* ჩვენ ვიღებთ მნიშვნელობას get_option ფუნქციის გამოყენებით
* /
$ my_theme_settings = get_option ('my_theme_settings');

$ კლასები [] = $ my_theme_settings ['layout_setting'];

დააბრუნე $ კლასები;

}

ამით დაამატებთ .left-sidebar ან .right-sidebar თქვენს სხეულში სხეულის კლასების მასივს. ამ ორი კლასის გამოყენებით თქვენი თემის სტილი.css ფაილში შეგიძლიათ შექმნათ ორი განსხვავებული ფორმატი. Მაგალითად:

/ * მარჯვენა მხარეს არის სტანდარტული განლაგება * /
# კონტენტი {
float: მარცხენა;
სიგანე: 60%;
}
#sidebar {
float: უფლება;
სიგანე: 30%;
}

/ * .Left-sidebar კლასის გამოყენებით გამოიყენეთ ნაგულისხმევი განლაგება * /
.მარცხენა მხარეს # კონტენტი
float: უფლება;
}
.მარცხენა მხარეს #sidebar {
float: მარცხენა;
}

საუკეთესო, WordPress Theme Customizer- ის წყალობით, მომხმარებლებს შეუძლიათ წინასწარ დაათვალიერონ ორივე ფორმატი, სანამ რამეს დაზოგავთ. მიიღეთ ეს, თემების პარამეტრების გვერდები!

რეზიუმე და შემდგომი კითხვა

TL; ამ პოსტის DR ვერსია ასე გამოიყურება: შეგიძლიათ მიიღოთ $ wp_customize ობიექტი და შემდეგ დაამატოთ რამე (სექცია, პარამეტრი ან კონტროლი) ან ამოიღოთ იგი. ყველაფერი დანარჩენი პარამეტრების პარამეტრებში დგას.

მესამე ნაწილი არის ის, სადაც ეს სერია საინტერესო ხდება, რადგან ჩვენ დავიწყებთ მთელი პროცესის ავტომატიზაციას და ვიმუშავებთ Theme 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