✅ WEB- och WordPress -nyheter, teman, plugins. Här delar vi tips och bästa webbplatslösningar.

En hjälpfunktion för adminmeddelanden

11

Om du sysslar med att bygga plugins, eller till och med teman för den delen, och införlivar objektorienterad praxis i ditt arbete så står du troligen inför serialisering av någon typ. Och en av aspekterna av serialisering att det kräver någon typ av feedback för användaren.

Detta kan vara ett framgångsmeddelande, ett misslyckandemeddelande eller ett meddelande som helt enkelt varnar användaren om att något gick fel eller att något kanske borde uppdateras.

Hur som helst, WordPress tillhandahåller alla faciliteter som vi behöver; vi kan dock göra det ännu enklare för oss själva genom att skriva en hjälpfunktion för adminmeddelanden. Det är enkelt också.

Adminmeddelanden: En hjälpfunktion

När det kommer till att skriva adminmeddelanden är det viktigt att bekanta sig med lämplig hook.

Därifrån måste du också känna till följande klassnamn:

  • meddelande-fel
  • varsel-framgång
  • varsel-varning
  • meddelande-info

Med det är det möjligt att skriva en hjälpfunktion som använder ovanstående krok och en anonym funktion (eller en stängning) för att uppnå exakt vad du behöver. Men observera först följande:

Anonyma funktioner, även kända som stängningar, tillåter skapandet av funktioner som inte har något specificerat namn. De är mest användbara som värdet av återuppringningsparametrar, men de har många andra användningsområden.

Med det sagt bör du ha allt du behöver för att skriva till din hjälpare och ha en idé om när du ska tömma den.

Först, hjälpfunktionen:

<?php

/**
 * Provides an easy eay to display an administration notice based on the incoming
 * class and message.
 *
 * @param string $class   the class to add to the notice (warning, error, success)
 * @param string $message the message to display in the administration notice area
 */
protected function displayAdminNotice($class, $message)
{
    add_action(
        'admin_notices',
        function() use ($class, $message) {
            printf(
                '<div class="%1$s"><p>%2$s</p></div>',
                esc_attr($class),
                esc_html($message)
            );
        }
    );
}

Låt oss sedan säga att begäran som görs innehåller ogiltiga data. För att hantera detta, skulle du använda ovanstående hjälpare som följande:

<?php

if (!$this->hasValidInput()) {
    $this->displayAdminNotice(
        'notice notice-error',
        'You must specify a valid email address and license key.'
    );
}

Å andra sidan, låt oss säga att allt fungerar bra:

<?php

if (update_option('acme-option', $values)) {
    $this->displayAdminNotice(
      'notice notice-success',
      'The options were updated successfully!'
  );
}

Som du kan se använder den här funktionen inbyggda WordPress-hooks, faciliteter för PHP, och skapar även en metod som kan enhetstestades vilket spelar roll om du siktar på att skriva testbara webbapplikationer i WordPress.

Och även om inte, har du ett enklare sätt att hålla din kod lite mer DRY än den var tidigare.

Inspelningskälla: tommcfarlin.com

Denna webbplats använder cookies för att förbättra din upplevelse. Vi antar att du är ok med detta, men du kan välja bort det om du vill. Jag accepterar Fler detaljer