✅ WEB ja WordPressi uudised, teemad, pistikprogrammid. Siin jagame näpunäiteid ja parimaid veebisaidi lahendusi.

WordPressi vidinad: ümbertöötamine, 9. osa

18

Kuigi selle ümbertöötamise seeria viimane postitus ei olnud väga pikk, arvan, et see oli natuke tihe. See tähendab, et koodi viimine kohta, kus saaksime sellega hõlpsamini töötada, nõudis üsna palju tööd.

Aga see on just see: kogu meie tehtud töö peaks hõlbustama ülejäänud kirjutatava koodiga edasi liikumist.

Ja veendumaks, et kasutame ära seni loodud tööd ja vundamenti, lõpetame sarja lühemate, rohkem keskendunud artiklitega, mille lugemiseks ja rakendamiseks peaks kuluma vähem aega. ja mõista, mida me koodiga teeme.

WordPressi vidina katlaplaat: ümberkujundamine, 9. osa

Meenutage viimast postitust:

Järgmisena jätkame vidina haldusala funktsionaalsuse väljatöötamist. Pärast seda pöörame tähelepanu nii vidina avalikkusele kui ka serialiseerimisfunktsioonile.

Ja see seab meid täpselt sellesse postitusse, kuhu me oleme teel. Nimelt hakkame kirjutama haldusliidese, mis võimaldab meil:

  • määrake vidinale pealkiri,
  • määrata vidina tekstisisu,
  • ja lülitage sisse, kas tahame pealkirja näidata või mitte.

See ei ole mõeldud olema uuenduslik ega ka seda tüüpi vidin, mida keegi teine ​​võib müüa. Selle asemel on see mõeldud näitama, kuidas saame kasutada seda, mis meil on, et luua midagi sarnast, mida oleme WordPressis juba näinud, ja kuidas me kasutame kindlaid programmeerimisvõtteid.

Kasutajaliides: esimene läbimine

Pärast meie eelmist tööd on meil vidin, mis ilmub WordPressi haldusalasse ja selle saab isegi teisaldada külgribale või muule vidinatega alale; tegelikult ei tee see aga midagi.

Nüüd jätkame ja lisame kasutajaliidesele kolm elementi:

  1. lisage vidina pealkirjaks tekstisisestus,
  2. sisaldama tekstiala elementi, et kuvada, mis võib olla tekstilõik,
  3. ja lõpuks lisage pealkirja teabe ümberlülitamiseks märkeruut.

Selleks peame redigeerima  kataloogis Views olevat faili. Nimelt hakkame  uuendama faili Admin.php. Alustame elementidega täpselt nii, nagu vaja, ilma kõrvalise märgistuseta.

<input type="text" name="widget-title" value="" />

<textarea name="widget-content"></textarea>

<label>
    <input
        type="checkbox"
        value="1"
        name="widget-title-enabled"
    />
    Display Title?
</label>

Esiotsas pole seda veel palju vaadata, kuid see viib meid lähemale sellele, kuhu tahame jõuda.

Klass administraatoritele

Järgmiseks tahame olla kindlad, et jääme oma klassidega kõrgel tasemel ühtekuuluvuse säilitamiseks järjepidevaks. See tähendab, et me ei vaja üht klassi, et teha kõike halduse, kuvamise ja kõigi muude WordPressi API jaoks vajalike tööde tegemiseks.

Selleks loome WordPressi kataloogis ja nimeruumis teise klassi nimega WidgetAdmin .

Sellesse faili lisame järgmise koodi :

<?php

/*
 * This file is part of WordPress Widget Boilerplate
 * (c) Tom McFarlin <tom@tommcfarlin.com>
 *
 * This source file is subject to the GPL license that is bundled
 * with this source code in the file LICENSE.
 */

namespace WordPressWidgetBoilerplateWordPress;

/**
 * Manages the administrative functionality of the widget.
 */
class WidgetAdmin extends Widget
{
    /**
     * {@inheritdoc}
     */
    public function __construct($widgetSlug)
    {
        parent::__construct($widgetSlug);
    }

    /**
     * Displays the administrative view of the form and includes the options
     * for the instance of the widget as arguments passed into the function.
     *
     * @param array $instance the options for the instance of this widget.
     */
    public function form($instance)
    {
        include plugin_dir_path(__FILE__).'Views/Admin.php';
    }
}

Seejärel muudame vidina algkoodis seda rida :

<?php

/**
 * Registers the core Widget class using the WordPress APIs.
 */
public function load()
{
    register_widget(new Widget('widget-name'));
}

Et välja näha selline :

<?php
/**
 * Registers the core Widget class using the WordPress APIs.
 */
public function load()
{
    register_widget(new WidgetAdmin('widget-name'));
}

Mõne järgmise artikli jooksul see areneb edasi, kuid nagu näete, hoolitseme selle eest, et meil oleks WordPressiga rääkimiseks üks põhifunktsioonide klass ja klass, mis on mõeldud spetsiaalselt haldusvormi renderdamiseks.

Kasutajaliides: Teine läbimine

Lõpuks puhastame vormi, et sellel oleks natuke rohkem kindlat kasutajakogemust, mis sulanduks hästi WordPressi haldusalaga tervikuna.

Võtke järgmine kood :

<input type="text" name="widget-title" value="" />

<textarea name="widget-content"></textarea>

<label>
    <input
        type="checkbox"
        value="1"
        name="widget-title-enabled"
    />
    Display Title?
</label>

Ja värskendage seda nii, et see näeks välja selline :

<div class="widget-content">
    <p>
        <input
            type="text"
            name="widget-title"
            value=""
            placeholder="Widget Title"
            class="widefat"
        />
    </p>

    <p>
        <textarea
            name="widget-content"
            placeholder="Widget Content"
            style="width:100%;"></textarea>
    </p>

    <p>
        <input
            type="checkbox"
            value="1"
            name="widget-title-enabled"
            class="checkbox"
        />
        <label for="widget-title-enabled">Display Title?</label>
    </p>
</div><!-- .widget-content -->

Eeldades, et kõik läks hästi, peaksite nüüd nägema midagi sellist:

WordPressi vidinad: ümbertöötamine, 9. osa

Ja siin me lõpetame selle postituse haldusfunktsioonidega. Pidage meeles, et saate seda kõike jälgida ka GitHubi arendusharus.

Desinfitseerimine ja serialiseerimine

Järgmises postituses vaatame, mida on vaja meie vidina sisu desinfitseerimiseks ja seeriaviisiliseks muutmiseks (või puhastamiseks ja salvestamiseks).

Samuti tagame, et pärast teabe salvestamist ja toomist kuvatakse teave haldusalas.

Lõpuks arenevad pärand ja klassi ühtekuuluvus edasi, kuid praegu keskenduge selles postituses käsitletule ja jätkame siis järgmises artiklis.

See veebisait kasutab teie kasutuskogemuse parandamiseks küpsiseid. Eeldame, et olete sellega rahul, kuid saate soovi korral loobuda. Nõustu Loe rohkem