Plugin-uri „forțate” în WordPress

Ieri am aflat o treabă foarte utilă despre plugin-urile din WordPress. Să detaliem.

Ca dezvoltator de teme personalizate sunt pus de multe ori în situația în care am de ales: ori pun toate fișierele cu funcții custom (ce nu sunt neapărat legate de temă cât de funcționalitatea site-ului; ex: custom taxonomies, custom post type etc) într-un director al temei și le includ din functions.php, ori fac un plugin normal și îi explic clientului cum să-l activeze. De multe ori clientul este doar un intermediar, deci ar însemna să mă joc un fel de telefonul fără fir.

Cum ar fi dacă…

Cum ar fi dacă ai putea să faci plugin-uri ce se activează singure și nu pot fi dezactivate? Ei bine, asta e șmecheria de care ți-am zis că am aflat-o ieri.

Orice fișier pui în wp-content/mu-plugins va fi încărcat automat, ca plugin. Atenție! Treaba asta merge doar dacă ai fișierul direct în folderul mu-plugins, fără alte sub-directoare.

În acest fel poți livra tema de wordpress sub forma unui folder numit wp-content ce are următoarea structură:

/wp-content/themes/tema_custom
/wp-content/mu-plugins/index.php
/wp-content/mu-plugins/custom_post_type.php
/wp-content/mu-plugins/custom_fields.php
...

Îi spui clientului: „bă, asta o extragi în root” și… Cam asta e.

4 Comentarii to “Plugin-uri „forțate” în WordPress”

  1. Super tare ideea + ca te scapa de toate problemele gen : “hai sa mutam pe server, trebuie copiate fisierele x,y,z in folderele a,b,c”.
    Care e ideea cu “și nu pot fi dezactivate”? Sa inteleg ca nu apar in admin panel-ul plugins?

  2. Staicu Ionuț-Bogdan

    Ștefan, exact. Nu apar în pagina de plugins și singura modalitate de a le dezactiva este să le ștergi.

  3. Dupa o juma de an de cand am citit postarea, ieri am avut nevoie de chestia asta si mi-am amintit de postarea asta, deci thanks! :D

    Utila chestie. Partea proasta e ca pluginurile nu se updateaza automat si nu pot fi adaugate foldere. Dar decat deloc, e bine si asa.
    Mi-a trebuit chestia asta pentru pluginul advanced custom fields (mi-e lene sa scriu custom field-urile manual) ca sa fiu sigur ca nu il dezactiveaza clientu’ si dup-aia sa inceapa mailurile de genu “Ba! Nu mai merge!!”. Am aruncat fisierele pluginului vrac in mu-plugins si a functionat.

  4. Staicu Ionuț-Bogdan

    @Ioni: poti face următoarea chestie: un fișier index.php care include restul de plugins (aranjate în foldere). Treaba cu update-urile automate nu e atât de gravă, mai ales dacă folosești pluginuri custom (cum fac eu)

Show trackbacks

Ți-a plăcut articolul? Lasă un comentariu!

You can insert code snippets using BBcode:
[js].[/js] [html].[/html] [php].[/php] [css].[/css]
You can also use some HTML tags:
<blockquote>.</blockquote> <code>.</code> <a href="">.</a> <strong>.</strong> <em>.</em>