✅ WEB- ja WordPress -uutiset, -teemat, -laajennukset. Täällä jaamme vinkkejä ja parhaita verkkosivustoratkaisuja.

WordPress-laajennusliitännät: resurssien käyttäminen

17

Yksi olio-ohjelmoinnin eduista on kyky määrittää rajapinnat siten, että luokilla, jotka toteuttavat nämä rajapinnat, on tiukka joukko toimintoja, jotka mainittujen luokkien on toteutettava.

Tämä on joka tapauksessa luokkaliittymän määritelmä :

Käyttöliittymä on sopimus, joka määrittää joukon menetelmiä, kenttiä ja ominaisuuksia, jotka ovat käytettävissä missä tahansa toteutusobjektissa

Mutta miltä tämä voisi näyttää, jos aiomme luoda nimiavaruusratkaisun WordPress-laajennusliitäntöjen (tai käyttöliittymän) sisällyttämiseen luokalle, jota voidaan käyttää tyylitaulukoiden tai JavaScript-tiedostojen jonoon?

WordPress-laajennusten käyttöliittymät: Assets

Tätä viestiä varten oletetaan, että määrittelemme käyttöliittymän, jota käytetään WordPressin hallinta-alueella. Eli luomme käyttöliittymän, jota käytetään tyylitaulukoiden ja JavaScript-tiedostojen jonoon.

Meidän on sisällytettävä seuraavat asiat:

  • nimiavaruus, jota voidaan käyttää koko projektin ajan,
  • luokan alustustoiminto,
  • toiminto, jolla varsinaisesti asetetaan jonoon.

Ja koska tämä on tarpeeksi yleinen, jotta sitä voidaan käyttää JavaScriptissä ja tyylitaulukoissa, olen valinnut sen nimeksi yksinkertaisesti Asset.

Lopputulos voi näyttää tältä :

<?php

namespace AcmeAdminInterfaces;

interface Asset {

    public function init();
    public function enqueue();
}

Seuraavaksi meidän on todella toteutettava käyttöliittymä luokan kanssa. Sen pitäisi olla suhteellisen yksinkertaista, koska olemme määrittäneet menetelmät, jotka on toteutettava.

Huomaa kuitenkin, että tarjoan pari ominaisuutta, jotka on asetettu luokan konstruktoriin. Nämä ovat ominaisia ​​tälle luokalle ja helpottavat tiedoston jonottamisesta.

<?php

namespace AcmeAdmin;
use AcmeAdminInterfaces;

class JavaScript_Assets implements InterfacesAsset {

    private $assets_dir;

    private $js_dir;

    public function __construct() {

        $this->assets_dir = trailingslashit(
            plugin_dir_url( __FILE__ ). 'assets'
        );

        $this->js_dir = trailingslashit( $this->assets_dir. 'js' );
    }

    public function init() {

        add_action(
            'admin_enqueue_scripts',
            array( $this, 'enqueue') );
    }

    public function enqueue() {

        wp_enqueue_script(
            'toggle-admin-notices',
            $this->js_dir. 'admin.js',
            array( 'jquery' ),
            false
        );
    }
}

Muutama huomioitavaa yllä olevasta koodista:

  • se käyttää avainsanaa use, jotta PHP tietää, että työskentelemme Asset – käyttöliittymän kanssa,
  • Olen lisännyt nimen etuliitteen JavaScriptillä, jotta on selvää, minkä tyyppisen resurssin kanssa työskentelen.

Lopuksi luodaksesi käyttöliittymän toteuttavan luokan, teet vain näin :

<?php

$assets = new AdminJavaScript_Assets();
$assets->init();

Toki tämä esimerkki on yksinkertainen, ja olen jättänyt tavalliset koodikommentit pois, mutta se on yleensä luettavuuden vuoksi. Jos haluat nähdä jotain tällaista toiminnassa, tarkista lähdekoodi

Jos haluat nähdä jotain tällaista toiminnassa, tarkista tämän laajennuksen lähdekoodi .

Tämä verkkosivusto käyttää evästeitä parantaakseen käyttökokemustasi. Oletamme, että olet kunnossa, mutta voit halutessasi kieltäytyä. Hyväksyä Lisätietoja