PHP програмын залгаасуудыг зөвшөөрөх хамгийн сайн арга. PHP кодыг виджетээр WordPress-д оруулах Retreat plugin php

2015 онд PHP-ийн 7 дахь хувилбар гарсан. Энэхүү програмчлалын хэлийг хөгжүүлэх шинэ үе шат нь PHP ашигладаг бүх хүмүүст олон боломжийг авчирсан. Шинэ хувилбарын давуу талуудын дунд хурдыг онцлон тэмдэглэх нь зүйтэй. Тиймээс хөгжүүлэгчдийн үзэж байгаагаар PHP 7 дээрх скриптүүдийн хурд өмнөх хувилбаруудтай харьцуулахад бараг хоёр дахин нэмэгдсэн байна. Үүнтэй холбогдуулан PHP-ийн хуучин хувилбаруудыг суулгасан олон вэбсайт эзэмшигчид шинэ хувилбар руу шилжихийг хүсч байна.

Яагаад нийцтэй байдлыг шалгах вэ?

Хостингийнхээ хяналтын самбар дээрх PHP хувилбарыг илүү шинэ, хурдан хувилбар болгон өөрчлөхийн өмнө WordPress сайтын загвар болон залгаасуудтай нийцэж байгаа эсэхийг шалгах хэрэгтэй гэдгийг тэмдэглэх нь зүйтэй. Энэ хэрэгцээ нь ихэвчлэн програм хангамжийн шинэ хувилбаруудад зарим функцууд нэмэгдэж, зарим нь бүрмөсөн зогсдог тул үүсдэг. Хэрэв залгаас эсвэл сэдэв нь шинэ хувилбарт байхгүй функц эсвэл аргуудыг ашигладаг бол энэ нь сайтын үйл ажиллагааг бүхэлд нь тасалдуулж болзошгүй алдааны шинж тэмдэг юм.

PHP 7.0-тэй нийцэж байгаа эсэхийг хэрхэн шалгах вэ? PHP нийцтэй байдлыг шалгах залгаас

PHP Compatibility Checker залгаас нь сайтыг бүхэлд нь сканнердаж, түүний бүрэлдэхүүн хэсгүүдийн аль нь (сэдэв, залгаасууд) PHP-ийн сонгосон хувилбарт тохирохгүй байгааг зааж өгөх боломжийг олгодог. Эхлээд та үүнийг суулгаж идэвхжүүлэх хэрэгтэй, дараа нь админ самбар Tools -> PHP Compatibility руу очно уу.

Таны харж байгаагаар залгаас нь маш тодорхой тохиргоог санал болгодог. Шалгаж эхлэхийн тулд та сайтын нийцтэй байдлыг шалгахыг хүсч буй PHP хувилбарыг сонгох хэрэгтэй (PHP хувилбарын блок). Plugin-ийн тохиромжтой функц бол шалгаж буй бүрэлдэхүүн хэсгүүдийн статусыг сонгох явдал юм. Сонгох хоёр сонголт байна: идэвхтэй сэдэв болон залгаасуудын аль нэгийг нь шалгана уу, эсвэл идэвхгүй байгаа (Plugin / Theme Status талбар). Скан хийж эхлэхийн тулд сайтыг дахин хайх товчийг дарна уу.

Туршилтын үр дүнг "Татаж авах тайлан" товчийг дарж текст файл хэлбэрээр татаж авах боломжтой.

WordPress-ийг мэддэг хүн бүр theme (загвар) functions.php файлын талаар сонссон. Гэсэн хэдий ч хүн бүр түүний зорилгыг сайн ойлгодоггүй бөгөөд үүнийг зөвхөн PHP-ийн янз бүрийн функцуудыг хадгалдаг файл гэж үздэг. Интернет дээр, миний сайтын нэгэн адил энэ файлд PHP код нэмэхийг санал болгодог. Гэхдээ энэ файлд код болгон ажиллахгүй. Энэ нь ажиллахгүй учраас биш, харин ашиглах логиктой нийцэхгүй байгаа учраас.

Мөн functions.php-г засварлахдаа анхлан суралцагчид алдаа гаргадаг тул сайт ажиллахаа больдог.

Энэ нийтлэлд би эдгээр бүх зүйлийг анхаарч үзэхийг хичээх болно: functions.php-г хэзээ ашиглах, хэзээ үүнийг хийхгүй байх нь дээр, functions.php-г засварлахад ямар алдаа гарч болзошгүй.

функцууд.php

functions.php нь сэдвийн хавтсанд байрладаг бөгөөд сайтын гаднах хэсгийг үзэх, админ самбар болон AJAX хүсэлтийн үед хүртэл ачаалагддаг. functions.php-г оруулахгүй байх тохиолдол байхгүй бөгөөд энэ нь хөгжүүлэгчдэд өргөн боломжийг нээж өгдөг.

Жишээлбэл, тухайн сэдвийн functions.php файлд оруулсан дараах код нь нийтлэлийн өнгөц зургийг дэмжих замаар сэдвийн чадавхийг өргөжүүлнэ.

