სტატიების დირექტორია
თუ არასწორ დანამატებს აირჩევთ, ყველაზე ლამაზ კოდსაც კი შეუძლია თქვენი WordPress ვებსაიტის დაზიანება.
ეს გაზვიადება არ არის. ძალიან ბევრი ვებსაიტი მინახავს, რომლებიც იდეალურად მუშაობდა, მაგრამ რამდენიმე კოდის ფრაგმენტის დამატების შემდეგ მათი ჩატვირთვის სიჩქარე 0.8 წამიდან 3 წამამდე გაიზარდა. ხანგრძლივი გამოძიების შემდეგ აღმოჩნდა, რომ გარკვეული ფრაგმენტი მონაცემთა ბაზაში არასაჭირო მოთხოვნებს ასრულებდა.
ასე რომ, დღეს მოდით ვისაუბროთ WPCode-სა და Fluent Snippets-ზე, ორ კოდის სნიპეტების მართვის მოდულზე, რომლებსაც ხშირად ადარებენ WordPress-ის საზოგადოებას.
სიმართლე გითხრათ, ორივე ძალიან ხშირად გამოვიყენე და მეგობრებსაც კი დავეხმარე ზოგიერთი ხაფანგის თავიდან აცილებაში. დღეს ჩემს ყველა გულწრფელ გამოცდილებას გაგიზიარებთ.
დავიწყოთ გარკვეული ფონით.
WordPress-ში მორგებული კოდის დამატების რამდენიმე გზა არსებობს. ერთ-ერთია თემის functions.php ფაილის პირდაპირ შეცვლა, რაც მარტივი და გასაგებია, მაგრამ თითოეული განახლებისას ყველაფერი იკარგება; მეორეა შვილობილი თემის გამოყენება, რომელიც ოდნავ უკეთესია, მაგრამ მაინც უფრო მაღალი მოვლა-პატრონობის ხარჯები აქვს; და კიდევ ერთია საიმედო კოდის სნიპეტების დანამატის პოვნა, რომლის მართვა და შესრულება უფრო უსაფრთხოა.
WPCode და Fluent Snippets ამ ორ ტრეკში კონკურენტები არიან.
WPCode , WordPress-ის საზოგადოების ვეტერანი, WPCode-ის გუნდის პროდუქტია და ყოველთვის კარგი რეპუტაციით სარგებლობდა. მას 10-დან 4.9 ქულა აქვს; მიუხედავად იმისა, რომ მხოლოდ 31 მიმოხილვა აქვს, ეს ქულა თავისთავად მეტყველებს.
Fluent Snippets , WPManageNinja გუნდის კიდევ ერთი პროდუქტი — დიახ, იგივე გუნდი, რომელმაც შექმნა FluentCRM. მას 40 000-ზე მეტი ინსტალაცია აქვს და 4.6 რეიტინგი აქვს, რაც ოდნავ ნაკლებია WPCode-ზე, მაგრამ ინსტალაციების რაოდენობა ოთხჯერ მეტია.
ეს საინტერესოა. ინსტალაციის მოცულობასა და რეიტინგებს შორის უკუპროპორციულ დამოკიდებულებას, ალბათ, თავისი მიზეზი აქვს.
რედაქტორის გამოცდილება
WPCode იყენებს ACE რედაქტორს, რომელსაც, მინდა გითხრათ, გამორჩეული ტრადიციული WordPress სტილი აქვს. მას აქვს კოდის მონიშვნა, მაგრამ ფერთა სქემა საკმაოდ კონსერვატიულია და კოდის შევსებაზე აღარაფერს იტყვით. თუ VS კოდს მიჩვეული ხართ, მისი აქ გამოყენება დაგიტოვებთ დეზორიენტაციის შეგრძნებას, როგორიცაა „აჰ, ხუთი წლით უკან დავბრუნდი“.
Fluent Snippets განსხვავებულია; ის პირდაპირ ინტეგრირებულია Monaco Editor-ში.
დიახ, ეს იგივე რედაქტორია, რაც VS Code. კოდის მონიშვნა, ავტომატური შევსება, სინტაქსის მინიშნებები - მთელი გამოცდილება თითქმის იდენტურია კოდის ლოკალურად წერის. როდესაც პირველად გამოვიყენე, მაშინვე შემიყვარდა. ეს იყო ის შეგრძნება, რომ „ბოლოს და ბოლოს, დანამატი, რომელიც მზადაა კარგი რედაქტორისთვის!“
მაგრამ აი კითხვა: ნიშნავს თუ არა უკეთესი რედაქტორი აუცილებლად უკეთეს მომხმარებლის გამოცდილებას?
გაურკვეველი.
შენჟენში ვიცნობ მეგობარს, რომელიც კონტენტ ვებსაიტების ბიზნესს მართავს. ის მარტოხელა ვებსაიტის მფლობელია და ოცდაათზე მეტ ვებსაიტს მარტო ინახავს. მითხრა, რომ WPCode უყვარს. რატომ? იმიტომ, რომ ეს მარტივია. გახსენით ბექენდი, რამდენჯერმე დააწკაპუნეთ, კოდი გამოჩნდება და სულ ესაა. მას არ სჭირდება რაიმე დახვეწილი ფუნქცია; მას სჭირდება სტაბილურობა და შეცდომების გარეშე მუშაობა.
ამ სიტყვებმა იმ დროს ნამდვილად შემძრა.
დიახ, Monaco Editor შესანიშნავი და ძალიან ძლიერია. თუმცა, ადამიანისთვის, რომელიც ყოველდღიურად ოცდაათზე მეტ ვებსაიტს მართავს, სწავლის პროცესი თავისთავად ტვირთია.
შენახვის მეთოდი
რედაქტორის განხილვის შემდეგ, მოდით გადავიდეთ უფრო სერიოზულ საკითხზე.
WPCode ინახება მონაცემთა ბაზაში და ყველა სნიპეტი ინახება wp_options ცხრილში. თითოეული წაკითხვის ოპერაცია მოიცავს მონაცემთა ბაზის მოთხოვნას და მაღალი პარალელურობის სცენარებში, ამ მოთხოვნების რაოდენობა შეიძლება დაგროვდეს.
Fluent Snippets იყენებს ფაილების შენახვას. კოდის სნიპეტები ინახება PHP ფაილების სახით wp-content/fluent-snippets/ დირექტორიაში და WordPress მათ პირდაპირ ჩართავს შესრულების დროს, მონაცემთა ბაზის მოთხოვნების გვერდის ავლით.
თეორიულად, ფაილების შენახვა უფრო სწრაფი და უსაფრთხოა.
რატომ ითვლება ის უფრო უსაფრთხოდ? რადგან ფაილების შენახვა თავისთავად გამორიცხავს SQL ინექციის რისკს; მონაცემთა ბაზაში არ არსებობს კოდის ფრაგმენტები, რომელთა ინექციაც შესაძლებელია.
მაგრამ არსებობს ერთი „მაგრამ“.
ფაილების შენახვასაც აქვს თავისი პრობლემები. ფრაგმენტის ყოველი განახლებისას საჭიროა ფაილში ჩაწერის ნებართვები. თუ სერვერი არასწორად არის კონფიგურირებული ან გარკვეულ სპეციალურ ვირტუალურ ჰოსტინგის გარემოში, ფაილის ჩაწერას შეიძლება პრობლემები შეექმნას. ადრე, ჯგუფში ვიღაცამ უჩიოდა, რომ კოდი არ მუშაობდა ფრაგმენტის განახლების შემდეგ და გამოძიების შემდეგ აღმოჩნდა, რომ პრობლემა ფაილის ნებართვასთან იყო დაკავშირებული.
ამიტომ, გამოსავალი არ არსებობს; თითოეულ სცენარს თავისი დანიშნულება აქვს.
დატვირთვის პირობები
სწორედ აქ დევს ორ მოდულს შორის ყველაზე აშკარა განსხვავება.
WPCode-ის პირობითი ჩატვირთვა საკმაოდ მარტივია, ის მხარს უჭერს როგორც წინა პლანზე, ასევე ფონურ ჩატვირთვას. ასევე შეგიძლიათ აირჩიოთ მისი გლობალურად ჩართვა ან გამორთვა. ეს ასე მარტივია.
Fluent Snippets-ის პირობითი ჩატვირთვა წარმოუდგენელია; ის შეიძლება დაფუძნებული იყოს მომხმარებლის როლებზე, URL წესებზე, მოწყობილობის ტიპებზე და თუნდაც მორგებულ ველებზე. მისი პროფესიონალიზმი წარმოუდგენელია.
这意味着什么?
ეს ნიშნავს, რომ თქვენ შეგიძლიათ მიაღწიოთ ძალიან დეტალურ კონტროლს. მაგალითად, „ჩატვირთეთ ეს კოდი მხოლოდ იმ მობილურ მოწყობილობებზე, სადაც URL შეიცავს /product/-ს და მომხმარებელი არ არის შესული სისტემაში“. ამ ტიპის მოთხოვნის შესრულება ძირითადად შეუძლებელია WPCode-ში, მაგრამ ეს Fluent Snippets-ის სტანდარტული ფუნქციაა.
რა თქმა უნდა, ამას თან ახლავს ხარჯები. რაც უფრო რთულია კონფიგურაცია, მით უფრო მაღალია მოვლა-პატრონობის ხარჯები. ექვსი თვის შემდეგ, საეჭვოა, შეგიძლიათ თუ არა საერთოდ გაიგოთ თქვენს მიერ დაწერილი პირობები და წესები.
ჩემი გრძნობები
WPCode შვეიცარიული დანის მსგავსია: ის საკმარისი და სტაბილურია, მაგრამ მის ფუნქციონალურობას აქვს შეზღუდვები.
Fluent Snippets პროფესიონალური ხელსაწყოების ყუთს ჰგავს; შეგიძლიათ მეტი გააკეთოთ, მაგრამ უნდა იცოდეთ რას აკეთებთ.
სიმართლე გითხრათ, ეს ორი ერთსა და იმავე სფეროში კონკურენტებიც კი არ არიან.
თუ თქვენ მხოლოდ პირად ვებსაიტს ან მცირე მასშტაბის ოპერაციას მართავთ, WPCode საკმარისია. მისი უდიდესი ღირებულება კოდის კარგად მართვაში, შეცდომების თავიდან აცილებასა და სტაბილური მუშაობის უზრუნველყოფაშია.
თუ თქვენ ასრულებთ დახვეწილ ოპერაციებს ან თქვენს საიტს აქვს რთული ბიზნეს ლოგიკა, Fluent Snippets-ის პირობითი ჩატვირთვა შეიძლება თქვენი ხსნა იყოს.
პრაქტიკული გამოყენება: კონტენტის ტიპს არ შეუძლია პირდაპირ მოკლე კოდების გამოძახება
კარგი, ახლა, როდესაც ძირითადი შედარებები განვიხილეთ, მოდით გადავიდეთ რამდენიმე პრაქტიკულ მაგალითზე.
ბევრი ადამიანი ქმნის კონტენტის ტიპის სნიპეტს Fluent Snippets-ში და შემდეგ მასში წერს მოკლე კოდებს.
მაგალითად
[nihaoya]მართალია.
გეტყვით, რომ ამ ხაფანგში ადრეც გავება.
Fluent Snippets მხარს უჭერს სნიპეტების სამ ტიპს: PHP ტიპი, კონტენტის ტიპი და CSS/JS ტიპი.
თუ თქვენი სნიპეტის ტიპია Content (PHP+HTML), ჩაწერეთ შემდეგი: [nihaoya]ის არ გააანალიზებს მას; ის მხოლოდ... [nihaoya] ეს სიმბოლოები ზუსტად ისეა გამოტანილი, როგორც იყო.
ეს უბრალოდ უბრალო ტექსტია და არა შემოკლებული გამომავალი.
იმისათვის, რომ მოკლე კოდი რეალურად შესრულდეს, ის უნდა იყოს შეფუთული PHP ფუნქციაში `do_shortcode()`. სინტაქსი შემდეგია:
<?php echo do_shortcode('[nihaoya]'); ?>
ამ გზით, WordPress გააანალიზებს მოკლე კოდს და გამოაგზავნის შესაბამის შინაარსს.
ამის გარკვევას დიდი დრო დამჭირდა; დოკუმენტაციაში ეს ნათლად არ იყო ახსნილი.
თუ თქვენი სნიპეტი იყენებს PHP ტიპს, ეს კიდევ უფრო მარტივია: უბრალოდ ჩაწერეთ `return` ოპერატორი ფუნქციაში, დარეგისტრირდით ის `add_shortcode`-ით და მოკლე კოდი სწორად იმუშავებს. აქ არანაირი ორაზროვნება არ არის; პრობლემა მხოლოდ კონტენტის ტიპშია.
ვფიქრობ, ამ ფუნქციის ავტორი ვარაუდობდა, რომ კონტენტის ტიპი ძირითადად HTML კონტენტისთვისაა განკუთვნილი და რომ შემოკლებები PHP ტიპების გამოყენებით უნდა დამუშავდეს, შესაბამისად, ინტერფეისზე ამის მკაფიო მითითება არ არის. თუმცა, პრაქტიკაში, ბევრი ადამიანი ორივე ტიპს ურთიერთშენაცვლებით იყენებს, რაც პრობლემებს იწვევს.
საბოლოოდ
ვისთვის არის WPCode შესაფერისი? პატარა ვებსაიტებისთვის მარტივი საჭიროებებით და მათთვის, ვისაც არ სურს ძალისხმევის დახარჯვა. ის მზადაა გამოსაყენებლად ყუთიდან ამოღებისთანავე, სწავლის მცირე პროცესით და პრობლემების მოგვარება მარტივია.
ვისთვის არის შესაფერისი Fluent Snippets ? საშუალო და დიდი ზომის ვებსაიტებისთვის რთული პირობითი კონტროლით და შესრულებაზე ფოკუსირებით. ფაილების შენახვა ნიშნავს შესრულების უფრო სწრაფ სიჩქარეს, პირობითი ჩატვირთვა ნიშნავს უფრო დახვეწილ კონტროლს, ხოლო Monaco Editor ნიშნავს უფრო კომფორტულ შემუშავების გამოცდილებას.
რა თქმა უნდა, ეს იმ პირობითაა, რომ თქვენ მზად ხართ გადაიხადოთ სწავლის ღირებულება ამ „მეტისთვის“.
გულწრფელად რომ ვთქვათ, თუ სტატიის ბოლოს მხოლოდ Google Analytics კოდს ან საავტორო უფლებების შესახებ შეტყობინებას ამატებთ, WPCode სრულიად ნორმალურია. ნამდვილად არ არის საჭირო Fluent Snippets-ის „უკეთესი რედაქტორის“ მისაღებად რედაქტირების უსიამოვნების გავლა.
თუმცა, თუ თქვენს საიტს სჭირდება A/B ტესტირება და სხვადასხვა კოდის ჩატვირთვა მოწყობილობის, მომხმარებლის როლის ან გვერდის ტიპის მიხედვით, Fluent Snippets-ის პირობითი ჩატვირთვა დაგეხმარებათ ხელით გადაწყვეტილების მიღებასა და რთულ კოდირებაში.
კიდევ ერთი რამ.
ხელსაწყოები მხოლოდ საშუალებებია; მათი ნამდვილი ღირებულება იმაში მდგომარეობს, შეგიძლიათ თუ არა მათი პოტენციალის მაქსიმიზაცია.
WPCode პოპულარული ინსტრუმენტია, რომელიც სტაბილურია, მარტივი გამოსაყენებელი და სწრაფი განლაგებისთვის შესაფერისი. Fluent Snippets არის პროფესიონალური ინსტრუმენტი, რომელიც გთავაზობთ უფრო ძლიერ შესრულებას, უფრო მოქნილ მდგომარეობის კონტროლს და შესაფერისია დეველოპერებისა და რთული ვებსაიტებისთვის.
დანამატების არჩევა არ ნიშნავს თქვენი უნარების დემონსტრირებას, არამედ თქვენი ვებსაიტის უფრო სტაბილური, სწრაფი და უსაფრთხო გახდომას.
მე მტკიცედ მჯერა, რომ საუკეთესოა ის, რაც შენთვის ყველაზე შესაფერისია და არა აუცილებლად მეტი ფუნქცია ან უფრო ძლიერი.
ერთი წინადადების შეჯამება
- პატარა საიტი, მარტივი მოთხოვნები → WPCode
- დიდი უბანი, რთული მდგომარეობის კონტროლი → თავისუფლად შესრულებული ფრაგმენტები
და ბოლოს, რჩევა: ყველაზე ღირებული კვლევა პრაქტიკული გამოცდილების მიღება და კოდის გაშვებაა. ნუ შეინახავთ მას უბრალოდ სანიშნეებში ვარჯიშის გარეშე!
იმედია, ჩენ ვეილიანგის ბლოგზე ( https://www.chenweiliang.com/ ) გამოგადგებათ სტატია „WPCode vs Fluent Snippets: რომელია უკეთესი? პლაგინების შედარება და პრაქტიკული სახელმძღვანელო“.
თავისუფლად გაგვიზიარეთ ამ სტატიის ბმული: https://www.chenweiliang.com/cwl-34009.html
