WordPress uchun foydali kod qo'shimchalari (parchalar). WordPress-dagi PHP kodi - eng yaxshi amaliyotlar WordPress-da skriptlar va uslublarning ziddiyatsiz ulanishi

WordPress kodi hamma joyda bir xil uslubda ishlab chiqilganligi va asosiy, plaginlar va mavzularda o'qilishi oson bo'lishini ta'minlash uchun WordPress ishlab chiquvchilari tomonidan qabul qilingan kodlash standartlariga rioya qilish tavsiya etiladi. Ushbu standartlar PEAR standartiga juda o'xshash, ammo sezilarli farqlar mavjud. Men ular bilan tanishishingizni va iloji bo'lsa, plaginlar yoki mavzularni yaratishda ularga rioya qilishingizni tavsiya qilaman.

PHP kodining o'zini yozish standartlariga qo'shimcha ravishda, kodni hujjatlashtirish standartlari ham mavjud - bular funksiyalar va ilgaklar bo'yicha sharhlar: PHP Hujjat Standartlari (Ingliz tili)

Yagona va juft tirnoq

Agar satrda hech qanday o'zgaruvchi bo'lmasa, bitta tirnoq, aks holda qo'sh tirnoq foydalaning. Satrdagi tirnoqlardan qochishning hojati yo'q va agar ular mavjud bo'lsa, ularni almashtirish tavsiya etiladi:

Echo "Havola nomi"; echo "$linkname";

Ushbu misoldagi ikkinchi qator chiqish o'zgaruvchilarini tozalamaydi, bu xavfsizlik sababli bajarilishi kerak. Shuning uchun, bunday yozish uchun o'zgaruvchilarni oldindan tozalash kerak. Umuman olganda, bunday yozuvni nomaqbul deb hisoblash mumkin! Xavfsiz chiqish bo'yicha o'quv bo'limiga qarang.

Chiziqlar

Indentatsiya har doim kodning mantiqiy tuzilishini ko'rsatishi kerak. Bo'shliqlar o'rniga yorliqlardan (tab tugmasi) foydalaning - bu ko'proq moslashuvchanlikni beradi. Bo'shliqlar chiziq ichida biror narsani tekislash kerak bo'lganda ishlatilishi kerak.

Qoida: Chiziqlar uchun satr boshida yorliqlardan foydalanish kerak, bo'sh joy esa tekislash uchun chiziqning o'rtasida ishlatilishi mumkin.

Agar (shart) ( $foo = "ba'zi qiymat"; $foo2 = "ba'zi qiymat2"; $foo_bar = "ba'zi qiymat3"; $foo5 = "ba'zi qiymat4"; )

Va agar siz ko'rinmas yorliq va bo'sh joy belgilarini ko'rsatsangiz, kod shunday ko'rinadi:

Agar (shart) ( ---$foo.....= "ba'zi qiymat"; ---$foo2....= "ba'zi qiymat2"; ---$foo_bar.= "ba'zi qiymat3"; ---$foo5 ....= "ba'zi qiymat4"; )

Assotsiativ massivlar uchun qiymatlar yangi satrdan boshlanishi kerak. Massiv elementlarini ro'yxatga olishda "oxirgi" vergulni qo'yish tavsiya etiladi - bu yangi elementlarni qo'shishni qulayroq qiladi...

$my_massiv = massiv(---"foo"..=> "ba'zi qiymat", ---"foo2"..=> "somevalue2", ---"foo3"..=> "somevalue3", -- - "foo34".=> "somevalue3",);

Jingalak qavs uslubi

Quyida ko'rsatilganidek, uslubdagi barcha bloklar uchun jingalak qavslardan foydalanish kerak:

Agar (shart) (1-harakat(); action2(); ) elseif (2-shart va& shart3) (3-harakat(); action4(); ) else (standart harakat(); )

Agar uzun blok mavjud bo'lsa, iloji bo'lsa, uni ikki yoki undan ortiq qisqa bloklarga yoki funktsiyalarga bo'lish kerak. Agar shunday uzun blok zarur bo'lsa, jingalak qavs aynan nima yopilishini aniq qilish uchun oxirida qisqa izoh qo'shing. Ushbu yondashuv 35 yoki undan ortiq qatorli bloklar uchun mantiqan to'g'ri keladi.

Intuitiv bo'lmagan har qanday kod sharhlanishi kerak.

Har doim jingalak qavslardan foydalaning, hatto ular talab qilinmasa ham.

If (shart) ( action0(); ) if (shart) ( action1(); ) elseif (shart2) ( action2a(); action2b(); ) foreach ($items as $element) ( process_item($item); )

E'tibor bering, jingalak qavslardan foydalanish talabi har doim bitta chiziq uslubidagi konstruktsiyalar taqiqlanganligini anglatadi.

$var = "xavfli""; // saqlanishi mumkin bo'lgan yoki qochib qutulmasligi mumkin bo'lgan xom ma'lumotlar $id = some_foo_number(); // ma'lumotlar raqam sifatida kutilmoqda, lekin biz $wpdb->query($wpdb->) ekanligiga ishonchimiz komil emas. tayyorlash ("YANGILASH $wpdb->posts SET post_title = %s WHERE ID = %d", $var, $id));

Satrlar uchun %s va butun sonlar uchun %d ishlatiladi. E'tibor bering, ular "tirnoq ichida" emas! $wpdb->prepare() ning o'zi satrlardan qochadi va kerak bo'lsa tirnoq qo'shadi. Preparatning () afzalligi shundaki, siz esc_sql() dan qo'lda foydalanishni eslab qolishingiz shart emas, shuningdek, esc_sql() ga o'ralgan o'zgaruvchilardan foydalangandan ko'ra, to'ldiruvchilar bilan so'rovlar qatori ko'proq ingl.

Ma'lumotlar bazasi so'rovlari

Ma'lumotlar bazasiga to'g'ridan-to'g'ri so'rovlarni yozmaslikka harakat qiling. Agar mos funktsiya mavjud bo'lsa va ularning ko'plari WP da mavjud bo'lsa, kerakli ma'lumotlarni olish mumkin bo'lsa, undan foydalaning.

So'rovlar o'rniga funktsiyalardan foydalanish kelajakdagi kod mosligini saqlashga yordam beradi. Bundan tashqari, ko'plab funktsiyalar kesh bilan ishlaydi va bu kodni sezilarli darajada tezlashtirishi mumkin.

Sinflar, funksiyalar, fayllar, konstantalar, o'zgaruvchilar nomlari

Funksiyalar, o'zgaruvchilar, ilgaklar nomlari

