mājas - Atveseļošanās
PHP koda ievietošana programmā WordPress, izmantojot logrīkus. Spraudņi — Webasyst dokumentācija Kā instalēt spraudni

Gandrīz katrs, kurš uztur emuāru vietnē WordPress un pats to uztur, zina par maģiska funkcijas.php faila esamību. Bieži vien to pilnībā izmanto citiem mērķiem, kas var radīt ievērojamas problēmas. Apskatīsim šo jautājumu kopā sīkāk.

Es jums apliecinu, ka pēc šī raksta izlasīšanas jūs mainīsit savu attieksmi pret spraudņiem un pārtrauksiet pievienot vēl vienu koda fragmentu savam functions.php.

Spraudņi un funkcijas.php

Daudzi WordPress vietņu īpašnieki ir stingri pārliecināti, ka spraudņi noteikti ielādēs un palēninās emuāru. Un, ja jūs vienkārši pievienojat kodu funkcijas.php, tas nekādā veidā neietekmēs slodzi. Diemžēl tā nav pilnīga taisnība...

Fakts ir tāds, ka slodzi izraisa nevis tieši spraudnis, bet gan tā nepareizi uzrakstītais kods, kas var viegli nonākt funkcijas.php no nākamās rokasgrāmatas.

Apskatīsim galvenās atšķirības starp spraudni un functions.php.

Būtiskā atšķirība starp spraudni un functions.php failu ir tā mērķis un izpildes secība.

Tāpat ir nepamatoti uzskatīt, ka funkcijas.php kods tiks izpildīts ātrāk nekā spraudnī. Tas pats kods spraudnī un funkcijas.php tiks izpildīts ar tādu pašu ātrumu un slodzi.

Ļoti bieži problēmas ar lielu slodzi rodas spraudņu papildu funkcionalitātes dēļ, un vietnes ielādes ātrums cieš no skriptiem, kas savieno savus stilus, skriptus un citu saturu. Tāpēc ir svarīgi pievērst uzmanību spraudņa izvēlei, lai izvairītos no problēmām nākotnē.

Ja esat parasts emuāru autors un esat tālu no tīmekļa izstrādes, tad, izvēloties spraudni, noteikti pievērsiet uzmanību atsauksmēm WordPress repozitorijā un autoru vai tīmekļa izstrādātāju emuāros.

Ja jums joprojām ir šaubas, pagatavojiet tasi kafijas un noteikti izlasiet Konstantīna Kovšeņina rakstu WP Magazine - “Visa patiesība par functions.php”. Pirmā daļa vienkārši un skaidri izskaidro, kāpēc nevajadzētu ticēt mītiem par functions.php.

Spraudnis kā alternatīva failam functions.php

Visi papildinājumi, ko veicat veidņu failos (skripti, skaitītāji, funkcijas), var tikt zaudēti, mainot aktīvo motīvu vai piemērojot tam atjauninājumus. Lai no tā izvairītos un neradītu haosu funkcijās.php, iesaku izmantot savu personīgo spraudni.

Izveidosim savu spraudni – alternatīvu failam functions.php. Nebaidieties, tas izskatīsies tieši tāpat kā jūsu iecienītākās funkcijas.php :) Viss, kas jums jādara, ir vienkārši pievienot savai vietnei tukšu spraudni. Un tad tajā var ievietot vajadzīgo kodu, kā to darījāt ar functions.php.

Pirmkārt, mums datorā ir jāizveido fails ar nosaukumu functionsphp.php un jāpievieno tam šāds kods:

// ... Šīs rindas vietā ievietojiet skaitītāja kodu... .

Exec-PHP spraudnis atrodas repozitorijā un tiek instalēts, izmantojot dzinēja administratora paneļa izvēlni.

No iestatījumiem ir tikai viens - koda izpildes atļauja/aizliegums teksta logrīkā, nav iespējas atslēgt darbu ierakstos un lapās, ja nepieciešams to noņemt, deaktivizējiet spraudni.

Lai rakstā ievietotu PHP kodu, tas ir jāpārslēdz uz HTML režīmu (cilne Teksts). Vizuālais režīms, visticamāk, sabojās kodu.

PHP koda izpilde WordPress rakstos bez spraudņa

Pēc analoģijas ar logrīkiem mēs varam aizstāt spraudni ar īpašu funkciju, kas ļauj saturā izpildīt PHP skriptus. Diemžēl es nevarēju atrast opciju, kurā kods darbotos automātiski, tāpat kā spraudņa gadījumā, reaģējot uz tagiem. Nepieciešams izmantot īskodu. Ar manām PHP zināšanām nepietika, lai patstāvīgi uzrakstītu vajadzīgo funkciju, tāpēc pasniedzu to tādu, kāda tā ir. Darbam ar īskodu ir būtisks trūkums, kas sarežģī darbu, es to apspriedīšu tālāk.

