Beschreibung

Die wpforms_post_submissions_process Aktion wird während der Verarbeitung der Formulareingabe ausgelöst, nachdem die anfängliche Feldüberprüfung abgeschlossen ist.

Parameter

$post_id
int (Erforderlich) Post ID.
$Felder
array Bereinigte Werte/Eigenschaften von Eingabefeldern.
$form_data
Array Formulareinstellungen/Daten.
$Eintrag_id
int (erforderlich) Eintrags-ID.

Quelle

wpforms-post-submissions/src/Plugin.php

Mehr Informationen

Die wpforms_post_submissions_process wird ausgelöst, nachdem die Felder während des Speichervorgangs der Eingabe überprüft worden sind.

Diese Aktion speichert den Eintrag und beginnt mit der Erstellung des Beitrags aus der Eingabe.

Beispiele

In dem unten gezeigten Beispiel werden einige benutzerdefinierte Meta-Felder erstellt, die dem Beitrag mithilfe der WordPress Custom Fields-Erstellung zugewiesen werden.

In diesem Beispiel werden die Social-Follow-Links für jeden vom Autor eingereichten Beitrag mit der Formular-ID 1159 erstellt.

/**
 * 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 );

Referenzartikel