So erstellen Sie ein Smart Tag aus einem ACF-Feld

Sind Sie daran interessiert, benutzerdefinierte Smart Tags auf der Grundlage von Feldern zu erstellen, die mit ACF (Advanced Custom Fields) generiert wurden? In diesem Tutorial führen wir Sie durch den Prozess der Erstellung dieser speziellen Smart Tags anhand eines prägnanten Code-Snippets.

Zur Veranschaulichung dieses Tutorials betrachten wir eine WordPress-Website, die Beiträge als Verkaufsportfolio verwendet. Wir werden ein einzelnes Formular entwickeln, das auf jeder Beitragsseite angezeigt wird, und es nahtlos in die PHP-Vorlage integrieren.

Damit die Autoren ihre Artikel jedoch effektiv zum Verkauf anbieten können, müssen sie die entsprechenden Preise eingeben. Mithilfe des ACF-Plugins haben wir ein Preisfeld in die Beitragseinstellungen integriert.

Dieses Preisfeld wird im Formular vorausgefüllt und dynamisch auf der Grundlage des angezeigten Beitrags aktualisiert. Da das Formular in allen Beiträgen gleich bleibt, der Preis aber variiert, werden wir ein Smart Tag für dieses Feld verwenden, um seine Anpassungsfähigkeit bei jeder Aktualisierung der Beitragsinformationen zu gewährleisten.

Erstellen des benutzerdefinierten Feldes mit ACF

Zunächst erstellen wir unser benutzerdefiniertes Feld mit dem Advanced Custom Fields Plugin.

In Anlehnung an die ACF-Dokumentation haben wir ein neues Feld mit der Bezeichnung portfolio_price zu unseren Beiträgen hinzugefügt.

Folgen Sie der ACF-Dokumentation zur Erstellung eines neuen benutzerdefinierten Feldes, um ein Feld zu Ihren Beiträgen hinzuzufügen.

In dieser Anleitung wird davon ausgegangen, dass Sie Ihr(e) Feld(er) bereits zu Ihrem Beitrag hinzugefügt haben. Wenn Sie Hilfe beim Hinzufügen von Feldern zu WordPress-Beiträgen mit dem Advanced Custom Fields-Plugin benötigen, lesen Sie bitte dessen Dokumentation.

Erstellen eines Smart Tags aus dem ACF-Feld

Normalerweise würden wir zuerst das Formular erstellen. Da wir jedoch wissen, dass wir dieses neue Smart Tag in unserem Form Builder verwenden möchten, fügen wir das Snippet vor der Erstellung des Formulars hinzu.

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

/**
 * Register the Smart Tag so it will be available to select in the form builder.
 *
 * @link   https://wpforms.com/developers/how-to-create-a-smart-tag-from-an-acf-field/
 */

function wpf_dev_register_smarttag( $tags ) {
 
    // Key is the tag, item is the tag name.
    $tags[ 'portfolio_price' ] = 'Portfolio Price';
 
    return $tags;
}

add_filter( 'wpforms_smart_tags', 'wpf_dev_register_smarttag' );
 
/**
 * Process the Smart Tag.
 *
 * @link   https://wpforms.com/developers/how-to-create-a-smart-tag-from-an-acf-field/
 */

function wpf_dev_process_smarttag( $content, $tag ) {
 
    // Only run if it is our desired tag.
    if ( 'portfolio_price' === $tag ) {

        //Get the field name from ACF
        $my_acf_field = get_field( 'portfolio_price', get_the_ID() );

        // Replace the tag with our link.
        $content = str_replace( '{portfolio_price}', $my_acf_field, $content );
    }
 
    return $content;
}

add_filter( 'wpforms_smart_tag_process', 'wpf_dev_process_smarttag', 10, 2 );

Wir wollen diese beiden Funktionen aufschlüsseln.

Die erste Funktion erstellt ein leeres Smart Tag mit dem Namen "Portfolio Price". Diesem Tag wird noch nichts zugewiesen, wir erstellen es lediglich mit dieser Funktion.

In der nächsten Funktion definieren wir den Smart Tag und woher er die Informationen beziehen soll.

Mit der Zeile $my_acf_field = get_field( 'portfolio_price', get_the_ID() ); teilen wir dem Code mit, dass er zu Advance Custom Fields gehen und diesen Feldwert abrufen muss. Hier müssen Sie den Feldnamen eingeben. Für unser Tutorial haben wir unser Feld portfolio_price genannt.

Wenn Sie Hilfe bei der Suche nach dem Feldnamen benötigen, bearbeiten Sie einfach das Feld, das Sie in ACF erstellt haben, und suchen Sie nach der Bezeichnung Feldname.

suchen Sie nach der Feldbezeichnung, die Sie mit dem ACF-Plugin erstellt haben

Erstellen des Formulars

Wir haben unser Formular so erstellt, dass es die Formularfelder Name, E-Mail, Produkttitel (einzeiliger Text), Produktpreis (einzeiliger Text) und Kommentare (Absatztext) enthält.

Ein neues Formular erstellen

Wenn Sie Hilfe bei der Erstellung eines Formulars benötigen, lesen Sie bitte diese Anleitung.

Hinzufügen der Smart Tags

Für unser Formular werden wir den Produkttitel einfügen, der der Titel des Beitrags ist. Wir können eine eingebaute Smart Tag, dass WPForms bereits für diese bietet verwenden.

Sobald Sie das einzeilige Textfeld für den Produkttitel hinzugefügt haben, klicken Sie einfach auf die Registerkarte Erweitert. Klicken Sie im Feld Standardwert für das Feld auf den Link Intelligente Tags anzeigen und wählen Sie Eingebetteter Beitrags-/Seitentitel, damit der Beitragstitel automatisch in dieses Formularfeld eingetragen wird.

Fügen Sie das Smart Tag "Eingebetteter Beitrags-/Seitentitel" für den Standardwert im Feld "Produkttitel" hinzu

Als nächstes wiederholen wir diesen Schritt für das Feld Produktpreis.

Wählen Sie auf der Registerkarte Erweitert des Feldes Produktpreis das Smart Tag {portfolio_price} Smart Tag aus den verfügbaren Smart Tags.

Jetzt können Sie das Smart Tag von acf verwenden

Hinzufügen des WPForms-Shortcodes zu einer PHP-Vorlage

Wenn Sie Hilfe beim Hinzufügen eines Shortcodes zu einer PHP-Vorlage benötigen, lesen Sie bitte dieses Tutorial.

Für dieses Tutorial haben wir unseren Shortcode am unteren Rand der Vorlage für eine einzelne Beitragsseite hinzugefügt.

Fügen Sie den Shortcode unten in die Vorlage für die Seite mit dem einzelnen Beitrag ein

Jetzt können Sie sehen, dass sich mit der Änderung Ihrer Beiträge auch der Produktpreis und der Produkttitel Ihres Formulars ändern.

jetzt ändert sich der Produktpreis dynamisch

Möchten Sie weitere benutzerdefinierte Smart Tags erstellen? Schauen Sie sich unser Tutorial über die Erstellung eines benutzerdefinierten Smart Tags an.

Referenzfilter