Нэмэх_үйлдэл("тохируулгын_сэдэв", "wp_kama_theme_setup"); функц wp_kama_theme_setup())( // Өнгөц зургийн дэмжлэг add_theme_support("post-thumbnails"); )

Өөр нэг жишээ бол, код нь WordPress админ самбарын доод хэсэгт байгаа текстийг мэдээллийн сангийн хүсэлтийн тоо, хуудас үүсгэх хугацаа, санах ойн ашиглалтын талаархи мэдээллээр орлуулах болно.

## Админ самбар дахь өгөгдлийн сангийн хүсэлтийн тоон өгөгдөл add_filter("admin_footer_text", "wp_usage"); // админ самбар дээр add_filter("wp_footer", "wp_usage"); // вэб хуудасны функц дээр wp_usage())( echo sprintf(__("SQL: %d in %s sec. %s MB", "km"), get_num_queries(), timer_stop(0, 3), round(memory_get_peak_usage) () /1024/1024, 2)); )

functions.php болон залгаасууд

- "Plugins нь functions.php файл дахь кодоос удаан ажилладаг" гэж мунхаг хүмүүс хэлдэг - тийм биш!

Онолын хувьд functions.php-д код оруулах нь залгаас суулгахтай адил боловч энэ нь ижил зүйл биш юм. Эцсийн эцэст бид сэдвээ солих үед бид огт өөр functions.php авах бөгөөд хийсэн бүх өөрчлөлтүүд алга болно, гэхдээ сэдэв нь хичнээн өөрчлөгдсөн ч залгаас хэвээр байх болно. Эдгээр шалтгааны улмаас бид functions.php файл руу хандах хэрэгтэй. Хэрэв нэмэлт функц нь зөвхөн сэдэвт төдийгүй сайтад бүхэлд нь хамаатай бол та үүнийг залгаас болгон холбох талаар бодох хэрэгтэй.

Дээрх хоёр дахь жишээ нь "Админ самбарын хөл хэсэгт байгаа мэдээллийн баазын асуулгын тооны өгөгдөл" юм. Логикийн хувьд functions.php файлд ашиглахад тохиромжгүй. Учир нь бид загвараа өөрчилбөл энэ функцийг алдах болно, гэхдээ энэ нь админ самбарт ашиглагддаг бөгөөд ямар ч сэдэв ашигласан байх шаардлагатай.

Тиймээс үүнийг functions.php-ээс устгаад залгаас болгоё - энэ нь амархан!

Залгаас үүсгэхийн тулд та доорх кодтой файл үүсгэх хэрэгтэй (файлын нэр нь юу ч байж болно), үүнийг wp-content/plugins/ залгаасын санд нэмж, админ самбараас залгаасыг идэвхжүүлнэ үү.

. Ер нь, хэрэв таны оруулж буй кодын эхэнд болон төгсгөлд эдгээр шошго байгаа бол тэдгээрийг арилгах хэрэгтэй. Мөн functions.php файл нь дэлгэцэн дээр ямар нэгэн текст (HTML код болон бусад контент) харуулах ёсгүй. Текстийн гаралтыг зөвхөн загварт ашиглах эсвэл дэгээнд хавсаргасан функцүүдийн дотор л зөвшөөрнө (дэлгэрэнгүй мэдээллийг доороос үзнэ үү).

Үзэгдэх тэмдэгтүүд (мөр таслах) гэх мэт -ээс өмнө ямар ч тэмдэгт оруулахыг зөвшөөрөх боломжгүй, учир нь functions.php нь http толгойг тохируулахаас өмнө холбогдсон байдаг (ийм гарчиг нь янз бүрийн өгөгдлийг дамжуулдаг, жишээлбэл, энэ нь html баримт бичиг юм; utf-8 кодчилол өөр байдаг. ). PHP дүрмийн дагуу толгойг илгээсний дараа контентыг дэлгэцэн дээр харуулах ёстой. Мөн гаднах бүх зүйл бол контент - дэлгэцэн дээр гарч буй текст, тэр ч байтугай үл үзэгдэх \n тэмдэгт юм. Тиймээс энэ текст нь алдаа үүсгэдэг.

Алдаа гаргахгүйн тулд 4 зүйлийг анхаарч үзээрэй: #1 Зөв үүрлэх

Жишээлбэл, бид ийм бүтэцтэй байсан:

....... энд код байна....... ?>

Энэ нь зөв:

#2 Өмнө нь мөр таслахгүй, хоосон зайгүй, текст бичнэ

Энэ код нь алдаа гаргах болно:

Гэхдээ энэ нь тийм биш:

Үүнийг ингэж бичих нь илүү логик юм.

Functions.php-ийн төгсгөлд мөр таслах тохиолдол гардаг бөгөөд дараа нь энэ нь жинхэнэ асуудал болж хувирдаг, учир нь бүх зүйл зөв юм шиг санагдаж байгаа ч сайт ажиллахгүй байна. Үнэндээ дараа?> эсвэл өмнө нь хоосон мөр байна

Ийм учраас олон хөгжүүлэгчид хаах ?> тагийг бүрмөсөн устгадаг бөгөөд энэ нь PHP дээр зөвшөөрөгддөг. Би үүнийг үргэлж хийхийг зөвлөж байна:

PHP функц дотор

Хэрэв functions.php-д функц байгаа бол жишээлбэл, функц доторх HTML кодыг нүдээр харуулахын тулд тагийг энэ функц дотор ашиглаж болно.

Энэ бол html код юм

Үнэн хэрэгтээ энэ тохиолдолд функц нь зөвхөн бүртгэгдсэн бөгөөд ямар ч үйлдэл хийдэггүй. Функц доторх бүх зүйл (( ) хооронд) энэ функцийг дуудах хүртэл ажиллахгүй бөгөөд HTTP толгойг илгээсний дараа ийм функцийг ихэвчлэн загвараас эсвэл шүүлтүүрээр дууддаг. Тиймээс энэ жишээн дээр бид мөр таслахыг үл тоомсорлож, ?> болон ашиглаж болно