Plugin php necunoscut. Creăm un plugin special pentru funcții WordPress. De ce codul PHP nu funcționează implicit

WordPress are o funcție de executare a codurilor HTML inserate în pagini statice sau de postare, precum și prin intermediul widget-ului " Text„. În plus, el poate corecta codul HTML incorect.

Dar cum se face Execuție PHP cod pe paginile blogului dvs. pentru cei care nu sunt familiarizați cu complexitatea PHPși nu veți putea introduce corect codul PHP într-o postare sau pagină fără această cunoștință?

Datorită flexibilității WP, problema poate fi rezolvată prin instalarea extensiei Exec-PHP. Datorită acestui plugin, codul dvs. php este inserat într-o pagină sau postare de blog în Editor HTML, va fi executat. În plus, pluginul poate executa cod PHP în widget-uri text. Pentru cei care au nevoie să instaleze cod PHP în bara laterală sau subsolul blogului, este potrivit un plugin mai ușor.

Instalarea și configurarea Exec-PHP.

  1. Descarca ultima versiune plugin-ul de pe pagina autorului este posibil.
  2. Instalați și activați pluginul.

Dacă în setările pluginului OpțiuniExec- PHP nu veți debifa caseta de selectare implicită " PerformanţăPHPcod în widget-uri text „atunci codul va fi executat în widgetul WordPress” Text".

În continuare mergi la OpțiuniScris si debifati " WordPresstrebuie corectat incorectHTMLcod automat ".

Asta este tot. Codul dvs. php va fi, de asemenea, executat în widget" Text", și pe o pagină sau o postare de blog oriunde o lipiți.

Inserarea codului PHP într-o pagină actualizat: 24 decembrie 2016 de: Roman Vahovsky

8 răspunsuri

Puteți utiliza șablonul Observator. O modalitate funcțională simplă de a realiza acest lucru:

Concluzie:

Aceasta este aplicația mea CRAZY 4 + 5 = 9 4 * 5 = 20

Note:

În acest exemplu cod sursa trebuie să vă declarați toate pluginurile înainte de codul sursă real pe care doriți să îl extindeți. Am inclus un exemplu despre cum să gestionați una sau mai multe valori transmise pluginului. Cea mai grea parte a acestui lucru este scrierea documentației reale care listează ce argumente sunt transmise fiecărui cârlig.

Aceasta este doar o modalitate de a crea un sistem de pluginuri în PHP. Mânca cele mai bune alternative, vă sugerez să consultați documentația WordPress pentru mai multe informații.

Ne pare rău, se pare că liniuțele de subliniere sunt înlocuite obiecte HTML Reducere? S-ar putea să postez din nou acest cod odată ce această eroare este remediată.

Editare: nu contează, apare doar când editați

Deci, să presupunem că nu aveți nevoie de modelul Observer, deoarece necesită să schimbați metodele de clasă pentru a gestiona sarcina de ascultare și doriți ceva generic. Și să presupunem că nu doriți să utilizați moștenirea extinde, deoarece este posibil să vă moșteniți deja clasa de la o altă clasă. Ar fi grozav să ai metoda generala face orice clasă conectabilă fără efort deosebit? Iată cum:

