Primul tău plugin WordPress!


Cu un minim de cunoştinţe PHP dispar în mod magic multe dintre limitele pachetului WordPress (amintim, este un CMS – Content Management System). Încă de la primul sit făcut cu WP – acum mai bine de un an – am avut nevoie de anumite particularizări, care atunci trebuiau scrise într-un fişier – parcă – hacks.php (sau doar aşa am ştiut eu atunci). După impresionantul salt marcat de versiunea 1.5, şi mai apoi de cea 2.0 de la WP, mi-am mutat toate funcţiile PHP proprii în plugin-uri. Avantajul este că la un upgrade al WP, fişierele din directorul wp-content nu sunt niciodată afectate, astfel că nu ai cum să pierzi codurile proprii. În plus, dacă în timp faci mai multe situri cu WP, aproape sigur vei avea nevoie în fiecare caz de funcţii scrise deja de tine, aşa că dacă îţi scrii propriul plugin viaţa îţi este mai uşoară.

În cele ce urmează nu am de gând să prezint exhaustiv cum se scrie un plugin. O documentaţie (în engleză, minimalistă dar ceva mai largă totuşi) se găseşte aici: Writing a Plugin. Voi lua însă un caz simplu de plugin (atât de simplu încât am constatat că este folosit de toţi cei care scriu un astfel de material introductiv despre plugin-uri). Să trecem deci direct la treabă!

Cu editorul Dvs favorit (poate fi şi Notepad), deschideţi un fişier text şi salvaţi-l aşa gol să zicem cu titlul primul-meu-plugin.php

Între tagurile specifice PHP vom avea trei părţi importante:

1. Header-ul pluginului, care conţine informaţii despre plugin şi despre Dvs.

2. Definirea unei funcţii care în cazul nostru înlocuieşte stringul CMS cu Content Management System

3. Ataşarea funcţiei ca filtru pe conţinut

<?php

/*
Plugin Name: primulPlugin
Plugin URI: http://www.cnet.ro/
Description: Un plugin facut in joaca
Version: 1.0 Beta
Author: Ion Popescu
Author URI: http://www.cnet.ro/
*/

function filtru_continut( $content ) {
$content = str_replace(„CMS”,”Content Management System”,$content);
return $content;
}

add_filter(‘the_content’,’filtru_continut’);

?>

Prima secţiune cred că este suficient de explicită. Indicaţi acolo numele dorit (el va apare ca numele pluginului când veţi dori activarea lui), notaţi versiunea după cum progresaţi în scrierea lui şi bineînţeles popularizaţi-vă situl, în caz că veţi face public pluginul. A doua secţiune defineşte o banală funcţie în care tot ce facem este o înlocuire în stringul sosit ca parametru a tuturor secvenţelor „CMS” cu secvenţa „Content Management System”. La final returnăm parametrul, dar modificat. În fine, esenţa este linia de cod cu add_filter. După cum vedeţi, aceasta asociază la the_content funcţia scrisă de noi. Adică?

Dacă veţi copia fişierul PHP în directorul wp-content/plugins şi îl veţi activa, orice text în care Dvs aţi scris CMS, la afişare va avea înlocuite cele trei litere cu Content Management System. Să ne imaginăm alte exemple. Blogul Dvs este de medicină, fiind dedicat muşchiului sternocleidomastoidian. În fiecare articol scrieţi cam de zece ori sternocleidomastoidian. De ce să vă obosiţi degetele? Definiţi un plugin care să afişeze sternocleidomastoidian peste tot pe unde Dvs scrieţi de exemplu STERNO. Utilizările sunt multe! Am putea de exemplu scrie un plugin care ori de câte ori găseşte în conţinutul articolului secvenţa Catholica.ro o înlocuieşte cu <a target=”_blank” href=”http://www.catholica.ro/”>www.catholica.ro</a>. Sau unul care să scrie cu roşu anumite cuvinte cheie. Aproape în fiecare blog se poate găsi o utilizare pentru o astfel de funcţie.

Dar filtrele (pentru că funcţia add_filter, aţi ghicit, adaugă un filtru) nu se limintează la conţinut (the_content). Puteţi aplica filtre pe comentarii, pe titluri, pe categorii… Puteţi scrie un plugin cu o funcţie care să fie aplicată asupra conţinutului unei postări după publicarea ei. În fine, oferta la capitolul filtre este prezentată mai pe larg aici: Filters.

Cam atât pentru moment. Sper ca scurta demonstraţie să vă fi convins că nu este greu să îţi scrii propriul tău plugin. Este vorba doar de un fişier PHP cu un header cu nişte informaţii stas, apoi funcţiile dorite. Poate în alte materiale vom vorbi despre cum se scriu pluginuri care să intervină în partea front-end şi/sau back-end a WP. Până atunci însă vă invit să vă jucaţi cu filtrele, pentru a prinde curaj! :)


Apreciază articolul:

1 stea2 stea3 stea4 stea5 stea (1 evaluări, media: 5,00 din 5)
Loading...Loading...

0 comentarii


Lasă un răspuns

Adresa ta de email nu va fi publicată. Câmpurile necesare sunt marcate *