Gli Action Hook del Site Tree

Ogni volta che il Site Tree viene ricostruito, sono quattro i principali Action Hook ad essere eseguiti:

Aggiungere del Contenuto al Site Tree

Il codice che segue aggiunge un paragrafo in testa ad un'iper-lista di libri. Un Post Type 'Book' può essere aggiunto ad un sito WordPress utilizzando la funzionalità di Custom Post Type.

function insert_paragraph_before_book_list( $siteTreeBuilder ) {
    if ( $siteTreeBuilder->listID() == 'book' )
        $siteTreeBuilder->addContent( '<p>Un paragrafo riguardante i libri elencati.</p>' );
}

add_action( 'sitetree_will_build_single_list', 'insert_paragraph_before_book_list' );

Il parametro $siteTreeBuilder è un reference all'oggetto di classe SiteTree\SiteTreeBuilder a cui è assegnato il compito di produrre il Site Tree. La sua interfaccia di classe, dichiarata in includes/builders/builders-interfaces.php, è la seguente:

interface SiteTreeBuilderInterface {
    /**
     * Restituisce l'identificativo unico della lista che è in corso di costruzione.
     * Per i Custom Post Type, coincide con la Post Type Key.
     *
     * @since 2.0
     * @return string      
     */
    public function listID();

    /**
     * Restituisce il tipo di contenuto in fase di elaborazione.
     * Valori possibili: post, taxonomy, author.
     *
     * @since 6.0
     * @return string
     */
    public function getContentTypeFamily();
    
    /**
     * Restituisce 'true' o 'false' a seconda che il builder stia generando
     * un'iper-lista a partire o meno da un gruppo di opzioni ricevute
     * come attributi dello shortcode.
     *
     * @since 4.5
     * @return bool
     */
    public function isDoingShortcode();

    /**
     * Restituisce 'true' o 'false' a seconda che il builder stia generando 
     * un'iper-lista che sia il risultato o meno dell'esecuzione di uno shortcode
     * oppure di un Template Tag.
     *
     * @since 5.2
     * @return bool
     */
    public function isDoingHyperlist();

    /**
     * @since 2.0
     * @param string $string      
     */
    public function addContent( $string );
}
Last update: