Die Klasse Charitable_Donation_Field ermöglicht es Ihnen, neue Spendenfelder zu erstellen oder vorhandene zu bearbeiten.
Inhaltsverzeichnis
Nutzung
Neues Spendenfeld erstellen
Wenn Sie ein neues Spendenfeld hinzufügen möchten, müssen Sie zuerst eine neue Instanz von Charitable_Donation_Field erstellen und diese dann im Spendenfeld-Registrierungsdienst registrieren.
add_action( 'init', function() {
/* Create the Donation Field instance. */
$field = new Charitable_Donation_Field(
'my_custom_field',
array(
'label' => __( 'My Custom Field' ),
'data_type' => 'meta',
'value_callback' => false,
'donation_form' => array(
'type' => 'text',
'required' => false,
'show_after' => 'phone',
),
'admin_form' => true,
'show_in_meta' => true,
'show_in_export' => true,
'email_tag' => array(
'description' => __( 'The custom field value' ),
),
)
);
/* Register it. */
charitable()->donation_fields()->register_field( $field );
} );
Vorhandenes Spendenfeld abrufen
Wenn Sie ein vorhandenes Spendenfeld bearbeiten oder ändern möchten, ist der beste Weg, das registrierte Spendenfeldobjekt abzurufen.
Sie können dann set() oder den magischen Setter verwenden, um die Felddefinition zu aktualisieren, oder den magischen Getter verwenden, um Informationen über das Feld abzurufen.
/* Get the Donation Fields Registry. */
$fields = charitable()->donation_fields();
/* Get the Phone field. */
$field = $fields->get_field( 'phone' );
/* Change the label (magic setter). */
$field->label = 'Mobile No.';
/* Change the field to be required. */
$field->set( 'donation_form', 'required', true );
/* Print out the field's label (magic getter). */
echo $field->label;
Eigenschaften
Der Schlüssel oder die Kennung des Feldes. Jedes Feld muss einen eindeutigen Schlüssel haben.
Die Bezeichnung des Feldes. Dies ist eine Beschreibung des Feldes. Dies wird im Spendenformular (es sei denn, Sie überschreiben es ausdrücklich im donation_form-Argument), im Bereich der Spenden-Admin-Details und im Spendenexport als Spaltenüberschrift verwendet.
Die Art der Daten, die dieses Feld darstellt. Es gibt zwei Hauptoptionen, wobei eine dritte hauptsächlich für interne Charitable-Zwecke verwendet wird:
user: Dies sind Informationen, die spezifisch für den Spender sind und im Allgemeinen für den Spender bei nachfolgenden Spenden wahr bleiben. Beispiele hierfür wären sein Name, seine Telefonnummer usw.meta: Dies sind Informationen, die spezifisch für die Spende sind. Ein Beispiel hierfür wäre das für die Spende verwendete Zahlungs-Gateway oder ob der Spender möchte, dass diese Spende anonym erfolgt.core: Dies wird hauptsächlich für interne Zwecke verwendet und sollte in den meisten Fällen nicht verwendet werden. Wenn Sie es verwenden, müssen Sie zusätzlichen Code zum Speichern des Feldwerts sowie zum Abrufen aus der Datenbank schreiben.
Wert_Callback (false|callable)
Wie der Wert des Feldes abgerufen wird. Wenn Sie dies weglassen oder auf false setzen, wird der Standard-Callback basierend auf dem Datentyp des Feldes verwendet:
- Für ein
meta-Feld ist der Standard-Wert-Callbackcharitable_get_donor_meta_value. - Für ein
user-Feld ist der Standard-Wert-Callbackcharitable_get_donation_meta_value.
Sie können Ihren eigenen Wert-Callback angeben, indem Sie den Namen Ihrer eigenen Funktion, ein Array, das eine Objektmethode darstellt [$class_name, $method_name], oder eine anonyme Funktion übergeben.
Wie/ob das Feld in das Spendenformular aufgenommen wird. Wenn dies weggelassen oder auf false gesetzt wird, wird das Feld überhaupt nicht in das Spendenformular aufgenommen. Beim Übergeben eines Arrays sind die folgenden Argumente verfügbar:
label (string)
Die im Spendenformular angezeigte Bezeichnung. Wenn dies weggelassen wird, wird dielabel-Eigenschaft des Feldes verwendet.type (string)Der Feldtyp. Optionen sind:TextE-MailPasswortDatumdatepickerKontrollkästchenMehrfachauswahl-CheckboxauswählenRadioDateiFeldgruppeeditor(verwendet den klassischen WordPress Editor)TextbereichNummerBildURLversteckt
required (boolean)Ob dieses Feld erforderlich ist.options (array)Geben Sie eine Reihe von Optionen an. Dies ist erforderlich, wenntypeeiner der folgenden ist:select,radioodermulti-checkbox. Diese sollten in einem einfachen Wert => Label-Array bereitgestellt werden, wobei das Label das ist, was die Leute sehen, wenn sie eine Option auswählen, und der Wert das ist, was in der Datenbank gespeichert wird.default (mixed)
Der Standardwert für dieses Feld.placeholder (string)Ein Platzhalter, der im Feld angezeigt wird, wenn es leer ist.min (int)Legen Sie die maximal zulässige Zahl fest. Nur anwendbar, wenntypenumberist.max (int)Legen Sie die maximal zulässige Zahl fest. Nur anwendbar, wenntypenumberist.attrs (array)
Ein Array von beliebigen Attributen, die dem Eingabefeld hinzugefügt werden sollen.section (string)
Der Abschnitt des Spendenformulars, in dem dies erscheinen soll. Standardmäßig gibt es zwei Abschnitte:userundmeta. Wenn dies nicht festgelegt ist, basiert der Abschnitt auf dem Datentyp des Felds.show_before (string)
Legt fest, wo das Feld im Spendenformular hinzugefügt werden soll, indem das Feld angegeben wird, vor dem es erscheinen soll.show_after (string)
Legt fest, wo das Feld im Spendenformular hinzugefügt werden soll, indem das Feld angegeben wird, nach dem es erscheinen soll.priority (int)
Legen Sie die Position des Felds im Formular fest. Dies wird verwendet, es sei denn,show_afterodershow_beforesind für das Feld festgelegt. Wennpriority,show_afterundshow_beforenicht festgelegt sind, wird das Feld nach dem zuletzt registrierten Formularfeld angezeigt.value_callback (false|callable)
Eine Callback-Funktion, um den Wert des Felds für eine Spende abzurufen. Dies überschreibt die Einstellungvalue_callbackfür das Feld.
Legt fest, ob das Feld im Spendenformular des Administrators angezeigt werden soll.
- Wenn dies auf
falsegesetzt ist, wird das Feld nicht im Spendenformular des Administrators angezeigt (nicht einmal als verstecktes Eingabefeld). - Wenn dies auf
truegesetzt ist, erbt das Formularfeld Argumente vomdonation_form(falls vorhanden) oder verwendet Standardargumente. - Alternativ können Sie ein Array von Werten übergeben, um fein abzustimmen, wie dieses Feld im Admin-Formular angezeigt wird (alle gleichen Argumente sind zulässig wie für
donation_formoben).
Ob dies im Abschnitt „Spenden-Details“ einer einzelnen Spenden-Detail-Adminseite enthalten sein soll.
Ob dies im Spendenexport unter Charitable > Donations enthalten sein soll.
Ob ein E-Mail-Tag für dieses Feld erstellt werden soll.
- Wenn dies
falseist, wird kein E-Mail-Tag erstellt. - Wenn dies
trueist, wird ein E-Mail-Tag erstellt, wobei die Feldbezeichnung als Beschreibung verwendet wird. Kein Vorschauwert wird festgelegt. - Alternativ können Sie ein Array für feinere Kontrolle über die E-Mail-Tag-Details übergeben:
description (string)
Die Beschreibung, die für den E-Mail-Tag angezeigt wird. Wenn keine Beschreibung festgelegt ist, wird daslabeldes Feldes verwendet.tag (string)
Der E-Mail-Tag. Wenn dieser nicht angegeben ist, wird der Feldschlüssel verwendet.preview (mixed)
Ein Wert, der in E-Mail-Vorschauen für dieses Feld verwendet werden soll.
Methoden
require()
Hinzugefügt in Version 1.5.0
Erstellt eine neue Spendenfeld-Instanz.
Argumente
$field (string)Der eindeutige Schlüssel des Feldes.
$args (Array)Ein Array, das eine der oben gezeigten Eigenschaften enthält, außer
$field.
Nutzung
$field = new Charitable_Donation_Field(
'my_custom_field',
array(
'label' => __( 'My Custom Field' ),
'data_type' => 'meta',
'value_callback' => false,
'donation_form' => array(
'type' => 'text',
'required' => false,
'show_after' => 'phone',
),
'admin_form' => true,
'show_in_meta' => true,
'show_in_export' => true,
'email_tag' => array(
'description' => __( 'The custom field value' ),
),
)
);
require()
Hinzugefügt in Version 1.6.0
Ändert ein Feldargument.
Argumente
key (string)Das zu ändernde Feldargument. Dies kann eine beliebige der oben beschriebenen Eigenschaften sein, außer
$field:label,data_type,value_callback,donation_form,admin_form,show_in_meta,show_in_export,email_tag.Einstellung (string)Dies identifiziert ein bestimmtes Array-Element innerhalb eines der Array-kompatiblen Argumente:
donation_form,admin_form,email_tag. Hinweis: Wenn$keynicht eines dieser drei ist, lassen Sie dies als leeren String.$value (mixed)Der neue Wert für dieses Feldargument.
Nutzung
/* Get the State field. */ $field = charitable()->donation_fields()->get_field( 'state' ); /* Change the label to Province. */ $field->set( 'label', '', 'Province' ); /* Change the field to be required. */ $field->set( 'donation_form', 'required', true );
require()
Hinzugefügt in Version 1.5.0
Ändern Sie die Parameter des Feldes. Im Gegensatz zur oben beschriebenen set() -Methode können Sie damit nicht ein einzelnes Element innerhalb eines Array-ähnlichen Arguments aktualisieren (Sie können es beispielsweise nicht einfach verwenden, um zu ändern, ob ein Feld im Spendenformular erforderlich ist).
Es ist das Äquivalent zum Aufrufen von set() mit dem $setting -Argument, das als leerer String belassen wird.
Hinweis: __set() ist eine magische Methode in PHP. Sie wird implizit aufgerufen, wenn Sie versuchen, eine der Klasseneigenschaften festzulegen, mit Ausnahme von $field.
Argumente
$key (string)Das zu ändernde Feldargument. Dies können alle oben aufgeführten Eigenschaften sein, mit Ausnahme von
$field:label,data_type,value_callback,donation_form,admin_form,show_in_meta,show_in_export,email_tag.$value (mixed)Der neue Wert für dieses Feldargument.
Nutzung
/* Get the State field. */ $field = charitable()->donation_fields()->get_field( 'state' ); /* Change the label to Province. */ $field->label = 'Province';
require()
Hinzugefügt in Version 1.5.0
Rufen Sie den Wert des Feldes für ein bestimmtes Argument ab.
Hinweis: __get() ist eine magische Methode in PHP. Sie wird implizit aufgerufen, wenn Sie versuchen, auf eine Klasseneigenschaft zuzugreifen.
Argumente
$key (string)Das abzurufende Feldargument.
Nutzung
/* Get the State field. */ $field = charitable()->donation_fields()->get_field( 'state' ); /* Print/echo the current label. */ echo $field->label;





