Achtung!

Dieser Artikel enthält PHP-Code und richtet sich an Entwickler. Wir stellen diesen Code als Service zur Verfügung, bieten jedoch keine Unterstützung für Codeanpassungen oder die Entwicklung durch Dritte.

Für zusätzliche Hilfe siehe das Tutorial von WPBeginner zum Hinzufügen von benutzerdefiniertem Code.

Schließen

Automatische Zuweisung von Tags und Kategorien zu Beitragsübermittlungen

Möchten Sie Beiträgen automatisch Tags und Kategorien zuweisen? Mit dem Post Submissions Addon können Sie Ihren Besuchern erlauben, die Kategorien für jede Beitragsübermittlung auszuwählen. Aber was, wenn Sie diese Kategorien zuweisen und sogar Tags zu diesen Beiträgen hinzufügen möchten, während sie übermittelt werden? Mit PHP können Sie ganz einfach eine Kategorie oder einen Tag zu diesen Beiträgen zuweisen, während sie übermittelt werden.

Erstellung des Formulars

Zuerst müssen Sie ein Formular für Beitragsübermittlungen erstellen. Wenn Sie dabei Hilfe benötigen, sehen Sie bitte diese Dokumentation.

Wenn Sie Ihr Formular erstellen, vergessen Sie nicht, das Formularfeld Kategorien zu entfernen, das standardmäßig automatisch hinzugefügt wird, wenn Sie die Vorlage für das Formular Blogbeitragsübermittlung auswählen. Da wir diese manuell mit PHP-Snippets festlegen werden, möchten wir diese Option nicht in unserem Formular anbieten.

Entfernen Sie die Dropdown-Liste für Kategorien aus der Vorlage für Beitragsübermittlungen

Automatisches Zuweisen von Tags und Kategorien

Um Tags und Kategorien automatisch Beiträgen zuzuweisen, müssen wir einen Code-Schnipsel zu unserer Website hinzufügen.

Wenn Sie Hilfe beim Hinzufügen von Code-Schnipseln zu Ihrer Website benötigen, sehen Sie sich dieses Tutorial an.

/**
 * 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 speziell nur Handwerkssendungen sammelt, zielen wir auf die Formular-ID 649 ab. Dann weisen wir die Kategorie-ID 22 zu, da dies die ID-Nummer für unsere Kategorie Handwerk ist, und fügen dem Beitrag auch den Tag crafts hinzu.

Wenn Sie Hilfe beim Finden Ihrer Formular-ID-Nummer benötigen, sehen Sie sich dieses Tutorial an.

Jetzt weist dieser Code-Schnipsel Tags und Kategorien zu Beitragsübermittlungen zu

Möchten Sie die URL des Beitrags in der Bestätigungsnachricht anzeigen, wenn das Formular übermittelt wird? Schauen Sie sich unser Tutorial an: So fügen Sie die Beitrags-URL von Post Submissions in die Bestätigungsnachricht ein.

Referenzaktion

wpforms_post_submissions_process

FAQ

F: Wie entferne ich die Kategorie "Nicht zugewiesen"?

A: Wenn Sie die Kategorie, die WordPress automatisch allen neuen Beiträgen zuweist, automatisch entfernen möchten, können Sie diesen Code-Schnipsel verwenden.

Die ID der Kategorie "Nicht zugewiesen" ist normalerweise 1. Sie sollten dies jedoch trotzdem bestätigen, indem Sie die Kategorie-ID-Nummer auf die gleiche Weise ermitteln, wie Sie es in den obigen Schritten getan haben.

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