Oʻzgaruvchilar, ilgaklar va funksiya nomlarida kichik a-z harflaridan foydalaning va hech qachon CamelCase dan foydalaning. Alohida so'zlarni pastki chiziq bilan ajrating _. Agar kerak bo'lmasa, o'zgaruvchilar nomlarini qisqartirmang; kodni aniq va o'z-o'zidan hujjatlashtiring.

Funktsiya some_name($some_variable) ( [...] )

Sinf nomlari

Pastki chiziq bilan ajratilgan Bosh_harflar bilan so'zlardan foydalanish kerak. Har qanday qisqartmalar (qisqartmalar, qisqartmalar) KAPITAL bo'lishi kerak.

Class Walker_Category Walker ( [...] ) WP_HTTP ( [...] ) sinfini kengaytiradi

Oʻzgarmaslar YUQORI soʻzlar boʻlishi va pastki chiziq bilan ajratilishi kerak:

Aniqlash("DOING_AJAX", rost);

Fayl nomlari

Aniq bo'lishi va faqat kichik harflardan iborat bo'lishi kerak va so'zlar defis bilan ajratilishi kerak - .

My-plugin-name.php

Sinf fayl nomlari

Class- prefiksi bo'lgan sinf nomiga asoslanishi kerak bo'lsa, sinf nomidagi pastki chiziqlar chiziqcha bilan almashtiriladi, masalan, WP_Error quyidagicha bo'ladi:

Class-wp-error.php

Ushbu fayl nomlash standarti barcha mavjud va yangi sinf fayllari uchun amal qiladi. Biroq, istisno fayllar mavjud: class.wp-dependencies.php, class.wp-scripts.php, class.wp-styles.php. Ushbu fayllar sinf bilan prefikslangan. , defis oʻrniga sinf soʻzidan keyin nuqta qoʻyiladi.

Funktsiya parametrlarida o'zgaruvchilar qiymatlarini aniqlang

Boolean qiymatlari satr qiymatlaridan afzalroqdir. Bular. Funksiyalarni chaqirishda rost/noto‘g‘ri o‘rniga parametr qiymatini tushuntiruvchi qandaydir qatordan foydalanish yaxshidir.

Yomon kod:

funktsiya eat($what, $sekin = rost) (... ) eat("qo'ziqorin"); ovqat ("qo'ziqorin", rost); // rost nimani anglatadi? yeyish("sinov", yolg'on); // noto'g'ri, rostning teskarisi nimani anglatadi?

PHP nomli argumentlarni qo'llab-quvvatlamaganligi sababli, bayroq qiymatlari ma'nosiz va har safar funktsiya chaqiruviga duch kelganimizda, yuqoridagi misollarda bo'lgani kabi, biz funktsiya hujjatlarini ko'rib chiqishimiz kerak. Boolean qiymatlari o'rniga tavsiflovchi satr qiymatlaridan foydalangan holda kodni yanada o'qilishi mumkin.

Yaxshi kod:

Function eat($what, $speed = "sekin") ( ... ) eat("qo'ziqorin"); ovqat ("qo'ziqorin", "sekin"); ovqat ("sinov", "tezkor");

Agar sizga ko'proq funktsiya parametrlari kerak bo'lsa, $args massividan foydalaning. U bundan ham yaxshiroq!

Juda yaxshi kod:

Funktsiya eat($what, $args) ( ... ) eat("noodles", array("speed" => "moderate"));

Dinamik ilgak nomlari uchun interpolatsiya

O'qish va aniqlash qulayligi uchun nomlaridagi o'zgaruvchilari bo'lgan ilgaklar interpolyatsiya qilinishi kerak (jingalak qavslar ( va ) ichiga olingan) va ularni birlashtirmaslik kerak:

Qavslar PHP interpolyatsiya qilingan qatordagi o'zgaruvchilarning ma'lumotlar turlarini to'g'ri tahlil qilishi uchun kerak.

// to'g'ri bajarilgan_harakat("($new_status)_($post->post_type)", $post->ID, $post); // noto'g'ri bajarilgan_harakat($new_status "_". $post->post_type, $post->ID, $post);

Iloji bo'lsa, teg nomlaridagi dinamik qiymatlar ham imkon qadar qisqa va aniq bo'lishi kerak. $user_id, aytaylik, $this->id ga qaraganda ancha aniq.

Uchlik operator

Uchlik operatorlar yaxshi, lekin ular har doim noto'g'ri bayonot emas, balki to'g'ri bayonotni sinab ko'rishingizni tavsiya qiladi. Aks holda, bu ikki tomonlama salbiy tufayli shunchaki chalg'itadi. Istisno - bu foydalanish! empty() chunki ba'zida uni boshqa yo'l bilan yozish qiyin.

Qanday tekshirish mumkin:

// (agar shart rost bo'lsa = rost) ? (keyin biz buni qilamiz) : (aks holda bu); $music_type = ("jazz" == $music) ? "cool" : "blah"; // (qiymat bo'sh bo'lmasa - ! bo'sh) ? (keyin biz buni qilamiz) : (aks holda bu);

Qanday qilib yozmaslik kerak:

// (agar shart bajarilmasa!= rost) ? (keyin biz buni qilamiz) : (aks holda bu); $music_type = ("jazz" != $music) ? "blah" : "salqin";

Master Yoda shartlari

Mantiqiy taqqoslashlarni amalga oshirayotganda, har doim chapga doimiy yoki literallarni va o'ngga o'zgaruvchini qo'ying.

