Plugin PHP inofensiv. Inserarea codului PHP într-o pagină

Aproape toți cei care conduc un blog pe WordPress și îl întrețin ei înșiși știu despre existența unui fișier magic functions.php. Este adesea folosit complet în alte scopuri, ceea ce poate duce la probleme semnificative. Să privim împreună această problemă mai detaliat.

Vă asigur că, după ce ați citit acest articol, vă veți schimba atitudinea față de pluginuri și veți înceta să adăugați un alt fragment de cod pe functions.php.

Pluginuri și funcții.php

Mulți proprietari de site-uri WordPress sunt ferm convinși că pluginurile cu siguranță vor încărca și încetini blogul. Și dacă doar adăugați codul la functions.php, acest lucru nu va afecta în niciun fel încărcarea. Din păcate, acest lucru nu este în întregime adevărat...

Cert este că încărcarea este cauzată nu în mod specific de plugin, ci de codul său scris incorect, care poate ajunge cu ușurință în functions.php din următorul manual.

Să ne uităm la principalele diferențe dintre plugin și functions.php.

Diferența fundamentală dintre un plugin și fișierul functions.php este scopul și ordinea de execuție.

De asemenea, este nefondat să credem că codul din functions.php se va executa mai repede decât în ​​plugin. Același cod în plugin și în functions.php va fi executat cu aceeași viteză și încărcare.

Foarte des probleme cu încărcătură mare apar din cauza funcționalității suplimentare a pluginurilor, iar viteza de încărcare a site-ului suferă din cauza scripturilor care conectează propriile stiluri, scripturi și alt conținut. Prin urmare, este important să acordați atenție alegerii pluginului pentru a evita problemele pe viitor.

Dacă sunteți un blogger obișnuit și sunteți departe de dezvoltarea web, atunci când alegeți un plugin, asigurați-vă că acordați atenție recenziilor din depozitul WordPress și de pe blogurile autorilor sau dezvoltatorilor web.

Dacă mai aveți îndoieli, faceți o ceașcă de cafea și asigurați-vă că citiți articolul lui Konstantin Kovshenin pe WP Magazine - „Întregul adevăr despre functions.php”. Prima parte explică simplu și clar de ce nu ar trebui să crezi în miturile despre functions.php.

Plugin ca alternativă la fișierul functions.php

Toate completările pe care le faceți fișierelor șablon (scripturi, contoare, funcții) se pot pierde atunci când schimbați tema activă sau îi aplicați actualizări. Pentru a evita acest lucru și pentru a nu crea haos în functions.php, vă sugerez să utilizați propriul plugin personal.

Să ne creăm propriul plugin - o alternativă la fișierul functions.php. Nu te speria, va arăta exact ca funcțiile tale preferate.php :) Tot ce trebuie să faceți este să adăugați pur și simplu un plugin gol pe site-ul dvs. Și apoi puteți introduce codul necesar în el, așa cum ați făcut cu functions.php.

În primul rând, trebuie să creăm un fișier pe computerul nostru numit functionsphp.php și să îi adăugăm următorul cod:

. De obicei, dacă codul pe care îl introduceți are aceste etichete la început și la sfârșit, atunci acestea trebuie eliminate. De asemenea, fișierul functions.php nu ar trebui să afișeze niciun text (cod HTML sau alt conținut) pe ecran. Ieșirea textului este permisă numai în interiorul funcțiilor care vor fi utilizate ulterior în șablon sau care sunt atașate la cârlige (a se vedea mai jos pentru mai multe detalii).

Nu puteți permite niciun caracter înainte de , inclusiv caractere invizibile (întreruperi de linie), deoarece functions.php este conectat înainte de a seta antetele http (astfel de anteturi transmit diverse date, de exemplu, că acesta este un document html; că codificarea utf-8 este diferită ). Conform regulilor PHP, conținutul ar trebui să fie afișat pe ecran după trimiterea antetelor. Și tot ce este în afara acestuia este conținut - chiar și text afișat pe ecran simbol invizibil\n. Prin urmare, acest text provoacă o eroare.

Pentru a evita erorile, luați în considerare 4 puncte: # 1 Imbricarea corectă

De exemplu, am avut această structură:

.......aici este codul......... ?>

Corect asa:

# 2 Fără întreruperi de rând, spații, text înainte

Acest cod va provoca o eroare:

Dar acesta nu:

Este mai logic să scrii așa:

Se întâmplă ca o întrerupere de linie să fie plasată chiar la sfârșitul funcțiilor.php, iar apoi aceasta devine o problemă reală, deoarece totul pare să fie corect, dar site-ul nu funcționează. De fapt, după?> sau înainte să existe o linie goală

Din acest motiv, mulți dezvoltatori elimină complet eticheta de închidere ?>; acest lucru este acceptabil în PHP. Vă recomand să faceți întotdeauna acest lucru:

