Cum să creezi un plugin pentru widgeturi WordPress
Publicat: 2022-10-02Dacă ești fan WordPress, probabil că ești familiarizat cu widget-urile. Widgeturile sunt acele mici casete pe care le puteți adăuga în bara laterală sau în alte zone ale temei pregătite pentru widget-uri. Acestea conțin de obicei informații precum postările recente ale blogului dvs., feedul dvs. Twitter sau un calendar. Dar știați că vă puteți crea propriile widget-uri? De fapt, este destul de ușor de făcut. În acest articol, vă vom arăta cum să creați un plugin pentru widget WordPress. Vom începe prin a crea un fișier plugin de bază și apoi vom adăuga o clasă de widget . Apoi ne vom înregistra widget-ul astfel încât acesta să apară în administratorul WordPress. În cele din urmă, vom adăuga un cod pentru a afișa widget-ul nostru pe front-end-ul site-ului nostru. Să începem!
Am dezvoltat recent un plugin numit Freelancer Widgets Bundle. Când am fost întrebat ce ar trebui să scriu pentru un plugin, m-am gândit că este timpul să scriu această postare pentru că oamenii se întrebau despre asta. Când instalați un plugin WordPress, vi se cere să adăugați un cod suplimentar la acesta. Veți avea nevoie de un editor precum Coda (Mac) sau Dreamweaver (PC) pentru a vă dezvolta pluginul. Constructorul este funcția care definește numele widget-ului și argumentele principale; acesta este un exemplu despre cum ar putea arăta. Când faceți modificări în câmpurile formularului, asigurați-vă că utilizați esc_attr(), deoarece acest lucru se face din motive de securitate. Parametrul „customize_selective_refresh” permite ca widgetul să fie reîmprospătat sub Aspect, precum și atunci când îl editați.
Cu alte cuvinte, modificările aduse widget-ului nu trebuie să fie reîmprospătate pentru ca acesta să apară în listă. Toate etichetele, cu excepția textului de bază, sunt eliminate cu WP_strip_all_tags. WP_kses_post_string() este aceeași funcție ca șirul de conținut al postării. Această funcție va genera conținut pentru un site web utilizând funcția widget(). Această funcție poate fi personalizată pentru a include o anumită etichetă sau o anumită clasă. GitHub este locul ideal pentru a vizualiza întregul cod.
Când doriți să adăugați widget-ul la un site web, mergeți la pagina în care doriți să faceți acest lucru și inserați codul înainte ca eticheta HTML „/body” să se închidă. Este necesar să includeți codul în fiecare pagină web pe care doriți să afișați widget-ul. Verificați firewall-ul pentru a vedea dacă Web Widget (Classic) este activat.
Ambele sunt creaturi vizuale, dar cele două au caracteristici distincte, cum ar fi vizibilitatea și interacțiunea. Dacă pagina dvs. rulează fără probleme și corect în fundal, acesta este un plugin. Pentru ca un utilizator să interacționeze cu acesta pe pagină, acesta trebuie să fie vizibil pentru utilizator.
Cum creez un plugin Widget personalizat pentru WordPress?
Pentru a crea un plugin widget personalizat pentru WordPress, va trebui să creați un fișier PHP cu următorul cod: /* Nume plugin: [Nume plugin] Descriere: [Descriere plugin] */ // Înregistrați și încărcați widget-ul function [name_of_plugin]_load_widget() { register_widget( '[numele_de_plugin]' ); } add_action( 'widgets_init', '[name_of_plugin]_load_widget' ); // Crearea clasei de widget [name_of_plugin] extinde WP_Widget { function __construct() { parent::__construct( // ID-ul de bază al widget-ului dvs. „[name_of_plugin]”, // Numele widget-ului va apărea în UI __('[Numele pluginului] ]', '[name_of_plugin]'), // Widget description array( 'description' => __( '[Descrierea pluginului]', '[name_of_plugin]' ), ) ); } // Crearea unui widget front-end // Aici are loc acțiunea public function widget( $args, $instance ) { $title = apply_filters( 'widget_title', $instance['title'] ); // înainte și după argumentele widgetului sunt definite de teme echo $args['before_widget']; if ( ! empty( $title ) ) echo $args['before_title'] . $titlu . $args['after_title']; // Aici rulați codul și afișați ecoul de ieșire __( '[Numele pluginului]', '[numele_pluginului]' ); echo $args['after_widget']; } // Widget Backend public function form( $instanță ) { if ( isset( $instanță[ 'titlu' ] ) ) { $titlu = $instanță[ 'titlu' ]; } else { $title = __( '[Numele pluginului]', '[numele_plugin-ului]' ); } // Formular de administrare widget? > Când utilizatorii WordPress creează o zonă de widget-uri, ei adaugă mici bucăți de conținut în acea zonă. În funcție de zona widget-ului în care este instalat, un widget poate afișa diferite tipuri de informații pe toate paginile sau poate afișa doar anumite informații. Există unele widget-uri care sunt disponibile în mod implicit, în timp ce altele sunt disponibile prin utilizarea unui plugin sau a unei teme. Cele patru metode menționate mai sus trebuie adăugate la clasa dvs. pentru a crea un widget personalizat de bază. Trebuie să utilizați funcția register_widget() pentru a înregistra widget-ul pentru a-l utiliza în tabloul de bord. Înainte de a studia exemplul prezentat în acest articol, vom trece rapid peste scopul fiecărei secțiuni a codului. Una dintre metodele utilizate în clasa Custom_Widget este o metodă de atribuire a caracterelor. Am creat widget-ul cu custom_widget ca ID cu metoda constructorului folosind metoda __construct(). Folosind metoda register_widget(), un nou widget este creat după ce a fost înregistrat cel existent. Am împachetat fiecare dintre părți cu instrucțiuni if...* pentru a ne asigura că numai acele părți sunt afișate dacă sunt incluse în opțiunile widgetului. Metoda widget() a inclus funcția nl2br() pentru a se asigura că toate textele cu mai multe paragrafe sunt afișate corect. sanitize_text_field() elimină spațiile albe, filele și rupturile de linie inutile din argument. În plus, valoarea Da este setată ca implicită în câmpul de selectare, indicând faptul că ținta linkului este setată la _blank în cele două cazuri anterioare. Titlul, textul, linkul de sub titlu și dacă linkul ar trebui să se deschidă într-o filă nouă ar trebui să fie toate specificate. Vă rugăm să salvați opțiunile pe care le-ați ales făcând clic pe butonul Salvare imediat. Când selectați o temă implicită, widget-ul va produce o ieșire diferită. În acest caz, widget-ul dvs. ar putea arăta foarte asemănător cu cel prezentat mai jos dacă utilizați tema Lekker WordPress. Cum creez un widget cu imagine personalizată în WordPress? Pentru a adăuga o imagine într-o bară laterală WordPress, selectați widgetul „Imagine”. Puteți modifica aspectul dvs. accesând Aspect. Adăugați widgetul „Imagine” în bara laterală dacă aveți o pagină care include un widget. Plugin de widget personalizatCredit: octobercms.comUn plugin de widget personalizat este un plugin care vă permite să vă creați propriul widget personalizat. Acest plugin este grozav pentru cei care doresc să creeze un widget personalizat pentru site-ul sau blogul lor. Cu acest plugin, puteți crea cu ușurință un widget personalizat fără a fi nevoie să îl codificați singur. Pentru a oferi un widget personalizat care poate fi utilizat cu Qt Designer, trebuie să oferim o implementare autonomă, precum și o interfață pentru plugin. Widgetul personalizat din acest exemplu, la fel ca omologul său ceas analogic, nu are semnale sau sloturi personalizate. Macrocomanda Q_PLUGIN_METADATA() trebuie utilizată pentru a se asigura că widget-ul este identificat corect ca plugin prin exportarea datelor din acesta. Clasa AnalogClock poate fi folosită ca widget personalizat în interiorul casetei widget și este un exemplu de clasă autonomă. O clasă de plugin pentru clasa AnalogClock este inclusă în Qt Designer. Constructorul clasei QObject apelează pur și simplu constructorul clasei de bază QObject, care setează variabila inițializată la false. Funcția isInitialized() verifică dacă pluginul este gata de utilizare, permițând lui Qt Designer să-l identifice. Funcția createWidget() poate genera instanțe ale unui widget personalizat. Pluginul widget va fi vizibil în numele grupului în secțiunea plugin widget din Qt Designer. Un sfat instrument și Ce este asta? În caseta widget, puteți oferi ajutor pentru widgetul personalizat. Funcția isContainer() verifică dacă un widget trebuie utilizat ca container pentru alte imagini widget. Acest lucru împiedică utilizatorul să creeze widget-uri în el. Cod WordPress pentru widgeturi personalizateCredit: www.hostpapa.inUn widget personalizat este o modalitate excelentă de a adăuga funcționalități site-ului dvs. WordPress. Există câteva lucruri de reținut atunci când adăugați cod widget personalizat pe site-ul dvs. În primul rând, va trebui să creați un fișier numit „widget.php” în directorul temei dvs. În continuare, va trebui să adăugați următorul cod în fișierul widget.php: class Custom_Widget extends WP_Widget { function __construct() { parent::__construct( 'custom_widget', __('Custom Widget', 'text_domain'), array ( 'description' => __( 'Un widget personalizat pentru site-ul dvs. WordPress.', ' text_domain' ), ) ); } widget function public( $args, $instance ) { $title = apply_filters( 'widget_title', $instance['titlu'] ); echo $args['before_widget']; if ( ! empty( $title ) ) echo $args['before_title'] . $titlu . $args['after_title']; echo __( 'Bună, lume!', 'domeniu_text'); echo $args['after_widget']; } public function form( $instanta ) { if ( isset( $instanta[ 'titlu' ] ) ) { $titlu = $instanta[ 'titlu' ]; } else { $titlu = __( 'Titlu nou', 'domeniu_text' ); } ? > } actualizare funcție publică ( $instanță_nouă, $instanță_veche ) { $instanță = matrice (); $instance['title'] = ( ! empty( $new_instance['title']Wordpress Add Widget To Template) Adăugarea unui widget la un șablon WordPress este un proces simplu. Va trebui să accesați fișierele WordPress prin contul de găzduire și să editați fișierul adecvat. În cele mai multe cazuri, acesta va fi fișierul header.php. Căutați codul care controlează zona în care doriți să adăugați widget-ul. Apoi, copiați codul pentru widget-ul pe care doriți să-l adăugați și inserați-l în fișierul corespunzător. loc în fișier. Salvați fișierul și încărcați-l pe serverul dvs.. Asta este! Widgetul va apărea acum pe site-ul dvs. WordPress. În WordPress, există o etichetă șablon numită the_widget() care vă permite să adăugați un widget direct la dvs. fișiere șablon. Un widget poate fi plasat într-un fișier care conține numele de clasă al widget-ului pe care doriți să-l utilizați și unde doriți să apară. Cu alte cuvinte, dacă doriți să enumerați comentariile recente, puteți scrie doar acest lucru: $instance pentru fiecare widget. Folosind funcțiile încorporate, puteți adăuga multe dintre defa widget-uri WordPress ult la fișierele șablon, în loc să le folosiți. Widgeturile personalizate pot fi inserate folosind metoda_widget() în șablonul dvs. Widgeturile personalizate, care pot fi folosite pe o altă platformă decât bara dvs. laterală, sunt disponibile în multe plugin-uri. Cum adaug un widget la tema mea WordPress? Vizitați Ecranele de administrare WordPress pentru a vedea pagina Aspect. Alegeți un widget trăgându-l într-o anumită bară laterală sau făcând clic pe linkul Adăugați widget (dacă tema dvs. are mai multe bare laterale, alegeți bara laterală de destinație). Cum apelați un widget dintr-un șablon de pagină WordPress? Primul pas este să găsiți și introduceți fișierul în care ar trebui să apară widgetul dvs. Al doilea pas este să determinați ce widget doriți să utilizați. În această secțiune, vom trece peste numele de clasă ale widgetului WordPress implicit: WP_Widget_Archives.Cum se creează un widget de imagine personalizată în WordPress Pentru a crea un widget de imagine personalizat în WordPress, va trebui mai întâi să creați un plugin personalizat sau o temă copil. Odată ce ați făcut acest lucru, puteți crea un fișier nou numit „image-widget.php” în plugin-ul sau tema copil. În acest fișier, va trebui să includeți următorul cod: class WP_Widget_Custom_Image extins WP_Widget { function __construct() { $widget_ops = array( 'classname' => 'widget_custom_image', 'description' => __( 'Un widget care vă permite pentru a încărca o imagine personalizată.', 'text_domain' ), ); parent::__construct( 'custom_image', __('Custom Image', 'text_domain' ), $widget_ops ); } function widget( $args, $instance ) { echo $args['before_widget']; if ( ! empty( $instance['titlu'] ) ) { echo $args['before_title'] . apply_filters( 'titlu_widget', $instance['titlu'] ). $args['after_title']; } if ( ! empty( $instanță['imagine'] ) ) { echo ”; } echo $args['after_widget']; } actualizare funcție( $instanță_nouă, $instanță_veche ) { $instanță = $instanță_veche; $instance['titlu'] = sanitize_text_field( $new_instance['titlu'] ); $instance['image'] = esc_url_raw( $new_instance['image'] ); returnare $instanță; } formă de funcție( $instanță ) { $titlu = ! empty( $instanță['titlu'] ) ? $instance['titlu'] : __( 'Imagine personalizată', 'domeniu_text' ); $imagine = ! empty( $instance['imagine'] ) ? $instance['imagine'] : ”; ? Pluginul Image Widget este un plugin simplu care poate fi folosit pentru a adăuga widget-uri de imagine pe site-ul dvs. utilizând managerul media WordPress. Este obișnuit ca șabloanele de ieșire widget să includă un șablon implicit, dar acesta poate fi modificat de fișierele din șablonul dvs. În 3.2, a fost adăugat și filtrul sh_template_image_widget_php, permițându-vă să suprascrieți comportamentul implicit al șablonului. Pentru a afla mai multe despre instanța widget specifică, trebuie să adăugați și două argumente $args și $instance. Puteți folosi acest lucru într-un design receptiv dacă îl înlocuiți. Cum pot adăuga un glisor pentru imagini aleatorii? Da, aveți opțiunea de a face acest lucru. De obicei, acest lucru este gestionat direct prin afișarea barei laterale a pluginului Image Widget; afișajul barei laterale trebuie să fie setat la o anumită pagină. Vă rugăm să ne anunțați dacă aveți întrebări sau comentarii pe această pagină. Image Widget este un proiect software open source. Acest plugin a fost pus la dispoziția publicului de către o varietate de colaboratori. Dacă doriți să includeți o imagine, puteți adăuga un câmp, iar dacă doriți să includeți un link, puteți adăuga o clasă. Veți petrece aproximativ 15 minute făcând-o, așa că merită o investiție. Cum creez un nou widget în WordPress? Fie trageți widget-ul în zona relevantă de widget-uri, fie trageți-l din partea stângă a paginii spre stânga . După ce faceți clic pe widget-ul pe care doriți să îl adăugați, veți vedea o listă de modalități de a face acest lucru. Pentru a adăuga widget-uri noi într-o zonă existentă, faceți clic pe butonul Adăugați widget.
