Attenzione!

Questo articolo contiene codice PHP ed è destinato agli sviluppatori. Offriamo questo codice come cortesia, ma non forniamo supporto per personalizzazioni del codice o sviluppo di terze parti.

Per ulteriore assistenza, consulta il tutorial di WPBeginner su come aggiungere codice personalizzato.

Chiudi

Descrizione

L'azione wpforms_post_submissions_process viene attivata durante l'elaborazione delle voci del modulo, dopo che la convalida iniziale dei campi è stata superata.

Parametri

$post_id
int (Richiesto) ID del post.
$fields
array Valori/proprietà dei campi di invio sanificati.
$form_data
array Impostazioni/dati del modulo.
$entry_id
int (Richiesto) ID della voce.

Origine

wpforms-post-submissions/src/Plugin.php

Maggiori Informazioni

L'azione wpforms_post_submissions_process viene attivata dopo che i campi sono stati convalidati, durante il processo di salvataggio della voce.

Questa azione salverà la voce e inizierà la creazione del post dalla sottomissione.

Esempi

L'esempio mostrato di seguito creerà alcuni campi personalizzati per i metadati da assegnare al post utilizzando la creazione di campi personalizzati di WordPress.

Questo esempio creerà i link di follow social per ogni post autore inviato nel modulo ID 1159.

/**
 * Action fires after form submission and validation.
 *
 * @link   https://wpforms.com/developers/wpforms_post_submissions_process/
 *
 * @param  int      $post_id     Post ID.
 * @param  array    $fields      Sanitized entry field values/properties.
 * @param  array    $form_data   Form settings/data.
 * @param  int      $entry_id    Entry ID.
 *
 * @return array
 */

function wpf_dev_post_submissions_process( $post_id, $fields, $form_data, $entry_id ) {

    // Only do this for form #1159.
    if ( absint( $form_data[ 'id' ] ) !== 1159 ) {
        return;
    }

    /*
     * Field IDs, for reference.
     * 21 - Twitter URL
     * 22 - Facebook URL
     * 23 - Dribble URL
     * 24 - Instagram URL
     */

    // Below we're going to create our new custom content template,
    // using the field IDs listed above
    ob_start();
    ?>
    <h2><em>Author Social Follow Links</em></h2>
    <div class="social_links">
    <a href="<?php echo esc_url( $fields[21][ 'value' ] ); ?>" target="_blank"><img src="<?php echo get_template_directory_uri(); ?>/images/twitter.png" class="author_social_follow" width="80" height="80" alt="Follow me on Twitter!" /></a>
    <a href="<?php echo esc_url( $fields[22][ 'value' ] ); ?>" target="_blank"><img src="<?php echo get_template_directory_uri(); ?>/images/facebook.png" class="author_social_follow" width="80" height="80" alt="Follow me on Facebook!" /></a>
    <a href="<?php echo esc_url( $fields[23][ 'value' ] ); ?>" target="_blank"><img src="<?php echo get_template_directory_uri(); ?>/images/dribbble.png" class="author_social_follow" width="80" height="80" alt="Follow me on Dribbble!" /></a>
    <a href="<?php echo esc_url( $fields[24][ 'value' ] ); ?>" target="_blank"><img src="<?php echo get_template_directory_uri(); ?>/images/instagram.png" class="author_social_follow" width="80" height="80" alt="Follow me on Instagram!" /></a>
    </div>
    <?php
    $content = ob_get_clean();

    remove_filter( 'content_save_pre', 'wp_filter_post_kses' );
    remove_filter( 'content_filtered_save_pre', 'wp_filter_post_kses' );

    $post = array(
        'ID'           => $post_id,
        'post_content' => $content,
    );
    wp_update_post( $post );

    add_filter( 'content_save_pre', 'wp_filter_post_kses' );
    add_filter( 'content_filtered_save_pre', 'wp_filter_post_kses' );
}
add_action( 'wpforms_post_submissions_process', 'wpf_dev_post_submissions_process', 10, 4 );

Articoli di riferimento