Agar (haqiqiy == $the_force) ( $g'olib = siz_bo'lasiz($bo'ladi); )

Agar yuqoridagi misolda ikkinchi = belgisini o'tkazib yuborsak (to'g'ri, bu bizning eng tajribalilarimizga ham tegishli), biz PHP xatosiga duch kelamiz va kod ishlamasligi sababli uni darhol ko'ramiz. Ammo agar konstruktsiya aksincha bo'lsa - $the_force = true , unda shart har doim bajariladi va biz hech qanday xatoni ko'rmagan bo'lardik va biz bunday jiddiy xatoni o'tkazib yuborishimiz mumkin edi, uni ham ba'zan tutish qiyin!

Siz shunchaki bu "teskari" imloga ko'nikishingiz kerak.

Bu == , != , === va !== uchun ham amal qiladi. uchun "Yoda shartlari"< , > , <= или >= o'qish ancha qiyin va ularni bu erda ishlatmaslik yaxshiroqdir.

Aqlli kod

Muxtasar qilib aytganda, kodning o'qilishi birinchi o'rinda bo'lishi kerak, bu qisqalik yoki ba'zi bir aniq bo'lmagan, ammo qulay qisqartmalardan ko'ra muhimroqdir.

Isset($var) || $var = some_function(); // yoki! isset($var) && $var = some_function();

Ha - bu ajoyib yozuv, uni tajribali dasturchi qilgani aniq. Ammo har qanday boshqa ishlab chiquvchi va ko'pincha muallif ham bunday yozuvni tushunish uchun biroz chuqurroq o'rganishi va qo'shimcha soniya yoki daqiqa sarflashi kerak. Bu aniq yoki aniq yozuv emas va undan qochish kerak va uni uzoqroq, lekin aniqroq yozish yaxshiroqdir:

Agar (! isset($var)) ( $var = some_function(); )

Xatolarni bostirish operatori @

PHP bitta xato boshqaruv operatorini qo'llab-quvvatlaydi: @ belgisi. Agar u PHP kodidagi har qanday ifodadan oldin bo'lsa, ushbu ifoda tomonidan yaratilgan har qanday xato xabarlari e'tiborga olinmaydi.

Ushbu operator yadroda mavjud bo'lsa-da, u ko'pincha ishlatiladi, chunki o'zgaruvchini to'g'ri qayta ishlash uchun juda dangasa. Uning qo'llanilishi kuchli Tavsiya etilmaydi chunki hatto PHP hujjatlarida ham shunday deyilgan:

Diqqat: Bugungi kunda "@" operatori hatto skriptni to'xtatadigan muhim xatolar haqida ham xabarlarning chiqishini bostiradi. Boshqa narsalar qatorida, bu shuni anglatadiki, agar siz funktsiyani ishga tushirishda yuzaga keladigan xatolarni bostirish uchun "@" dan foydalansangiz, u mavjud bo'lmasa yoki noto'g'ri yozilgan bo'lsa, skriptning keyingi bajarilishi hech qanday bildirishnomasiz to'xtatiladi.

Bir kuni siz o'z veb-saytingizni yoki blogingizni yaratishga qaror qildingiz va boshqaruv tizimi uchun WordPressni tanladingiz... Vaqt o'tishi bilan saytingiz o'qish uchun qulay bo'lib qoldi va keyin siz yanada mashhur bo'lish uchun biroz funksionallik qo'shish kerakligini tushundingiz. saytga o'ting yoki oddiygina ushbu harakatni avtomatlashtiring.

Siz wordpress plaginlari "omboriga" borasiz va sizga kerakli plagin yo'qligini bilib olasiz. Nima qilsa bo'ladi? Nima qilishim kerak? Agar siz hech bo'lmaganda PHP da dasturlash asoslari, layout bilan ozgina tanish bo'lsangiz, unda bu siz uchun qiyin bo'lmaydi. WordPress uchun plaginni o'zingiz yozing.

Endi plaginimizni tayyorlash uchun "oshxona" ga boramiz.

P.s. Agar sizda PHP va layout bo'yicha bilimingiz bo'lmasa... Xavotir olmang, kimdir sizga kerakli funksiyalarni yozishini so'rang :)

Plagin yozishni boshlashdan oldin, plaginlarni yozishning asosiy tamoyillari va ba'zi kod misollarini tavsiflovchi WordPress hujjatlariga murojaat qilishingiz kerak.

Men bu ma'lumotni takrorlamayman, lekin to'g'ridan-to'g'ri kod yozishga o'taman.

Keling, saytingiz haqidagi sharhlarni saqlash va ko'rsatish imkonini beradigan oddiy plaginni yozaylik. Albatta, bunday plaginlar allaqachon mavjud, ammo bu misol uchun juda yaxshi bo'ladi.

Biz qiladigan birinchi narsa - plaginimiz uchun noyob nomni topish - " AdvUserReviews«.

Keyinchalik, saytingizning “/wp-content/plugins/” katalogida yangi “advuserreviews” katalogini yaratamiz. Va unda biz "advuserreviews.php" faylini yaratamiz. Bu umumiy ishga tushirish uchun mas'ul bo'lgan asosiy fayl bo'ladi. (Fayllar uchun UTF-8 kodlashdan foydalanish tavsiya etiladi).

Faylning boshida siz plagin haqida asosiy ma'lumotlarni ko'rsatishingiz kerak

Endi, agar siz boshqaruv paneliga kirsangiz, tizim yangi plaginni topib, uni faollashtirishni taklif qilganini ko'rishingiz mumkin. Ammo buni amalga oshirishga hali erta.

Biz yangi plaginimizni OOP uslubida yozamiz va barcha ma'lumotlarni qayta ishlash bir faylda joylashgan bo'ladi. Keling, faylning asosiy skeletini yarataylik.

// To'g'ridan-to'g'ri qo'ng'iroqni to'xtatish if(preg_match("#" . basename(__FILE__) . "#", $_SERVER["PHP_SELF"])) ( die("Sizga bu sahifaga bevosita qo'ng'iroq qilish taqiqlangan."); ) agar (!class_exists("AdvUserReviews")) ( class AdvUserReviews ( // Ichki ma'lumotlarni saqlash umumiy $data = array(); // Ob'ekt konstruktori // Asosiy o'zgaruvchilar funksiyasini ishga tushirish AdvUserReviews() ( ) ) ) global $rprice; $rprice = yangi AdvUserReviews();

Endi ob'ekt konstruktoriga quyidagi kodni qo'shamiz:

Funktsiya AdvUserReviews() ( global $wpdb; // plaginimizning ishga tushirish konstantasini e'lon qiling DEFINE("AdvUserReviews", true); // plaginimizning fayl nomi $this->plugin_name = plugin_basename(__FILE__); // URL manzili plaginimiz $ this->plugin_url = trailingslashit(WP_PLUGIN_URL."/".dirname(plugin_basename(__FILE__))); // Sharhlarimizni saqlash uchun jadval // $wpdb o'zgaruvchisi global miqyosda e'lon qilinishi kerak $this->tbl_adv_reviews = $wp ->prefiks . "adv_reviews"; // Plagin faollashtirilganda bajariladigan funksiya register_activation_hook($this->plugin_name, array(&$this, "activate")); // Plagin o'chirilganda bajariladigan funksiya register_deactivation_hook($this->plugin_name, array (&$this, "o'chirish")); // plaginni o'chirishda bajariladigan funksiya register_uninstall_hook($this->plugin_name, array(&$this, "o'chirish")); )

Ob'ekt konstruktorida biz 3 ta "ilgak" yoki "ilgak" dan foydalanamiz (ular nima?): register_activation_hook, register_deactivation_hook Va register_uninstall_hook- bular mos ravishda plagin yoqilganda, o'chirilganda va o'chirilganda bajariladigan funktsiyalardir.

Endi ushbu funktsiyalarni to'g'ridan-to'g'ri amalga oshiramiz.

/** * Plaginni faollashtiring */ activate() ( global $wpdb; require_once(ABSPATH . "wp-admin/upgrade-functions.php"); $table = $this->tbl_adv_reviews; // MySQL versiyasini aniqlang agar (versiya_qiyoslash(mysql_get_server_info(), "4.1.0", ">=")) ( agar (! bo'sh($wpdb->charset)) $charset_collate = "SADOLAT BELGILAR SO'ZI $wpdb->charset"; agar (! empty( $wpdb->collate)) $charset_collate .= "COLLATE $wpdb->collate"; ) // Sharhlar uchun jadvalimiz tuzilishi $sql_table_adv_reviews = "JADVAL YARATISH `".$wpdb->prefiks."adv_reviews (`ID` INT(10) UNSIGNED NULL AUTO_INCREMENT, `review_title` VARCHAR(255) NO NULL DEFAULT "0", `review_matn` METNI NULL EMAS, `review_date` TIMESTAMP NO NULL EMAS DEFAULT VARCHARNU`reviewer_0`review_title` VARCHAR (255) LL , `review_user_email` VARCHAR(200) NULL, ASOSIY KEY (`ID`))".$charset_collate.";"; // Jadval mavjudligini tekshiring, agar ($wpdb->get_var(""".$jadval kabi jadvallarni ko'rsatish" .""" ) != $table) ( dbDelta($sql_table_adv_reviews); ) ) /** * Plaginni o'chirish */ funksiyasi deactivate() ( true; ) /** * Plaginni olib tashlash */ funksiyasini uninstall() ( global $wpdb; $wpdb->query("AGAR MAVJUD BO'LSA JADVALNI TO'CHIRISH ($wpdb->prefiks)adv_reviews"); )

O'zgaruvchan $wpdb Ma'lumotlar bazasiga so'rovlar uchun javobgar. Funktsiya dbDelta joriy jadval tuzilmasini tahlil qiladi, uni kerakli jadval tuzilmasi bilan taqqoslaydi va kerak bo'lganda jadvalni qo'shadi yoki o'zgartiradi.

Shunga ko'ra, plagin faollashtirilganda, sharhlarni saqlash uchun jadval tuzilishi yaratiladi. Plagin o'chirilgan bo'lsa, hech qanday harakat sodir bo'lmaydi, lekin u o'chirilganda biz jadvalimizni o'chirib tashlaymiz. Harakatlarni manba kodidan batafsilroq tushunish mumkin.

Yangi plaginning asosiy tuzilishi tayyor. Endi biz funktsional qismni yozishni boshlashimiz kerak. Buning uchun biz sinf konstruktoriga quyidagi kod qatorlarini qo'shishimiz kerak:

// Agar biz administratorda bo'lsak. interfeysi if (is_admin()) ( // Uslublar va skriptlarni qo'shish add_action("wp_print_scripts", array(&$this, "admin_load_scripts")); add_action("wp_print_styles", array(&$this, "admin_load_styles")); // plagin uchun menyu qo'shing add_action("admin_menu", array(&$this, "admin_generate_menu")); ) else ( // Uslublar va skriptlar qo'shing add_action("wp_print_scripts", array(&$this, "site_load_scripts" )) ; add_action("wp_print_styles", massiv(&$this, "site_load_styles")); add_shortcode("show_reviews", massiv (&$this, "site_show_reviews")); )

Keling, kodning ushbu qismini batafsil ko'rib chiqaylik. Keling, boshqaruv panelidan boshlaylik.
Funktsiya " is_admin» biz hozir qaysi rejimda ishlayotganimizni tekshiradi - veb-saytda yoki boshqaruv panelida.
Keyinchalik, funktsiyalar uchun bir nechta kancalar ishlatiladi:

  • wp_print_scripts- Kerakli javascript fayllarini qo'shing
  • wp_print_styles- Kerakli uslublarni qo'shing
  • admin_menu- Boshqaruv paneliga yangi menyu qo'shish

Har bir ilgak bizning sinfimizda amalga oshirilgan usulga mos keladi. Unda kerakli operatsiyalar bajariladi.
Uslublar va skriptlarni ulash uchun kodni ko'rib chiqaylik

/** * Boshqaruv panelida boshqaruv sahifasi uchun kerakli skriptlarni yuklash */ funksiyasi admin_load_scripts() ( // Skriptlarni ro'yxatdan o'tkazish wp_register_script("advReviewsAdminJs", $this->plugin_url . "js/admin-scripts.js") ; wp_register_script( "jquery", $this->plugin_url . "js/jquery-1.4.2.min.js"); // sahifaga skriptlar qo'shing wp_enqueue_script("advReviewsAdminJs"); wp_enqueue_script("jquery"); ) /** * Boshqaruv panelida * boshqaruv sahifasi uchun kerakli uslublar yuklanmoqda */ funksiya admin_load_styles() ( // Uslublarni ro'yxatdan o'tkazish wp_register_style("advReviewsAdminCss", $this->plugin_url . "css/admin-style.css") ; // Uslublarni qo'shish wp_enqueue_style( "advReviewsAdminCss"); )

Bu yerda quyidagi funksiyalardan foydalaniladi.

Har bir harakat o'tkazilgan "harakat" parametriga bog'liq, mos ravishda "tahrirlash" - ko'rib chiqishni tahrirlash, "yuborish" - tahrirlangan sharhni saqlash va "o'chirish" - ko'rib chiqishni o'chirish.

Displey sahifalari bilan ma'lumotlar almashinuvi "ma'lumotlar" obyekti xususiyati orqali amalga oshiriladi. Ushbu sahifalarning manba kodi maqola oxirida ushbu modul bilan arxivga joylashtiriladi. Men ularni bu erga kiritmayman, chunki mavzu allaqachon katta.

Bu erda biz boshqaruv panelini yakunlaymiz va foydalanuvchilarning sharhlarini ko'rsatish va qo'shishga o'tamiz.

WordPress-ga plaginimizga qachon qo'ng'iroq qilish kerakligini aytish uchun biz "qisqa kod" ni ro'yxatdan o'tkazishimiz kerak, bu bizning sinfimiz konstruktorida qilingan. Bu haqda ko'proq o'qing.

Qo'shish_shortcode("sharhlarni_ko'rsatish", massiv (&$this, "sayt_ko'rish_ko'rinishi"));

Endi siz quyidagi kodni saytning istalgan sahifasiga joylashtirishingiz mumkin va u biz ko'rsatgan funksiyani (ikkinchi parametr sifatida o'tgan) bajarishga majbur qiladi. Quyida ushbu funksiya uchun manba kodi keltirilgan.

/** * Saytdagi sharhlar roʻyxati */ umumiy funktsiya site_show_reviews($atts, $content=null) ( global $wpdb; if (isset($_POST["action"]) && $_POST["action"] = = " add-review") ( $this->add_user_review(); ) // Ma'lumotlar bazasidan barcha sharhlarni tanlang $this->data["reviews"] = $wpdb->get_results("SELECT * FROM `" . $ this- >tbl_adv_reviews . "`", ARRAY_A); ## Chiqishni buferlashni yoqish ob_start (); include_once("site_reviews.php"); ## Ma'lumotlarni qabul qilish $output = ob_get_contents (); ## ob_end_clean buferlashni o'chirish (); return $output ; ) xususiy funktsiya add_user_review() ( global $wpdb; $inputData = array("review_title" => strip_tags($_POST["review_title"]), "review_text" => strip_tags($_POST["review_text"]) , " review_user_name" => strip_tags($_POST["review_user_name"]), "review_user_email" => strip_tags($_POST["review_user_email"]), // Saytga yangi sharh qo'shish $wpdb->insert( $this-> tbl_adv_reviews, $inputData); )

Aslida, bu erda hech qanday murakkab narsa yo'q - ma'lumotlarni tanlash uchun SQL so'rovi amalga oshiriladi, ammo agar "harakat" parametri o'tkazilsa, avval yangi sharh qo'shiladi. Ammo chiqishni buferlashga e'tibor qaratish lozim. Bu kiritilgan sahifaning ma'lumotlarini olish uchun kerak.

Ana xolos. Endi biz nimani olganimizni ko'rishimiz mumkin. A plagin va manba kodlarini yuklab oling bu yerda mumkin.

Albatta, bu plagin yaratishning bir misoli, lekin agar siz uni biroz o'zgartirsangiz, masalan, botlardan himoya qo'shsangiz va sahifama-sahifa chiqsangiz, u oddiy mehmon ilovasi sifatida ham ishlaydi. Baxtli kodlash :)

Veb-saytdagi shakl:

Plagin boshqaruv paneli:

Sharhni tahrirlash:

Sizni ham qiziqtirishi mumkin:


Barcha yangi veb-ustalar qo'rqib ketishadi va kod bilan ishlashdan qo'rqishadi - ular HTML yoki PHP qo'shish yoki noto'g'ri joyga kiritish orqali o'z saytlariga zarar etkazishdan qo'rqishadi. Albatta, agar siz kodni WordPress-da noto'g'ri joyga qo'ysangiz, hamma narsani buzishingiz mumkin. Biroq, bu CMS yangi boshlanuvchilar uchun shunchalik yaxshi moslashtirilganki, xato qilish qiyin bo'ladi.

Ushbu maqolada biz WordPress-ga HTML yoki PHP kodini qanday qilib xavfsiz kiritishni ko'rib chiqamiz. Lekin birinchi navbatda, bu nima uchun foydali bo'lishi mumkin.

Nima uchun kodni WordPress-ga joylashtirish kerak

Saytning ishlash muddati davomida veb-master WordPress-ga sahifalarda bajarilishi kerak bo'lgan kodni o'rnatishi kerak bo'lishi mumkin. Bu turli sabablarga ko'ra kerak bo'lishi mumkin: masalan, trafik hisoblagichini o'rnatish, noodatiy vidjet yoki shablonga shaxsiyat qo'shish.

WordPress kodni o'rnatishning ikkita usulini taklif qiladi. Keling, ularga qaraylik.

Matn vidjeti yordamida o'rnatish

Vidjet yordamida WordPress-ga kodni o'rnatish uchun siz "Tashqi ko'rinish" konsolidagi menyu bandiga va "Vidjetlar" kichik bandiga o'tishingiz kerak. Ular orasida siz "Matn" ni topib, sichqoncha bilan kerakli maydonga o'tishingiz kerak.

Vidjet ochiladi va siz uning sarlavhasini to'ldirishingiz, shuningdek kerakli kodni tegishli maydonga joylashtirishingiz mumkin. "Saqlash" tugmasini bosgandan so'ng, operatsiya sayt sahifalarida amalga oshiriladi.

WordPress-ga kodni o'rnatishning ushbu usuli HTML, PHP va hatto JavaScript-da operatsiyalarni bajarish uchun javob beradi. Bu usul tez-tez ishlatiladi, chunki u oson va yangi boshlanuvchilar uchun yaxshi ishlaydi.

Faylga o'rnatish

Fayllarni tahrirlash yordamida WordPress-ga kodni o'rnatish yangi boshlanuvchilar uchun tavsiya etilmaydi, lekin ertami-kechmi hamma uni o'zlashtirishi kerak bo'ladi. Bu usul qulay, chunki HTML yoki PHP birinchi usulda tasvirlanganidek, faqat vidjet maydoniga emas, istalgan qismga joylashtirilishi mumkin. Ushbu o'rnatish usulining kamchiliklari shundaki, u xavfli bo'lishi mumkin va agar xatolarga yo'l qo'yilsa, bu sayt ishlamasligiga olib kelishi mumkin. Shuning uchun, ushbu usuldan foydalanishdan oldin, siz fayllaringiz va ma'lumotlar bazasining zaxira nusxasini yaratishingiz kerak.

Kodni to'g'ridan-to'g'ri WordPress-dagi faylga o'rnatish uchun siz ma'lum bir fayl saytning qaysi sohasi uchun javobgar ekanligini bilishingiz kerak. Bu erda aniq tavsiyalar berishning iloji yo'q, chunki turli shablonlarda turli xil fayllar ma'lum funktsiyalarni bajaradi. Biroq, mavzu fayllari haqida biror narsa o'rganishingiz mumkin. Kodni WordPress-dagi shablon fayliga o'rnatishdan tashqari, bu CMS fayllarida ham amalga oshirilishi mumkin.

Kodni o'qish qobiliyati juda nozik mavzu va unga tegishli e'tibor berilishi kerak. Ushbu maqolada siz ushbu mavzuni rivojlantirishga yordam beradigan 16 ta texnikani o'rganasiz.

1. Sharhlar va hujjatlar

IDElar ishlab chiquvchilar dunyosida tobora ommalashib bormoqda, chunki... ular kodni sharhlash va hujjatlashtirish uchun qulay vositalarni taqdim etadi.

Mana bir misol:

O'zingizning usulingizni chaqirishning yana bir misoli:

Ushbu misolda sharhlash uslubi PHPDoc-ga asoslangan va men foydalanadigan IDE - Aptana.

2. Indents

O'ylaymanki, siz kodingizdagi chekinish muhimligini allaqachon bilasiz. Umuman olganda, kodni formatlashning bir necha uslublari mavjud.

foo() funksiyasi ( if ($maybe) ( do_it_now(); again(); ) else ( abort_mission(); ) finalize(); )

foo() funksiyasi ( if ($maybe) ( do_it_now(); again(); ) else ( abort_mission(); ) finalize(); )

foo() funksiyasi ( if ($maybe) ( do_it_now(); again(); ) else ( abort_mission(); ) finalize(); )

Shaxsan men ko'pincha №2 uslubdan foydalanaman, lekin ba'zida №1 ga o'taman. Lekin bularning barchasi ta'mga bog'liq, albatta. Ehtimol, mutlaqo hammaga mos keladigan "eng yaxshi" uslub yo'q. Ushbu qoidalarga, birinchi navbatda, jamoada ishlaydigan yoki ochiq manbali loyihalarni yozishda ishtirok etadiganlar rioya qilishlari kerak.

Muayyan xususiyatlarni birlashtirgan uslublar ham mavjud. Masalan, PEAR kodini yozish standartlari, bunda shartli iboralardagi jingalak qavs bir xil satrda qoladi, lekin funksiyalarda ko'chiriladi.

PEAR uslubi:

Funktsiya foo() ( // yangi satrda if ($maybe) ( // xuddi shu qatorda do_it_now(); again(); ) else ( abort_mission(); ) finalize(); )

Shuni ham ta'kidlash kerakki, ushbu uslub yorliqlar o'rniga 4 ta bo'sh joydan foydalanadi.

Turli xil uslublar haqida ko'proq bilib olishingiz mumkin.

3. Keraksiz izohlardan saqlaning

Ha, sharhlash kodi yaxshi; ammo, uni ortiqcha qilishning hojati yo'q. Mana bir misol:

// mamlakat kodini oling $country_code = get_country_code($_SERVER["REMOTE_ADDR"]); // agar mamlakat AQSH boʻlsa if ($country_code == “US”) ( // formani koʻrsatish echo form_input_state(); )

Agar kodning ishi aniq bo'lsa, ehtimol keraksiz sharhlarni yozmasligingiz kerak.

Agar sizda ular bo'lmasa, ularni biroz qisqartirishingiz mumkin:

// agar davlat AQSH boʻlsa, shaklni koʻrsatish $country_code = get_country_code($_SERVER["REMOTE_ADDR"]); agar ($country_code == "AQSh") ( echo form_input_state(); )

4. Kodlarni guruhlash

Ko'pincha, ba'zi vazifalar bir necha qator kod yozishni talab qiladi. Shuning uchun, bunday vazifalarni bo'shliqlar bilan ajratilgan alohida bloklarga birlashtirish yaxshidir.

Mana oddiy misol:

// forumlar ro'yxatini olish $forums = array(); $r = mysql_query("Tanlash id, ism, forumlardan tavsif"); while ($d = mysql_fetch_assoc($r)) ( $forums = $d; ) // shablonni yuklash load_template("sarlavha"); load_shablon("forum_ro'yxati",$forumlar); load_shablon("kolontitr");

Agar siz har bir blok boshlanishidan oldin sharh qo'shsangiz, bu kodingizning o'qish qobiliyatini yanada yaxshilaydi.

5. Nomlash sxemasi

Ba'zan PHP tilida ham funksiyalarni nomlashda nomuvofiqliklarni topishingiz mumkin. Va bu erda ko'plab misollar:

  • strpos() va str_split()
  • imagetypes() va image_type_to_extension()

Bir nechta mashhur uslublar mavjud:

  • camelCase: har bir yangi so'zning birinchi harfini bosh harf bilan yozadi.
  • pastki chiziq: so'zlar orasidagi pastki chiziq: mysql_real_escape_string().

Agar siz ushbu usullarni aralashtirsangiz, ertami-kechmi siz noqulay vaziyatga tushib qolishingiz mumkin. Agar siz ushbu usullardan birini ishlatadigan loyiha ustida ishlayotgan bo'lsangiz, siz ham shunga amal qilishni xohlaysiz. Bu hali ham dasturlash tiliga bog'liq bo'lishi mumkin. Misol uchun, Java dasturchilarining aksariyati camelCase-dan foydalanadi, PHP dasturchilari esa pastki chiziqni afzal ko'rishadi.

Ammo bu erda ham gibrid bor edi. Ba'zi ishlab chiquvchilar sinflar va usullarni (sinflardan tashqari) nomlashda pastki chiziqdan foydalanadilar va boshqa hollarda camelCase dan foydalanadilar:

Class Foo_Bar (ommaviy funktsiya someDummyMethod() ( ) ) funksiyasi procedural_function_name() ( )

Yana bir bor aytamanki, bundan yaxshi uslub yo'q. Siz shunchaki biror narsaga yopishib olishingiz kerak.

6. DRY tamoyili

QURUQ (O'zingizni takrorlamang) - o'zingizni takrorlamang. DIE nomi bilan ham tanilgan: duplikatsiya - yomonlik.

Har qanday tizimning asosiy vazifasi, xoh u veb-ilova yoki boshqa narsa, takrorlanuvchi vazifalarni avtomatlashtirishdir. Ushbu tamoyilga har doim va hamma joyda amal qilish kerak, ayniqsa siz dasturchi bo'lsangiz. Xuddi shu kod parchasi qayta-qayta takrorlanmasligi kerak.

Masalan, ko'pgina veb-ilovalar bir yoki bir nechta sahifalardan iborat. Bu sahifalar bir xil elementlardan iborat bo'lishi aniq. Sarlavha va altbilgi eng yorqin misollardir. Har bir sahifada qancha odam bu elementlarni takrorlashiga hayron qolasiz.

$this->load->view("o'z ichiga oladi/sarlavha"); $this->load->view($main_content); $this->load->view("o'z ichiga oladi/kolontitr");

7. Chuqur uy qurishdan saqlaning

Agar siz chuqur joylashtirsangiz, kodni o'qish qobiliyati keskin kamayadi.

Funktsiya do_stuff() ( // ... if (is_writable($papka)) ( if ($fp = fopen($file_path,"w")) ( if ($stuff = get_some_stuff()) ( if (fwrite($) fp,$stuff)) ( // ... ) else ( return false; ) ) else ( return false; ) ) else ( return false; ) ) else ( return false; ) )

Vaziyatni tuzatish uchun kodingiz qanday ishlashini qayta ko'rib chiqishingiz va uni optimallashtirishingiz kerak:

Funktsiya do_stuff() ( // ... if (!is_writable($folder)) ( return false; ) if (!$fp = fopen($file_path,"w")) ( return false; ) if (!$stuff) = get_some_stuff()) ( return false; ) if (fwrite($fp,$stuff)) ( // ... ) else ( return false; ) )

8. Chiziq uzunligi chegarasi

Matn ustunlarga bo'linganda o'qish jarayoni ancha zavqli bo'lishini hamma biladi. Gazetalarimiz shunday ko'rinishining asosiy sababi ham shu:

Shunga o'xshash texnikani bizning kodimizga qo'llash mumkin:

// yomon $my_email->set_from(" [elektron pochta himoyalangan]") -> qo'shish_to (" [elektron pochta himoyalangan]")->set_subject("Zanjirlangan usullar")->set_body("Uzoq xabar")->send(); // yaxshi $my_email ->set_from(" [elektron pochta himoyalangan]") -> qo'shish_to(" [elektron pochta himoyalangan]") ->set_subject("Zanjirlangan usullar") ->set_body("Uzoq xabarlar") ->send(); // bad $query = "FAYDALANILGANLARDAN identifikator, foydalanuvchi nomi, ismi_ismi, familiyasi, holatini tanlang. (users.id, user_posts.user_id) WHERE post_id = "123""; // bad $query = "Foydalanuvchilardan identifikator, foydalanuvchi nomi, ism_ism, familiya, holatni tanlang QAYERDA user_posts QO'SHILING (users.id, user_posts.user_id) QAYERDA post_id = "123"";

Aksariyat ishlab chiquvchilar 80 va 120 belgilar chegaralariga rioya qilishadi.

9. Fayl va papkalarni tartibga solish

Texnik jihatdan, siz ilovangizning barcha kodlarini bitta faylga joylashtirasiz :) Lekin biror narsani o'zgartirish yoki qo'shish kerak bo'lganda nima qilasiz.

Men fayllarni biriktirgan birinchi loyihalarimni eslayman. Biroq, mening tashkilotim juda yomon edi. Men bir nechta fayllarni joylashtirgan "inc" papkasini yaratdim: db.php va functions.php. Ariza yozish jarayonida ushbu papka kattalashib, kattalashib bordi va oxir-oqibat qaerda ekanligini aniqlash qiyin edi.

Ushbu muammoni hal qilish uchun har xil turdagi ramkalardan foydalanish yoki hech bo'lmaganda ularning tuzilishiga rioya qilish yaxshiroqdir. CodeIgniter-da loyiha shunday ko'rinadi:

10. O‘zgaruvchilar nomlari

Umuman olganda, o'zgaruvchan nomlar to'liq ma'noli bo'lishi kerak - bu ideal. Vaqtinchalik o'zgaruvchilar uchun istisno qilish mumkin.

Keling, bir nechta misollarni ko'rib chiqaylik:

// $i for for looplar ($i = 0; $i< 100; $i++) { // $j для вложенных циклов for ($j = 0; $j < 100; $j++) { } } // $ret для возвращаемых переменных function foo() { $ret["bar"] = get_bar(); $ret["stuff"] = get_stuff(); return $ret; } // $k и $v для foreach foreach ($some_array as $k =>$v) ( ) // mysql uchun $q, $r va $d $q = "Jadvaldan SELECT *"; $r = mysql_query($q); while ($d = mysql_fetch_assocr($r)) ( ) // $fp fayllar bilan ishlash uchun $fp = fopen("file.txt", "w");

11 - SQL tilida kalit so'zlarni bosh harflar bilan yozing

Ko'pgina veb-ilovalar ma'lumotlar bazalari bilan o'zaro ta'sir qiladi. Agar siz SQL so'rovlarini o'zingiz yozsangiz, unda ular ham mos ravishda formatlanishi kerak ... Bu erda hech qanday murakkab narsa yo'q. Kalit so'zlaringizni faqat bosh harflar bilan yozing.

12. Alohida kod va ma'lumotlar

Bu tushunarli dasturlarni yozishga yordam beradigan yana bir tamoyil. Bu ma'lumotlarni bir joyda (masalan, modellar) tayyorlashni va boshqa joyda ular bilan o'zaro ta'sir qilishni o'z ichiga oladi.

PHP birinchi marta rivojlana boshlaganida, u ko'proq shablonlash tizimiga o'xshardi. Ushbu tildagi loyihalar aralash HTML va PHP kodlarini o'z ichiga olgan. Endi hamma narsa o'zgardi va har bir kishi ariza yozishning keyingi bosqichiga o'tishi kerak.

Siz o'zingiz uchun maxsus uslubni ishlab chiqishingiz mumkin yoki bugungi kunda eng mashhur vositalardan foydalanishingiz mumkin.

Mashhur PHP Frameworklar:

Shablon tizimlari:

Mashhur CMS

13. Shablonlar uchun maxsus sintaksis

Agar shablon tizimidan foydalanishni istamasangiz, unda siz PHP kodini HTML-ga joylashtirishning o'z uslubingizni ishlab chiqishingiz kerak bo'ladi.

Va bu erda bir misol:

Salom, foydalanuvchi nomi; ?>
|

Mening xabarlar panelim

sarlavha; ?>

Forumlar $forum sifatida): ?>

id, $forum->title) ?> (Threads->count(); ?> mavzular)

tavsif; ?>

Ushbu uslub sizga keraksiz qavslardan qochish imkonini beradi. Bundan tashqari, bunday kod HTML kontekstiga yaxshi mos keladi.

14. Protsessual va ob'ektga yo'naltirilgan yondashuvlar

Ob'ektga yo'naltirilgan dasturlash sizga ko'proq yoki kamroq aniq tuzilishga yopishib olishga yordam beradi, ammo bu siz ilovalarni yozishning protsessual tamoyillaridan chetga chiqishingiz kerak degani emas.

Ob'ektlar ma'lumotlarni ifodalash uchun juda yaxshi. Misol:

Class User ( public $username; public $first_name; public $last_name; public $email; public function __construct() ( // ... ) public function create() ( // ... ) public function save() ( / / ... ) umumiy funktsiyani delete() ( // ... ) )

Protsessual usullarning o'ziga xos afzalliklari bor.

Funktsiya kapitali ($string) ( $ret = strtoupper($string); $ret .= strtolower(substr($string,1)); return $ret; )

15. Ochiq kodli kodni o'qing

Odatda, Open Source loyihalari ko'p sonli ishlab chiquvchilar tomonidan yoziladi. Shu nuqtai nazardan qaraganda, shunga o'xshash loyihalarda yozma kodni o'rganish sizga tajriba orttirishga yordam beradi. Shuning uchun vaqtingizni bunga sarflamang.

16. Refaktoring

Refaktoring - bu funksiyani yo'qotmasdan kodni o'zgartirish. Undan o‘qishni yaxshilash uchun ham foydalanish mumkin.Xatolarni tuzatish yoki funksiya qo‘shish uchun joy yo‘q. Siz shunchaki kodingiz tuzilishini biroz o'zgartirasiz.

Umid qilamanki, siz ushbu maqolani foydali deb topdingiz! Menga nimadir yetishmayaptimi? Tajribangizni baham ko'ring!

Men sizning hayotingizda WP saytingiz mavzusiga yoki ba'zi plaginlarning funksionalligiga biror narsa qo'shishni (to'g'rilashni) xohlagan paytlaringiz bo'lgan deb taxmin qilishga jur'at etaman. Bundan tashqari, ishlab chiquvchilar bu xususiyatni standart boshqaruvga kiritmagan. Va sizning ruhingiz hech qanday cheklovlarni tan olmaydi va hayoliy parvozlarni talab qiladi :) Siz tushunganingizdek, har qanday vaziyatdan chiqish yo'li bor, bu holda biz plagin kodini, mavzuni tuzatishga majbur bo'lamiz...

Kodni tahrirlashda asosiy qiyinchilik shundaki, siz kiritgan o'zgarishlar, afsuski, uzoq vaqt saqlanmaydi va keyingi yangilanish paytida bekor qilinadi. Agar siz ko'rayotgan yechim yangilanishlardan qochish bo'lsa, men sizni ushbu xavfli beparvo qarordan qaytarishga jur'at etaman, chunki yangilanishlar xavfsizlik va xatolarni tuzatish nuqtai nazaridan muhim o'zgarishlarni o'z ichiga oladi va ko'pincha yangi funktsiyalarni qo'shadi.

Natijada, bizning dinamik o'zgaruvchan dunyomizda tik turadigan va shu bilan birga qimmatli vaqtingizni tejaydigan usullardan foydalanish afzalroqdir.

Ogohlantirishlar!

Internetda siz ko'pincha faylga o'zgartirish kiritishni taklif qiladigan maslahatlarni topishingiz mumkin functions.php- agar busiz qilish imkoniyati bo'lsa, bu faylga tegmaslik yaxshiroqdir. Quyidagi usullarda buni amalga oshirish usulini ko'rasiz. Va har qanday holatda, siz bolalar mavzusini yaratishingiz va ota-onaga tegmasligingiz kerak.

Funktsiyaga prefikslar qo'shganda, har doim shakldagi maxsus koddan foydalaning: _prefiks(o'zgartirilayotgan funktsiya nomiga). Ushbu harakat sizni mavzu yoki plaginning boshqa funktsiyalari bilan ziddiyatlardan himoya qiladi.

Xo'sh, WP saytiga kodni qanday qo'shish mumkin?

1) Maxsus plagin

Shunday qilib, siz kod parchalarini kiritishingiz mumkin va ular yangilanish vaqtida o'chirilmaydi, shuningdek, ularni tahrirlashingiz, kelajakda faollashtirishingiz yoki aksincha - kerak bo'lganda ularni o'chirib qo'yishingiz mumkin.

Buni qilish oson: avval siz plaginingiz uchun katalog yaratishingiz kerak va unga mos ravishda nom berishingiz kerak, masalan moy-plagin (pastki tire emas, faqat tirelardan foydalaning)

Keyinchalik, biz asosiy plagin faylini yaratamiz. Siz tushunganingizdek, u ism, tavsif va asosiy ma'lumotlarni, shuningdek, plaginni buzg'unchilardan himoya qilishga yordam beradigan kodni o'z ichiga olishi kerak. Va biz bu faylni, keling moy-plugin.php deylik. .php kengaytmasi WP-ga fayl qaysi tilda yaratilganligini bildiradi.

Siz faylni har qanday matn muharririda yuqorida tavsiflangan usul yordamida yaratishingiz mumkin, masalan, Windows operatsion tizimida (Mac-dagi TextEdit) ehtiyotkorlik bilan o'rnatilgan NotePad. Microsoft Word muharriridan foydalanmaslik yaxshiroqdir, chunki u matnni formatlaydi va bu vaziyatda bizga mutlaqo kerak emas.

Shunday qilib, qo'shiladigan kod:

Va ushbu kod ostida, o'zingizning ijodiy ruhingiz talab qilganidek, o'zgartirishlaringizni kiriting. Oxirida PHP yopilish teglarini qo'shishning hojati yo'q. Bunday holda, ism, tavsif va URL sizning administrator panelingizda ko'rsatiladi. Va, albatta, siz "ClubWP" ma'lumotlarini o'zingizning ma'lumotlaringiz bilan almashtirishingiz mumkin

Shundan so'ng, siz yaratgan narsalarni zip arxiviga to'plash va uni saytingizning ftp-ga yuborish qoladi. Kelajakda shu tarzda siz plaginingizga har qanday o'zgartirishlar kiritishingiz mumkin.

Shu oson yo'l bilan siz ehtiyojlaringiz uchun oddiy plagin yaratasiz.

2) Kod parchalari plagini

Agar yuqorida tavsiflangan usul siz uchun qiyin bo'lsa yoki siz juda amaliy odam bo'lsangiz va natijalarni tezroq olishga odatlangan bo'lsangiz, kod parchalari siz uchun maxsus yaratilgan. Yuqorida tavsiflangan xususiyat singari, plagin mavzuni ishlatmasdan ham uni tahrirlash imkoniyati bilan kodingizni qo'shadi.

Plaginni o'rnatgandan so'ng, administrator panelida yangi "Snippets" oynasi paydo bo'ladi, unda siz mos ravishda yangi parchalarni qo'shishingiz mumkin. Buning uchun siz kod va uning maqsadi haqida ma'lumot kiritishingiz mumkin.

Shunday qilib, sizda plaginlar ko'rinishidagi maxsus kodni yoqish yoki o'chirish imkoniyati mavjud. Juda qulay va amaliy, chunki... Ba'zan mavzular va plaginlar bilan ziddiyatlar bo'lishi mumkin va siz buni osongina tushunishingiz va yaratilgan kodni o'chirib qo'yishingiz mumkin.

3) Bolalar mavzusining Functions.php ni tahrirlash

Agar plaginlardan foydalanish sizga mos kelmasa va siz to'g'ridan-to'g'ri saytingiz mavzusiga o'zgartirish kiritishingiz kerak bo'lsa, unda bu usul siz uchun. Shuni eslatib o'tamanki, siz buni faqat bolalar mavzulari bilan qilishingiz mumkin.

Ushbu usuldan foydalanish uchun men o'z shablonimni taklif qilaman functions.php bolalar mavzusi. Faylni o'rash va tahrirlash style.css(shablon nomi va import URL manzili)

P.S. Kelajakda hayotingizni soddalashtirish uchun barcha imkoniyatlarni ishga solishga harakat qiling, jumladan, xatolarni bartaraf etish va kerak bo'lganda maxsus kodni tahrirlashda katta ulushingiz bor.