în interiorul funcțiilor PHP

Dacă există o funcție în functions.php, atunci etichetele pot fi folosite în interiorul acestei funcții, de exemplu, pentru a evidenția vizual codul HTML din interiorul funcției:

acesta este codul html

Cert este că în acest caz funcția este doar înregistrată și nu efectuează nicio acțiune. Tot ceea ce este în interiorul unei funcții (între ( )) nu funcționează până când această funcție este apelată, iar astfel de funcții sunt de obicei apelate dintr-un șablon sau prin filtre, după ce anteturile HTTP au fost trimise. Prin urmare, în acest exemplu, putem ignora rupturile de linie și putem folosi ?> și .

Pluginul Exec-PHP se află în depozit și este instalat prin meniul din panoul de administrare al motorului.

Dintre setări, există doar una - permisiunea/interzicerea executării codului într-un widget text, nu există nicio opțiune de a dezactiva lucrul în postări și în pagini, dacă trebuie să îl eliminați, dezactivați pluginul.

Pentru a introduce cod PHP într-un articol, acesta trebuie să fie comutat în modul HTML (fila Text). Modul vizual va strica codul cel mai probabil.

Executarea codului PHP în articolele WordPress fără un plugin

Prin analogie cu widget-urile, putem înlocui pluginul cu o funcție specială care permite execuția Scripturi PHP in continut. Din păcate, nu am reușit să găsesc o opțiune în care codul să funcționeze automat ca în cazul unui plugin, reacționând la etichete. Necesită utilizarea unui cod scurt. Cunoștințele mele despre PHP nu au fost suficiente pentru a le scrie eu funcția necesară, așa că o voi da așa cum este. Lucrul cu un shortcode are un dezavantaj semnificativ care complică munca, îl voi discuta mai jos.

