Cum se introduce butonul în editorul de WordPress - cum să adăugați un buton pentru a TinyMCE WordPress - Cârlige wp (wp)

Cel mai important lucru în motor, care pretinde a fi universal - extensibilitate și scalabilitate. Avand in vedere ca orice CMS acel moment o dată menționat în trecere sau ignora cu totul - și, de fapt, neagă faptul că același VIs devenit popular tocmai din cauza acestor proprietăți, nimeni nu va.

Unul are doar pentru a vedea modul în care de-a lungul cod împrăștiate cârlige pe care să stea acțiunile lor în aproape fiecare etapă de execuție a script-uri și extinde funcționalitatea blog-ul în orice parte a Frontend admin (din păcate, nu este până la sfârșitul anului - există o serie de blocaje care limitează fantezie Developer). Și să spun datorită dezvoltatorii cel puțin pentru asta.

Dar, mai întâi, să vedem cum se face într-o versiune non-vizual.

Am conectat quicktags.js, în interior - o serie de butoane conectate el funcționalitate de manipulare. Sarcina este simplu - fără a schimba fișierul în sine, pentru a adăuga la matrice o altă valoare corespunzătoare noii cheie.

Noi conectam funcția noastră la acțiunea în Hede admin.

Desigur, nu modificările ar trebui să fie numai pe anumite pagini - crearea / înregistrarea / editarea paginii (puteți adăuga, de asemenea, tablouri de bord pentru noi versiuni). Am folosit preg_match pentru ce atât pagina post.php și post-new.php (de exemplu, verificarea numai pe pagină pentru a crea și edita numai posturi) să definească, dar se poate face în mod diferit.

Mici caveat - quicktags.js script-ul în sine este conectat la un apel la funcția pe care afișează bara de instrumente cu ajutorul butoanelor, dar pe pagina pentru a crea un nou record nu este în cheder. Prin urmare, este necesar să se definească mai devreme - în VI, așa cum era de așteptat, există o caracteristică specială, care asigură faptul că script-urile nu au conectat de câteva ori:

Ei bine, atunci avem nevoie pentru a aduce un scurt script care se va adăuga la gama de noi valori cu valorile corespunzătoare. Aici, de exemplu, ca un „look“ buton kata:

edButtons [edButtons.length] = new edButton ( 'ed_more', 'mai mult', "'' '' T“, -1);

în cazul în care comanda: id-ul (un nume unic pentru butonul), afișare (ceva care va fi scris), tagStart (tag-ul de la început), tagEnd (tag-ul la sfârșitul anului - poate fi un șir gol), accesul (butonul pe care este disponibil de la tastatura ), deschis (sau parametru este trecut, sau este -1 - dacă tag-ul final nu este necesar).

Ei bine, la toate modificările noastre script de configurare au fost făcute sunt garantate în mod corect deduce această piesă ecou prin adăugarea manuală de caractere newline și file, precum și scut js-cod. Incheiem codul nostru ca acesta (de exemplu, de la remix ljxp):

Cum să adăugați butoane la TinyMCE WordPress

Pentru început, presupunem că muncitorul butonul TinyMCE-plug vom afla în dosarul EP-plugin. În acest din urmă, avem nevoie de 4 funcții de lucru pe fiecare cârlig:

În primul rând, este ea însăși butonul Înregistrare din scriptul de inițializare - avem nevoie pentru a adăuga la gama existentă de butoane titlu, plus, eventual, separatoare (separator sau |).

Pe lângă 2.7 vom specifica imediat și numele de plugin-ul, și calea spre ea (cu numele de fișier plugin) - calea în% plugins_url% utilizare relativă.

Pentru a face mai ușor pentru a specifica modul în care puteți utiliza PHP-funcția plugins_url ( „nazvanie_plagina / calea de urmat“), care va reveni calea absolută, adăugând rândul. Dar versiunile mai vechi ale acestei funcții, pur și simplu nu au, așa că ar trebui să ia în considerare acest lucru (înlocuit cu prima linie):

Pentru versiunile mai vechi ale PE (și, prin urmare - și mai în vârstă, TinyMCE) au nevoie din nou în matrice pentru a adăuga plugin nume, pune o cratimă în fața lor (acest lucru indică un script care plugin extern).

Pentru versiunile mai vechi de 2.5 PE va trebui, de asemenea, să se specifice în cazul în care este plug extern - PLUGIN_PATH aici - o cale absolută, și numai în dosarul în cazul în care nu există editor_plugin.js (nici un fișier).

Rămâne doar să se conecteze în mod corespunzător aceste funcții corespunzătoare Hukam. Făcând acest lucru va la inițializare, testare - dacă utilizatorul curent are dreptul de a vedea dacă suntem pe acea pagina, editare, și - dacă editare vizuală este activată.

Nu confunda jocurile de actiune numele tinymce_before_init - versiuni mai noi au, de asemenea, tiny_mce_before_init. dar filtrul, mai degrabă decât o acțiune, și este utilizat în alte scopuri.

Crearea unui TinyMCE plug-in

Cu toate că, în general, totul este simplu - în editor_plugin.js definim butonul să stea pe ei pași, adăugați imagini, și, dacă este necesar, fișiere în mai multe limbi (de altfel, acestea din urmă sunt conectate, nu în masă, și deversând direct în codul HTML în noua PAC).

Cea mai grea parte - este procesarea acțiunii prin apăsarea unui buton (lista de comandă în wiki).

Mai ales se referă la introducerea etichetelor personalizate - mceReplaceContent chiar și în versiunile mai noi nu funcționează corect, va șterge toate clearance-ul în conținutul evidențiat. Acest cod „utilizarea corectă“ refuză să lucreze la toate. Dacă utilizați un link-uri cu id-ul de inserare temporală, și apoi de a transforma toate aceste elemente în tag-ul necesar, atunci acesta poate fi doar elementul inlaynovy, sau trebuie să-și petreacă o curățare suplimentară.

Dacă ceva nu este clar sau nu funcționează - puteți căuta întotdeauna gugloyandeksah sau codul altcuiva.