_Class = get_class(&$RefObject); $this->_RefObject = $RefObject; ) funcție publică __set($sProperty,$mixed) ( $sPlugin = $this->_Class . "_" . $sProperty . "_setEvent"; if (is_callable($sPlugin))) ( $mixed = call_user_func_array($sPlugin, $ mixt); ) $this->_RefObject->$sProperty = $mixed) funcția publică __get($sProperty) ( $asItems = (array) $this->_RefObject; $mixed = $asItems[$sProperty]; $sPlugin = $this->_Class . "_getEvent" if (is_callable($sPlugin)) ( $mixed = call_user_func_array($sPlugin, $mixed); ) return $sMethod, $sPlugin = $this->_Class . "_" $sMethod . "_beforeEvent"; call_user_func_array(&$this->_RefObject, $sPlugin = $this->_Class "_afterEvent" if ( is_callable($sPlugin)(_) . $sPlugin, $mixed ) ) ) ) //termină clasă Plugin Pluggable extinde Plugin ( ) //termină clasa Pluggable ////////////// ////// // PART 2 //////////////////// clasa Câine ( public $Name = ""; funcția publică bark(&$sHow) ( echo „$sHow
\n"; ) funcția publică sayName() ( echo "
\nNumele meu este: " . $this->Name . "
\n"; ) ) //termină clasa Câine $Dog = câine nou(); //////////////////// // PARTEA 3 /////// ///////////// $PDog = new Pluggable($Dog); funcția Dog_bark_beforeEvent(&$mixed) ( $mixed = "Woof"; // Ignorați rostirea "Miau" cu "Woof" / /$mixed = "BLOCK_EVENT" // dacă doriți să blocați evenimentul return $mixed ) funcția Dog_bark_afterEvent(&$mixed) ( echo $mixed; // afișează override ) funcția Dog_Name_setEvent(&$mixed); = "Coco" // suprascrie "Fido" cu "Coco" return $mixed ) function Dog_Name_getEvent(&$mixed) ($mixed = "Diferent"; // suprascrie "Coco" cu "Diferent" return $mix; ) //////////////////// // PARTEA 4 ​​//////////////////// $PDog-> Nume = "Fido"; $PDog->Bark("miau");

Prima parte este ceea ce puteți activa cu un apel require_once() în partea de sus a scriptului dumneavoastră PHP. Încarcă cursuri pentru a face ceva conectabil.

În partea 2 unde încărcăm clasa. Notă. Nu a trebuit să fac nimic special pentru clasă, care este semnificativ diferită de modelul Observer.

În partea 3, unde ne vom comuta clasa la „plug-in” (adică suportă pluginuri care ne permit să suprascriem metodele și proprietățile clasei). Deci, de exemplu, dacă aveți o aplicație web, este posibil să aveți un registru de pluginuri și puteți activa pluginuri aici. Rețineți și funcția Dog_bark_beforeEvent(). Dacă am setat $mixed = "BLOCK_EVENT" înainte de instrucțiunea return, acesta va bloca câinele să latre și, de asemenea, va bloca Dog_bark_afterEvent deoarece nu va exista niciun eveniment.

În partea 4, acesta este codul operațional normal, dar rețineți că ceea ce ați putea crede că nu va funcționa este modul în care funcționează. De exemplu, câinele nu își anunță numele ca „Fido”, ci ca „Coco”. Câinele nu spune „miau” ci „woof”. Și când vrei să cauți numele câinelui mai târziu, vei descoperi că este „Diverse” și nu „Coco”. Toate aceste modificări au fost introduse în partea 3.

Deci cum funcționează? Ei bine, să excludem eval() (pe care toată lumea spune că este „rău”) și să excludem că acesta nu este un șablon Observer. Deci modul în care funcționează este cu o clasă goală ascunsă numită Pluggable care nu conține metodele și proprietățile utilizate de clasa Dog. Astfel, pe măsură ce se întâmplă acest lucru, metode magice vor fi implementate pentru noi. De aceea, în părțile 3 și 4, ne legăm de obiectul derivat din clasa Pluggable, mai degrabă decât de clasa Dog în sine. În schimb, lăsăm clasa Plugin să „atingă” obiectul Dog pentru noi. (Dacă acesta este un design despre care nu știu - vă rog să-mi spuneți.)

Metoda cârlig și ascultător este cea mai des folosită, dar există și alte lucruri pe care le puteți face. În funcție de dimensiunea aplicației dvs. și de cine dorește să vadă codul (va fi un script FOSS sau ceva în casă) va influența foarte mult modul în care doriți să permiteți pluginurile.

kdeloach are un exemplu frumos, dar implementarea și funcția de cârlig sunt puțin sigure. V-aș ruga să oferiți mai multe informații despre natura aplicației php pentru scrisoarea dvs. și despre cum vedeți pluginurile.

1 a kdeloach de la mine.