Cum se utilizează funcția de mai jos

  • Îl lipim în fișierul functions.php al temei;
  • La locul potrivit în articol inserăm construcția - cod executabil fără
  • Funcţie:

    /* Rulați php în articole și Pagini WordPress: cod */ function start_php($match)( eval("ob_start();".$match."$inline_execute_output = ob_get_contents();ob_end_clean();"); return $inline_execute_output; ) function inline_php($content)( $conținut = preg_replace_callback("/\((.|\n)*?)\[\/startphp\]/", "start_php", $conținut); $conținut = preg_replace("/\(((.|\n )*?)\[\/startphp\]/", "$1", $conținut); returnează $conținut; ) add_filter ("the_content", "inline_php");

    /* Rulați php în articole și pagini WordPress: cod */

    funcția start_php ($match) (

    eval ("ob_start();" . $match [ 1 ] . "$inline_execute_output = ob_get_contents();ob_end_clean();" );

    return $inline_execute_output ;

    funcția inline_php ($conținut) (

    $conținut = preg_replace_callback ("/\((.|\n)*?)\[\/startphp\]/" , "start_php" , $conținut ) ;

    $conținut = preg_replace ("/\(((.|\n)*?)\[\/startphp\]/" , "$1" , $conținut ) ;

    returnează $conținut ;

    add_filter ("conținutul" , "inline_php" );

    Defect

    Dacă în interiorul codului PHP inserat există Inserări HTML sau text, nu va funcționa. Orice text sau etichete vor trebui introduse folosind comanda echo, ceea ce nu este întotdeauna convenabil. Adică, codul trebuie să fie pur PHP cu 100 de formate corecte.

    Dreapta

    Echo „Așa va funcționa”;

    [starpphp]

    echo „Așa va funcționa” ;

    [/startphp]

    Gresit

    La sfârșitul anilor ’90, rubrica „Oameni” a lui Denise Dufala din Cleveland Plain Dealer îi prezenta pe cei din nord-estul Ohio care fac o diferență în societate și le-a oferit cititorilor vești bune pe pagina 2 a Sunday Paper. Ea promovează în mod constant soluții sustenabile, inovatoare și sustenabile pentru cele mai presante provocări ale regiunii și oferă servicii fie unei organizații, fie unei varietăți de activități de voluntariat. Femeile Lakewood.

    Thomasina din Temecula

    Planificarea familiei Oferim o gamă largă de contraceptive pentru a vă ajuta în planificarea familială. Sunt cele mai muncitoare, angajate și neînfricate femei pe care le cunosc.. Femeile Temecula.

    Iedera din Hayward

    Mentalității lor de numărare a fasolei îi pasă dacă femeile participă în mod egal, fără a se întreba la ce participă sau dacă participarea lor este ceva mai mult decât ceremonială. Dar restul este tăcere feministă.. Hayward Musulmane femei singure.

    Lynnette din Sacramento

    Pamela Lopez, partener la o firmă de lobby din Sacramento, a spus că de ani de zile s-a confruntat cu sugestii nepotrivite din partea oficialilor bărbați, dar cel mai deranjant episod a avut loc la începutul anului trecut, la o adunare socială a avocaților și lobbyștilor într-un bar din Sacramento. Pot să mă descurc.. Femeile din Sacramento.

    Elinor din Clarksville

    Disqus oferă cel mai bun supliment instrumente pentru site-uri web pentru a crește implicarea, ajutăm editorii să alimenteze discuțiile online cu comentarii și. Acolo veți avea ocazia să vă găsiți o potrivire perfectă bazată nu doar pe aspectul fizic, ci și pe compatibilitatea fiziologică.. Clarksville Musulmane femei singure.

    Gillian din Sterling Heights

    Vorbitorul, identificat ca o femeie albă pe nume „Deena”, refuză să-și dea numele complet sau numele organizației pe care o conduce. Este o parte importantă a discuțiilor zilei: ZBA a organizat prima audiere publică pe această temă în decembrie. Femei musulmane singure din Sterling Heights.

    Eugenia din Olathe

    Rutele 83 și 81, precum și porțiunea de sud-vest a statului de-a lungul și la sud de U. Treimea vestică a statului - din aproximativ U.. Olathe femei singure musulmane.

    Bucurie de la Oxnard

    Ea conduce o echipă de doamne care au inimă de decorat sau care doresc doar să dea o mână de ajutor. Ea a condus OC cu 17 puncte, 8 recuperări, 5 asistări și 5 furări. Oxnard femei.

    Phoebe din St. Louis

    Dar, lucrurile nu sunt destinat să meargă fără probleme. Deținut în prezent de stat, stadionul preferat este adiacent stației Union, în partea de vest a centrului St.. St. femeile Louis.

    Marilyn de la Pompano Beach

    Cumpărați lenjerie la modă, costume de baie măgulitoare pentru o vară elegantă Fără un costum de baie elegant, ați putea să vă considerați gata să participați la una dintre cele mai tari petreceri la piscină ale sezonului. Vei putea obține un look care se potrivește cel mai bine stilului tău personal fără a cheltui o avere.. Pompano Beach femei.

    Ruby de la Irving

    Membrii unui capitol din Texas al Ku Klux Klan s-au amestecat cu grupul, sub acoperire, cu ochi să își țină propriul marș mai târziu: Îi place să râdă și se bucură de viață. Problema este că Breitbart este aproape indescriptibil de rău la jurnalismul de bază - transmiterea de informații exacte.. Irving femei musulmane singure.

    Ophelia din Hialeah

    Potrivit documentelor de căsătorie din Florida, cuplul s-a căsătorit în Ea a început The Fitness Challenge știind că ceva trebuie să se schimbe. Citrus continuă să ofere servicii adulților și copiilor din spectrul nevoilor de sănătate mintală și comportamentală și este unul dintre cei mai mari furnizori de sănătate mintală și comportamentală din Florida de Sud.. Femeile Hialeah.

    Ericka din Shreveport

    Răsfoiți single-urile și reclamele personale din bengali pe lovehabibi - locul preferat de pe web pentru a vă conecta cu singuri bengali din întreaga lume. Musulmanii singuri convertiți muzmatch este cel mai rapidă creștere musulmană pentru modul în care facilitați și facilitați găsirea tinerilor musulmani. unul.. Shreveport femei musulmane singure.

    Rosanne din Tuscaloosa

    În colaborare cu UMW, Cultivate se străduiește să ofere mai multe oportunități femeilor de a se aduna și de a dezvolta relații semnificative pe măsură ce se apropie și mai mult de Hristos. Lucado invită cititorii să studieze Filipeni 4: Vom exersa vorbirea și ascultarea lui Dumnezeu prin multe formate și metode de jurnal. Femeile Tuscaloosa.

    Stella din Miami

    Sfaturi privind profilul de expert Alcătuirea unui profil de primă clasă este o parte foarte importantă a întâlnirilor online. D scrie despre motivul pentru care oamenii se luptă să renunțe și identifică cei 3 factori comuni care îi împiedică pe oameni să meargă mai departe. Femeile singure musulmane din Miami.

    Winifred din Las Cruces

    Intenția acestui program este de a preveni abuzul și neglijarea copiilor în familiile care se confruntă cu violența domestică, oferindu-le acestor părinți abilitățile și cunoștințele necesare pentru a reduce utilizarea violenței în relațiile cu copiii lor, pentru a îmbunătăți abilitățile de comunicare și pentru a întrerupe ciclul generațional de abuz. Nu lăsați un comentariu regulat dacă doriți ca această listă să fie actualizată rapid.. Las Cruces femei.

    Hollie din Round Rock

    Înțeleg recenzia anterioară despre recepție, deoarece atât de multe companii de asigurări necesită o „recomandare”. Bruce și-a citit scanările făcute la Urgențele de la Seton Williamson. Femeile din Round Rock.