Каталог артыкулаў
Нават самы прыгожы код можа пашкодзіць ваш сайт WordPress, калі вы абярэце няправільныя плагіны.
Гэта не перабольшанне. Я бачыў занадта шмат вэб-сайтаў, якія працавалі выдатна, але пасля дадання некалькіх фрагментаў кода хуткасць іх загрузкі падскочыла з 0.8 секунды да 3 секунд. Пасля доўгага расследавання высветлілася, што пэўны фрагмент кода выконваў кучу непатрэбных запытаў у базе дадзеных.
Такім чынам, сёння давайце пагаворым пра WPCode і Fluent Snippets, два плагіны для кіравання фрагментамі кода, якія часта параўноўваюць у супольнасці WordPress.
Шчыра кажучы, я актыўна карыстаўся абодвума і нават дапамагаў сябрам пазбегнуць некаторых памылак. Сёння я падзялюся ўсім сваім шчырым вопытам.
Дазвольце мне пачаць з некаторай перадумовы.
Існуе некалькі спосабаў дадання карыстальніцкага кода ў WordPress. Адзін з іх — непасрэдна змяніць файл functions.php тэмы, што проста і зразумела, але з кожным абнаўленнем усё губляецца; другі — выкарыстоўваць даччыную тэму, якая крыху лепшая, але ўсё роўна патрабуе больш высокіх выдаткаў на абслугоўванне; і яшчэ адзін — знайсці надзейны плагін для фрагментаў кода, якім бяспечней кіраваць і выконваць.
WPCode і Fluent Snippets з'яўляюцца канкурэнтамі ў гэтых двух трэках.
WPCode , ветэран супольнасці WordPress, з'яўляецца прадуктам каманды WPCode і заўсёды карыстаўся добрай рэпутацыяй. Ён мае рэйтынг 4.9 з 10; нягледзячы на тое, што на яго ёсць толькі 31 водгук, гэты бал гаворыць сам за сябе.
Fluent Snippets , яшчэ адзін прадукт ад каманды WPManageNinja — так, той самай каманды, якая стварыла FluentCRM. Ён мае больш за 40 000 установак і рэйтынг 4.6, крыху менш, чым у WPCode, але з у чатыры разы большай колькасцю установак.
Гэта цікава. Адваротная залежнасць паміж аб'ёмам усталёвак і рэйтынгамі павінна мець сваю прычыну.
Вопыт рэдактара
WPCode выкарыстоўвае рэдактар ACE, які, скажу вам, мае выразна традыцыйны стыль WordPress. У ім ёсць падсветка кода, але каляровая схема даволі кансерватыўная, і забудзьцеся пра аўтазапаўненне кода. Калі вы прызвычаіліся да VS Code, яго выкарыстанне тут выкліча ў вас дэзарыентацыю: «Ах, я вярнуўся на пяць гадоў таму».
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.
Калі ваш фрагмент кода мае тып «Змест (PHP+HTML)», напішыце ўнутры наступнае: [nihaoya]Ён не будзе яго аналізаваць; ён будзе толькі... [nihaoya] Гэтыя сімвалы выводзяцца дакладна так, як яны былі.
Гэта проста звычайны тэкст, а не скарочаны вывад.
Каб шорткод сапраўды выканаўся, яго трэба абгарнуць у функцыю PHP `do_shortcode()`. Сінтаксіс наступны:
<?php echo do_shortcode('[nihaoya]'); ?>
Такім чынам, WordPress прааналізуе шорткод і выведзе адпаведны кантэнт.
Мне спатрэбілася шмат часу, каб разабрацца ў гэтым; у дакументацыі гэта не было выразна пазначана.
Калі ваш фрагмент кода выкарыстоўвае тып PHP, усё яшчэ прасцей: проста напішыце ў функцыі аператар `return`, зарэгіструйце яго з дапамогай `add_shortcode`, і шорткод будзе працаваць правільна. Няма ніякай двухсэнсоўнасці; праблема заключаецца выключна ў тыпе Content.
Я падазраю, што чалавек, які пісаў гэтую функцыю, меркаваў, што тып Content прызначаны ў першую чаргу для HTML-кантэнту, і што скарочаныя апісанні павінны апрацоўвацца з дапамогай тыпаў PHP, таму ў інтэрфейсе няма выразнага ўказання на гэта. Аднак на практыцы многія людзі выкарыстоўваюць абодва тыпы ўзаемазаменна, што прыводзіць да праблем.
у заключэнне
Для каго падыходзіць WPCode ? Для невялікіх вэб-сайтаў з простымі патрэбамі і для тых, хто не хоча прыкладаць намаганняў. Ён гатовы да выкарыстання адразу пасля ўсталёўкі, не патрабуе асаблівага навучання і просты ў ліквідацыі непаладак.
Для каго падыходзяць Fluent Snippets ? Для сярэдніх і вялікіх вэб-сайтаў са складаным умоўным кіраваннем і акцэнтам на прадукцыйнасць. Захоўванне файлаў азначае больш высокую хуткасць выканання, умоўная загрузка — больш дакладны кантроль, а рэдактар Monaco — больш камфортны вопыт распрацоўкі.
Вядома, гэта пры ўмове, што вы гатовыя заплаціць за навучанне за гэтыя «большыя» веды.
Шчыра кажучы, калі вы проста дадаяце код Google Analytics або паведамленне аб аўтарскіх правах у канцы артыкула, WPCode цалкам падыдзе. Няма патрэбы клапаціцца пра наладу Fluent Snippets для «лепшага рэдактара».
Аднак, калі ваш сайт патрабуе A/B-тэставання і павінен загружаць розны код у залежнасці ад прылады, ролі карыстальніка або тыпу старонкі, умоўная загрузка Fluent Snippets можа зэканоміць вам шмат ручнога аналізу і жорсткага кадавання.
І апошняе.
Інструменты — гэта ўсяго толькі сродкі; іх сапраўдная каштоўнасць заключаецца ў тым, ці зможаце вы максімальна раскрыць іх патэнцыял.
WPCode — папулярны інструмент, які з'яўляецца стабільным, простым у выкарыстанні і падыходзіць для хуткага разгортвання. Fluent Snippets — прафесійны інструмент, які прапануе больш высокую прадукцыйнасць, больш гнуткі кантроль умоў і падыходзіць для распрацоўшчыкаў і складаных вэб-сайтаў.
Выбар плагінаў — гэта не прадэманстраваць свае навыкі, а зрабіць ваш сайт больш стабільным, хуткім і бяспечным.
Я цвёрда перакананы, што тое, што вам найбольш падыходзіць, — гэта лепш за ўсё, а не абавязкова тое, чым больш функцый ці чым яны мацнейшыя.
Кароткі змест аднаго сказа
- Невялікі сайт, простыя патрабаванні → WPCode
- Вялікі аб'ект, складаны кантроль стану → Fluent Snippets
Нарэшце, вось парада: самае каштоўнае даследаванне — гэта атрымаць практычны вопыт і запусціць код. Не дадавайце яго ў закладкі, не папрактыкаваўшыся!
Спадзяюся, артыкул «WPCode супраць Fluent Snippets: што лепш? Параўнанне плагінаў і практычны падручнік», апублікаваны ў блогу Чэня Вэйляна ( https://www.chenweiliang.com/ ), будзе вам карысным.
Не саромейцеся падзяліцца спасылкай на гэты артыкул: https://www.chenweiliang.com/cwl-34009.html
