Sähköpostia ylläpidolle, kun artikkeli tulee tarkistettavaksi

Facebookin WordPress / WooCommerce / Suomi / Finland -ryhmässä kyseltiin lisäosaa, joka lähettäisi sivuston ylläpitäjälle sähköpostia aina kun sivustolle tulee uusi artikkeli tarkistettavaksi.

En tiedä, onko tällaista lisäosaa, mutta asia on sen verran yksinkertainen, ettei siihen lisäosaa tarvita. Tehtävä hoituu muutamalla rivillä koodia. Avainasemassa on transition_post_status-koukku, joka suoritetaan aina kun jonkun artikkelin tila muuttuu. Tähän koukkuun voidaan liittää oma funktio, joka lähettää sähköpostin aina kun artikkelin uusi tila on pending.

Sähköpostin lähettämiseen WordPressissä on oma funktionsa wp_mail() ja ylläpitäjän sähköpostiosoitteen saa get_bloginfo( 'admin_email' ). Niinpä funktio on hyvin suoraviivainen:

<?php
add_action( 'transition_post_status', 'mailia_pendingistä', 10, 3 );

/**
 * Lähettää sähköpostia ylläpitäjälle, kun artikkeli tulee arvioitavaksi.
 *
 * Sähköpostin otsikkona on "Uusi hyväksymistä odottava artikkeli" ja
 * sisältönä artikkelin otsikko ja sisältö.
 *
 * @param string $vanha_status Alkuperäinen tila.
 * @param string $uusi_status  Uusi tila.
 * @param int    $post_id      Artikkelin ID-numero
 */ 
function mailia_pendingistä( $vanha_status, $uusi_status, $post_id ) {
	if ( 'pending' === $uusi_status ) {
        $post = get_post( $post_id );
        wp_mail(
            get_bloginfo( 'admin_email' ),
            'Uusi hyväksymistä odottava artikkeli',
            "{$post->post_title}\n\n{$post->post_content}"
        );
    }
}

Kun funktion lisää teeman functions.php-tiedostoon, ylläpitäjän sähköpostiosoitteeseen pitäisi lähteä sähköposti aina kun artikkeli laitetaan odottamaan hyväksyntää.

Vastaa

Sähköpostiosoitettasi ei julkaista. Pakolliset kentät on merkitty *

This site uses Akismet to reduce spam. Learn how your comment data is processed.