Automatisches Zuweisen von Tags und Kategorien zu Beitragsübermittlungen

Möchten Sie den Beiträgen automatisch Tags und Kategorien zuweisen? Mit dem Post Submissions Addon können Sie Ihren Besuchern die Möglichkeit geben, die Kategorien für jeden eingereichten Beitrag auszuwählen. Aber was wäre, wenn Sie diese Kategorien zuweisen und sogar Tags zu diesen Beiträgen aus dem Formular heraus hinzufügen wollten, während es eingereicht wird? Mit PHP können Sie diesen Beiträgen bei der Übermittlung ganz einfach eine Kategorie oder ein Tag zuweisen.

Erstellen des Formulars

Zunächst müssen Sie ein Formular für die Einreichung von Beiträgen erstellen. Wenn Sie dabei Hilfe benötigen, lesen Sie bitte diese Dokumentation.

Wenn Sie Ihr Formular erstellen, vergessen Sie nicht, das Formularfeld " Kategorien" zu entfernen, das automatisch als Standard hinzugefügt wird, wenn Sie die Formularvorlage "Blog Post Submission" erstellen. Da wir diese manuell mit PHP-Snippets einstellen werden, wollen wir diese Option in unserem Formular nicht anbieten.

das Dropdown-Menü "Kategorien" aus der Formularvorlage "Beitragseinreichung" zu entfernen

Automatisches Zuweisen von Tags und Kategorien

Um den Beiträgen automatisch Tags und Kategorien zuzuweisen, müssen wir ein Snippet zu unserer Website hinzufügen.

Wenn Sie Hilfe beim Hinzufügen von Snippets zu Ihrer Website benötigen, lesen Sie bitte diese Anleitung.

/**
 * Assign tags and categories to post submissions
 *
 * @link https://wpforms.com/developers/how-to-automatically-assign-tags-and-categories-to-post-submissions/
 */

function wpf_dev_post_submissions_process( $post_id, $fields, $form_data ) {
      
	// If form ID is 649, run code below
        if ( 649 !== absint( $form_data[ 'id' ] ) ) {
            return;
        }
	
	// Craft Category ID is 22 - assign the ID 22 as the category 
	wp_set_object_terms( $post_id, 22, 'category', true );
	
	// Set tag on post to crafts
	wp_set_object_terms( $post_id, 'crafts', 'post_tag' );

    }

add_action( 'wpforms_post_submissions_process', 'wpf_dev_post_submissions_process', 10, 3 );

Da wir wissen, dass dieses Formular nur Beiträge für Kunsthandwerk sammelt, geben wir die ID des Formulars mit 649 an. Dann weisen wir die Kategorie-ID 22 zu, da dies die ID-Nummer für unsere Kategorie " Handwerk" ist, und fügen dem Beitrag das Tag " Handwerk" hinzu.

Wenn Sie Hilfe bei der Suche nach Ihrer Formular-ID-Nummer benötigen, lesen Sie bitte diese Anleitung.

Dieses Snippet weist den Beiträgen nun Tags und Kategorien zu

Möchten Sie die URL des Beitrags in der Bestätigungsnachricht einfügen, wenn das Formular abgeschickt wurde? Schauen Sie sich unsere Anleitung an, wie man die URL des Beitrags in die Bestätigungsnachricht einfügt.

Referenz Aktion

wpforms_post_submissions_process

FAQ

F: Wie kann ich die Kategorie "Nicht zugewiesen" entfernen?

A: Wenn Sie die Kategorie, die WordPress automatisch allen neuen Beiträgen zuweist, automatisch entfernen möchten, können Sie dieses Snippet verwenden.

Die ID der nicht zugewiesenen Kategorie ist in der Regel 1. Sie sollten dies aber dennoch bestätigen, indem Sie die ID-Nummer der Kategorie auf dieselbe Weise wie in den obigen Schritten ermitteln.


/**
 * Assign tags and categories to post submissions
 *
 * @link https://wpforms.com/developers/how-to-automatically-assign-tags-and-categories-to-post-submissions/
 */
 
function wpf_dev_post_submissions_process( $post_id, $fields, $form_data ) {
       
    // If form ID is 649, run code below
        if ( 649 !== absint( $form_data[ 'id' ] ) ) {
            return;
        }
     
    // Craft Category ID is 22 - assign the ID 22 as the category 
    wp_set_object_terms( $post_id, 22, 'category', true );
	
	// Remove the Unassigned category name from all new posts
	wp_remove_object_terms( $post_id, 1, 'category', true );
     
    // Set tag on post to crafts
    wp_set_object_terms( $post_id, 'crafts', 'post_tag' );
 
    }
 
add_action( 'wpforms_post_submissions_process', 'wpf_dev_post_submissions_process', 10, 3 );