Kā izmantot tālāk norādīto funkciju

  • Mēs to ielīmējam tēmas failā functions.php;
  • Īstajā vietā rakstā ievietojam konstrukciju - izpildāmo kodu bez
  • Funkcija:

    /* Php palaišana WordPress rakstos un lapās: kods */ funkcija start_php($matches)( eval("ob_start();".$matches."$inline_execute_output = ob_get_contents();ob_end_clean(););"); return $inline_execute_output ; ) funkcija inline_php($content)( $content = preg_replace_callback("/\((.|\n)*?)\[\/startphp\]/", "start_php", $content); $content = preg_replace( "/\((.|\n)*?)\[\/startphp\]/", "$1", $saturs ) add_filter("the_content", "inline_php");

    Trūkums

    Ja ievietotajā PHP kodā ir HTML ieliktņi vai teksts, tas nedarbosies. Jebkurš teksts vai atzīmes būs jāievieto, izmantojot echo komandu, kas ne vienmēr ir ērti. Tas nozīmē, ka kodam jābūt tikai PHP ar 100 pareiziem formātiem.

    Pa labi

    Atbalss "Tā tas darbosies";

    Nepareizi

    Atbalss "Šī rinda ir pareiza"; Tas nedarbosies tā

    Exec-PHP spraudnī šādas problēmas nav – tiks izpildīts gan teksts, gan HTML, taču visiem PHP koda elementiem jābūt ierāmētiem atbilstošajos tagos.

    Daudziem tīmekļa pārziņiem šajā rakstā aprakstītā tēma paver bezgalīgas iespējas radošumam - jūs varat ieviest kaut ko tādu, ko iepriekš nevarēja izdarīt, kā arī atbrīvoties no daudziem spraudņiem, aizstājot tos ar dažādiem filtriem, funkcijām un āķiem.

    Spraudņi ir veids, kā paplašināt lietojumprogrammas funkcionalitāti, nemainot tās avota kodu. Spraudņa ieviestās funkcijas turpina darboties arī pēc lietojumprogrammu atjauninājumu instalēšanas, kad tās faili tiek pārrakstīti. Spraudņa avota kods ir apkopots neatkarīgos failos, kas ir savienoti tikai ar lietojumprogrammu.

    Lokalizācija

    Spraudņu lokalizācija tiek realizēta pilnīgi līdzīgi kā lietojumprogrammu lokalizācija (dokumentācija). Lokalizācijas mapē jāievieto tulkošanas faili *.po un *.mo un kodā jāiekļauj atslēgas šādi:

    • _wp("string") PHP (metodes _w() vietā, kas darbojas tikai ar lietojumprogrammu lokalizāciju, ir jāizmanto metode _wp(), kas ielādē spraudņa lokalizāciju),
    • [`string`] Smarty veidnēs (šeit nav atšķirību no lietojumprogrammu lokalizācijas).

    Spraudņa nosaukums un apraksts (nosaukums un apraksts konfigurācijas failā) tiek tulkoti, izmantojot noklusējuma spraudņa lokalizāciju, tāpēc nav jānorāda "name" => _wp("SPAUDŅA NOSAUKUMS") - vienkārši norādiet "name" = > "SPAUDŅA NOSAUKUMS" .

    Lokalizācijas izmantošana statiskās metodēs

    Gadījumā, ja ārējā vidē tiek izsauktas spraudņu klašu publiskās statiskās metodes, piemēram, motīva kodā, spraudņa lokalizācija netiek automātiski savienota, un funkcija _wp() neatgriež jaunu rindiņu, kā paredzēts. Lai šādās metodēs izmantotu spraudņa lokalizāciju, visi funkcijas _wp() izsaukumi ir jāievieto īpašā konstrukcijā, kas parādīts treknrakstā tālāk esošajā piemērā:

    Klase appMyPlugin paplašina waPlugin (publiskā statiskā funkcija displayData() ( //abās rindās norādiet lietojumprogrammas ID un spraudni waLocale::loadByDomain(array("app_id", "plugin_id")); waSystem::pushActivePlugin("plugin_id ", " app_id"); $rezultāts = _wp("..."); waSystem::popActivePlugin(); atgriezt $rezultātu; ) )

    Datu bāze

    Ja spraudnis datu bāzē izmanto savas tabulas, tabulu nosaukumiem jāsākas ar fragmentu, piemēram, __ , piemēram: veikals_ebay_ tabulas nosaukums.

    Spraudņa pievienošana

    Lai rakstītais spraudnis darbotos, tas ir jāpievieno lietojumprogrammu sistēmas konfigurācijas failā wa-config/apps/APP_ID/plugins.php, pievienojot tam rindiņu:

    "plugin_id" => taisnība

    Šī faila piemērs lietojumprogrammai Blog (wa-config/apps/blog/plugins.php):



     


    Lasīt:



    Kāpēc viedtālruņu magnētiskie kabeļi ir bīstami un noderīgi

    Kāpēc viedtālruņu magnētiskie kabeļi ir bīstami un noderīgi

    Mantis USB uz USB Type-C neilona magnētiskais kabelis ir ērts un moderns aksesuārs, kas paredzēts viedtālruņa savienošanai ar lādētāju...

    Kāda ir atšķirība starp PCI Express un PCI?

    Kāda ir atšķirība starp PCI Express un PCI?

    2006. gada pirmais ceturksnis Ledus ir ielūzis, žūrijas kungi Kā zina ikviens izglītots cilvēks, Ostaps Ibrahimovičs Benders zināja...

    Sikspārņu failu komandas. Kā izveidot sikspārņu failu? Pamata komandas. Sikspārņu faili, piemēri Sikspārņu failu saturs

    Sikspārņu failu komandas.  Kā izveidot sikspārņu failu?  Pamata komandas.  Sikspārņu faili, piemēri Sikspārņu failu saturs

    BAT fails ir programmas kods, kas saglabāts ar paplašinājumu .bat vai .CMD, kā vēlaties. Sikspārņu failu iespējas ir gandrīz neierobežotas, taču parasti...

    Kognitīvie bezvadu pašorganizējošie tīkli

    Kognitīvie bezvadu pašorganizējošie tīkli

    Iepriekš mēs apskatījām neironu tīklu pamata arhitektūras un to izveides, apmācības un darbības principus. Galvenā teorētiskā daļa...

    plūsmas attēls RSS