Iată abordarea pe care am folosit-o, care este o încercare de a copia din mecanismul semnalelor/slot-urilor lui Qt, un fel de model Observer. Obiectele pot emite semnale. Fiecare semnal are un identificator în sistem - este alcătuit dintr-un id + un obiect de trimitere. Fiecare semnal poate fi legat de receptori, care sunt pur și simplu „callables”. Când se întâmplă ceva, trimiți un semnal. Mai jos este un exemplu și un exemplu de implementare

log in(); ?>

Cred că cea mai ușoară cale este să urmați sfatul lui Jeff și să aruncați o privire la codul existent. Încercați să vă uitați la Wordpress, Drupal, Joomla și alte CMS-uri PHP cunoscute pentru a vedea cum arată și cum se simt API-urile lor. În acest fel, s-ar putea chiar să obțineți idei la care poate nu v-ați gândit înainte pentru a face lucrurile puțin mai groase.

Un răspuns mai direct ar fi să scrii fișiere partajate, pe care le-ar include în fișierul include pentru a asigura ușurința în utilizare. Acesta va fi clasificat și NU furnizat într-un singur fișier MASSIVE „hooks.php”. Fiți atenți, pentru că ceea ce ajunge să se întâmple este că fișierele pe care le includ ajung să aibă din ce în ce mai multe dependențe și funcționalități. Încercați să limitați dependențele API. I.E. mai puține fișiere pentru a le porni.

Salutări, prieteni. Astăzi ne vom da seama cum să facem ca orice cod PHP să funcționeze în widget-uri, articole și pe paginile WordPress. În mod implicit, o astfel de funcție nu este disponibilă în acest CMS și maximul pe care se poate baza un utilizator este Implementarea HTML cod.

De ce codul PHP nu funcționează implicit

S-ar părea de ce dezvoltatorii nu au recompensat un astfel de popular și motor convenabil caracteristici utile pentru executarea automată a codului PHP. La început m-am gândit la asta, dar am ajuns la concluzia că o astfel de politică se duc dintr-o poziție de securitate, pentru că, inutil aplicarea PHPîn widget-uri sau în postări din interior poate duce la consecințe ireparabile - ceva din baza de date se va rupe și întregul site se va prăbuși.

Prin urmare, lucrul cu PHP este lăsat în seama programatorilor sau oamenilor mai mult sau mai puțin avansați în această chestiune - orice scripturi sunt executate direct în fișiere.

Pentru site-urile publice (unde există mai mulți autori), rularea PHP în corpul unui articol crește riscul de sabotaj deliberat, deoarece orice autor poate primi acces complet către site prin fereastra de editare a articolului.

În funcție de gradul de pericol, aș împărți toată această situație în 3 niveluri:

  1. Lăsând totul așa cum au intenționat dezvoltatorii, este dificil să deteriorați site-ul în siguranță, accidental sau intenționat.
  2. Permite execuția PHP în widget-uri – nivel mediu pericol, doar administratorul site-ului are acces.
  3. Folosirea codului peste tot este periculoasă, deoarece oricine are voie să editeze articole și pagini (moderatori, autori) poate gestiona site-ul.

De ce aveți nevoie de PHP în widget-uri?

Întrebarea este individuală, deoarece orice poate fi implementat folosind acest limbaj de programare. Personal, am fost solicitat să scriu această postare printr-o comandă de la un client al cărui site îl construiesc în prezent. A fost necesar să afișați în bara laterală într-un widget separat o listă de știri dintr-o categorie - „Știri”. Widgeturile standard WordPress nu au această caracteristică.

Întrebarea era între găsirea unui plugin cu capabilitățile adecvate sau utilizarea unui cod PHP simplu. Scriptul pentru o astfel de sarcină este foarte mic și nu am vrut să încarc site-ul cu un plugin suplimentar care să nu fie folosit în altă parte.

În general, permițând PHP să execute, putem rezolva 2 probleme:

  • Înlocuiți unele dintre pluginurile site-ului cu scripturi și în acest fel reduceți sarcina pe găzduire;
  • Implementați funcții pentru care plugin-uri încă nu există.

În prima etapă, voi vorbi despre widget-uri, iar apoi, într-un bloc separat, despre ieșirea codului în conținut.

Pluginuri PHP în widget-uri

Avantajul pluginurilor: La schimbarea temei Design WordPress Funcționalitatea funcțiilor adăugate șablonului nu este perturbată, totul continuă să funcționeze fără a necesita intervenția webmasterului. Cârligele adăugate șablonului la schimbarea temei vor trebui transferate manual pe cel nou.

În exemplul meu de mai sus, fac un site web pentru un client și dacă acesta dorește să schimbe singur designul, atunci setările făcute prin fișierele functions.php și altele vor dispărea, așa că îl fac cât mai ușor pentru el. pentru a gestiona site-ul, bazându-se pe pluginuri (mai ales în nișa sa traficul este mic și nu va fi prea multă încărcare).

Widget de cod PHP

Folosesc acest plugin în munca mea de mult timp se adaugă la lista de widget-uri disponibile, asemănător unui text obișnuit, capabil doar să proceseze PHP pe lângă text și HTML.

PHP Code Widget este prezent în depozitul oficial WordPress și poate fi găsit cu ușurință după nume. Cum se instalează astfel de pluginuri.

Nu sunt necesare setări; widgetul va apărea în listă imediat după instalarea și activarea pluginului. Trageți „Codul PHP” în bara laterală și adăugați orice script acolo.

PHP în widgetul WordPress fără plugin

În acest caz, avem nevoie de un cârlig care va înlocui functie standard, oferind de lucru text wordpress widget cu o funcție care permite procesarea PHP.

Acest cârlig este adăugat la fișierul functions.php al temei curente (la sfârșit, înainte de paranteza de închidere?>). După aceasta, nu apar opțiuni noi de widget, așa cum este cazul pluginului, coduri PHPîncepeți să lucrați în text standard.

Cod gata:

add_filter("widget_text"," text_html_php_widget ",100); funcția text_html_php_widget($text) ( if(strpos($text,"„.$text); $text = ob_get_contents(); ob_end_clean(); ) returnează $text; )

add_filter("text_widget", "text_html_php_widget", 100);

funcția text_html_php_widget ($text) (

dacă (strpos($text, "

Ob_start();

Eval(" ?> ". $text );

$text = ob_get_contents();

ob_end_clean();

returnează $text ;

Prima linie este un filtru care înlocuiește funcția standard text widget cu una nouă - text_html_php_widget - de fiecare dată când este apelată, iar apoi există o descriere a noii funcție în sine.

De ce codul PHP în articole și postări WordPress

În interiorul postărilor, codul PHP executabil este necesar mult mai puțin frecvent decât în ​​widget-uri, așa că în prima parte a articolului m-am uitat separat la bara laterală, astfel încât să puteți evita conectarea inutilă a funcțiilor potențial periculoase.

Dar chiar și în postări este nevoie să folosiți scripturi. Cel mai exemplu comun– aceasta este rezultatul unui sitemap fără un plugin. Adevărat, puteți folosi o altă tehnică pentru hartă - faceți un șablon de pagină special (acesta este un subiect separat).

Odată am avut nevoie să scot PHP în următorul scop:

Am facut un site video. Episoadele serialului erau afișate în playlisturi pe sezon, iar sub fiecare playlist al sezonului a fost necesar să afișați o listă de episoade cu un link către pagina dvs. Arată ca o hartă a site-ului, doar mai complicată - concluzia trebuia trasă din liste de secțiuni individuale. A fost posibil să introduceți manual fiecare link folosind codul HTML, dar există câteva sute de episoade și procedura este plictisitoare. Mai mult, dacă a apărut o nouă serie, ar trebui adăugat manual un link către ea - incomod. Așa că am decis să folosesc funcțiile PHP pentru implementare.

Plugin pentru execuția PHP în conținutul Exec-PHP

În ciuda faptului că acest plugin nu a fost actualizat de 7 ani, își face treaba perfect. Și l-am ales dintr-un motiv - nu folosește coduri scurte ca concurenții săi, dar vă permite să-l inserați în postări Cod WordPress V formă pură, incepand cu .

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 insera cod PHP într-un articol, acesta trebuie tradus în Modul HTML(fila Text). Modul vizual, cel mai probabil, codul va fi corupt.

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

Prin analogie cu widget-urile, putem înlocui pluginul cu functie speciala, permițând executarea 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 dezavantaj semnificativ, ceea ce complică munca, despre asta voi vorbi mai jos.

Cum se utilizează funcția de mai jos

  1. Îl lipim în fișierul functions.php al temei;
  2. La locul potrivit în articol inserăm o construcție - cod executabil fără

Funcţie:

/* Rularea php în articole și pagini WordPress: cod */ function start_php($matches)( eval("ob_start();".$matches."$inline_execute_output = ob_get_contents();ob_end_clean();"); return $inline_execute_output ; ) function inline_php($content)( $content = preg_replace_callback("/\(((.|\n)*?)\[\/startphp\]/", "start_php", $content); $content = preg_replace( "/\((.|\n)*?)\[\/startphp\]/", "$1", $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 comenzi eco, 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]

ecou „Așa va funcționa”;

[/startphp]

Gresit

Varianta de 7 mai PHP a fost lansat în ultimul 2015. Noua rundaîn dezvoltarea acestui limbaj de programare a adus multe oportunități pentru toți cei care folosesc PHP. Printre avantaje versiune noua viteza trebuie evidenţiată. Deci, potrivit dezvoltatorilor, viteza scripturilor este PHP 7, comparat cu Versiuni anterioare, aproape sa dublat. În acest sens, mulți proprietari de site-uri care au versiuni mai vechi instalate PHP, doriți să treceți la unul nou.

De ce să verificați compatibilitatea?

Trebuie remarcat faptul că înainte de a schimba versiunea în panoul de control al găzduirii dvs PHP la unul mai nou și mai rapid, trebuie să verificați site-ul WordPress pentru compatibilitate cu acesta, și anume teme și pluginuri. Această nevoie apare deoarece, de obicei, în versiuni noi software unele funcții sunt adăugate, iar unele încetează să mai existe cu totul. Dacă un plugin sau o temă utilizează funcții sau metode care nu există în noua versiune, atunci acesta este un semn al unei erori, care poate perturba funcționarea site-ului în ansamblu.

Cum se verifică compatibilitatea cu PHP 7.0?

PHP Compatibility Checker Plugin

Pluginul PHP Compatibility Checker vă permite să scanați întregul site și să indicați care dintre componentele acestuia (teme, plugin-uri) nu sunt compatibile cu versiunea selectată PHP. Mai întâi trebuie să îl instalați și să îl activați, apoi mergeți la panoul de administrare Instrumente -> Compatibilitate PHP.

După cum puteți vedea, pluginul oferă setări foarte clare. Pentru a începe verificarea, trebuie să selectați o versiune PHP, pentru compatibilitatea cu care doriți să verificați site-ul (block Versiunea PHP). Funcție convenabilă pluginul este de a selecta starea componentelor care sunt verificate. Există două opțiuni disponibile pentru a alege: fie bifați printre temele și pluginurile active, fie în cele inactive (câmp Stare plugin/temă). Pentru a începe verificarea, trebuie să apăsați butonul Scanați din nou site-ul.

Rezultatul testului poate fi, de asemenea, descărcat în fisier text făcând clic pe butonul Descărcați raportul.

Acesta este fișierul principal din dvs Tema WordPress. Situat în /wp-content/themes/(numele temei dvs. aici)/functions.php.
Definește proprietăți importante ale temei, personalizează cârlige, aspectși funcționalitatea acestuia și adaugă, de asemenea, unele dintre funcțiile de care aveți nevoie. Acest fișier este descărcat de fiecare dată când deschideți unul Pagini WordPress, astfel încât să îl puteți folosi pentru a schimba orice element al site-ului. În acest sens, multe sfaturi la " cum să schimbi ceva în WordPress fără pluginuri ” se referă adesea în mod specific la efectuarea de modificări la functions.php, în loc să creeze un plugin separat pentru această funcționalitate sau să utilizeze o soluție gata făcută. Acest lucru duce adesea la supraîncărcare informațională acest fișier, codul devine dificil de analizat și face corecturile și mai dificile. Dar acesta nu este cel mai periculos lucru. Cel mai periculos lucru este că Când schimbați tema activă, unele sau toate funcționalitățile necesare ale site-ului vor dispărea.

Care este diferența dintre functions.php și un plugin?

Nimic. În esență, functions.php este un fel de plugin global nedezactivat care este legat de tema curentă. Puteți vedea cum este conectat în WordPress în wp-settings.php. După cum se poate vedea din codul sursă, este încărcat după toate pluginurile, cu toate acestea, acest lucru nu oferă niciun dezavantaj sau avantaj, cu excepția posibilității de a suprascrie ceva în pluginurile conectate. Acest lucru nu va afecta nici viteza de execuție a codului. Numai conținutul pluginurilor și functions.php este afectat. Prin urmare, aveți grijă când alegeți pluginuri active pentru tema dvs. și aruncați-le pe cele inutile care vă sunt de puțin folos, apoi vă puteți face site-ul mai ușor și vă puteți accelera funcționarea.

Când să folosiți functions.php

Urmați această regulă: dacă funcționalitatea este direct legată de tema curentă, dar nu și de funcționarea site-ului, scrieți-o în functions.php.

De exemplu, ar putea fi

  • Configurarea miniaturilor
  • Setarea dimensiunilor barei laterale
  • Configurarea locurilor pentru widget-uri
  • Declararea locurilor în meniul de navigare
  • Setari tema
  • Caracteristici suplimentare ale temei dvs

Când să evitați utilizarea Functions.php

Dacă funcționalitatea trebuie să funcționeze chiar și atunci când tema activă este schimbată, ar trebui să aveți grijă să o mutați într-un plugin separat.
Aceasta poate include:

  • Determinarea contoarelor de trafic (Google Analytics, Yandex.Metrika, Liveinternet)
  • Configurarea unei funcționalități suplimentare de administrare (de exemplu)
  • Configurare cod sursă()
  • Definirea codurilor scurte
  • Înregistrare

Listele sunt incomplete, le puteți determina singur conținutul.

Unde să depună acest cod dacă nu în functions.php? Puteți scrie plugin-uri speciale pentru ei, cu toate acestea, există o modalitate mai interesantă și mai simplă.

mu-plugins ca alternativă la functions.php

Vizitați-ne la versiuni moderne WordPress de la WordPress MU (Multi-User) a venit cu o funcționalitate interesantă numită Pluginuri MU. Esența sa a fost următoarea. Administratorul WordPress MU trebuia uneori să definească pluginuri pentru o întreagă rețea de site-uri. Funcționalitate obișnuită acest lucru nu a putut fi realizat, așa că au introdus o secțiune specială: /wp-content/mu-plugins/, unde au fost definite. Un alt lucru interesant este că fișierele plugin din acest director sunt încărcate înaintea tuturor celorlalte, ceea ce face posibilă predefinirea unor constante sau setări.
Ulterior, WPMU a fost desființat, codul său a fost integrat cu blogul principal, iar acum orice WordPress poate folosi funcționalitatea MU-plugins, care acum înseamnă Trebuie folosit, adică obligatoriu pentru utilizare.

Cum se utilizează mu-plugin-urile

Mai întâi trebuie să creați o secțiune specială /wp-content/mu-plugins/
Am plasat fișierele plugin necesare în el. Spre deosebire de pluginurile obișnuite, nu este nevoie să se mențină o sintaxă specială, iar funcționalitatea poate fi declarată direct

Aici, de exemplu, a fost creat un fișier cu cod de contor de prezență.
În interiorul acestui fișier arată așa

// ...În locul acestei linii, introduceți codul contorului...

În panoul de administrare va arăta ca Necesar