Profilfelder einrichten

Profilfelder einrichten

Mit Profilfeldern können Sie zusätzliche Angaben für Dozenten oder Schüler definieren, zum Beispiel Fächer, Klassenstufen oder Qualifikationen.

Schritt 1: Einstellungen öffnen

Gehen Sie im WordPress-Backend zu Vermittlung → Einstellungen.

Schritt 2: JSON-Felder eintragen

Fügen Sie im Feld Zusätzliche Profilfelder eine Liste von Feldern ein:

[
    {
        "key": "subjects",
        "label": "Fächer",
        "labels": {
            "provider": "Unterrichtete Fächer",
            "requester": "Gesuchte Fächer"
        },
        "section": "",
        "sections": {
            "provider": "Unterrichtsangebot",
            "requester": "Unterrichtsbedarf"
        },
        "show_if": [],
        "type": "checkboxes",
        "options": [
            {
                "value": "mathematik",
                "label": "Mathematik"
            },
            {
                "value": "deutsch",
                "label": "Deutsch"
            },
            {
                "value": "englisch",
                "label": "Englisch"
            },
            {
                "value": "franzoesisch",
                "label": "Französisch"
            },
            {
                "value": "spanisch",
                "label": "Spanisch"
            },
            {
                "value": "latein",
                "label": "Latein"
            },
            {
                "value": "physik",
                "label": "Physik"
            },
            {
                "value": "chemie",
                "label": "Chemie"
            },
            {
                "value": "biologie",
                "label": "Biologie"
            },
            {
                "value": "geschichte",
                "label": "Geschichte"
            },
            {
                "value": "erdkunde",
                "label": "Erdkunde"
            },
            {
                "value": "informatik",
                "label": "Informatik"
            },
            {
                "value": "sport",
                "label": "Sport"
            },
            {
                "value": "musik",
                "label": "Musik"
            },
            {
                "value": "kunst",
                "label": "Kunst"
            }
        ],
        "profile_types": [
            "provider",
            "requester"
        ],
        "public": 1,
        "required": 1,
        "searchable": 1,
        "matchable": 1
    },
    {
        "key": "participant_name",
        "label": "Name des Unterrichtsteilnehmers",
        "labels": [],
        "section": "Unterrichtsteilnehmer",
        "sections": [],
        "show_if": [],
        "type": "text",
        "options": [],
        "profile_types": [
            "requester"
        ],
        "public": 0,
        "required": 1,
        "searchable": 0,
        "matchable": 0
    },
    {
        "key": "participant_age_group",
        "label": "Der Unterrichtsteilnehmer ist",
        "labels": [],
        "section": "Unterrichtsteilnehmer",
        "sections": [],
        "show_if": [],
        "type": "select",
        "options": [
            {
                "value": "minor",
                "label": "Minderjährig"
            },
            {
                "value": "adult",
                "label": "Volljährig"
            }
        ],
        "profile_types": [
            "requester"
        ],
        "public": 0,
        "required": 1,
        "searchable": 0,
        "matchable": 0
    },
    {
        "key": "guardian_name",
        "label": "Name des Erziehungsberechtigten",
        "labels": [],
        "section": "Erziehungsberechtigte Person",
        "sections": [],
        "show_if": {
            "key": "participant_age_group",
            "value": "minor"
        },
        "type": "text",
        "options": [],
        "profile_types": [
            "requester"
        ],
        "public": 0,
        "required": 1,
        "searchable": 0,
        "matchable": 0
    },
    {
        "key": "guardian_email",
        "label": "E-Mail des Erziehungsberechtigten",
        "labels": [],
        "section": "Erziehungsberechtigte Person",
        "sections": [],
        "show_if": {
            "key": "participant_age_group",
            "value": "minor"
        },
        "type": "email",
        "options": [],
        "profile_types": [
            "requester"
        ],
        "public": 0,
        "required": 1,
        "searchable": 0,
        "matchable": 0
    },
    {
        "key": "guardian_phone",
        "label": "Telefonnummer des Erziehungsberechtigten",
        "labels": [],
        "section": "Erziehungsberechtigte Person",
        "sections": [],
        "show_if": {
            "key": "participant_age_group",
            "value": "minor"
        },
        "type": "tel",
        "options": [],
        "profile_types": [
            "requester"
        ],
        "public": 0,
        "required": 0,
        "searchable": 0,
        "matchable": 0
    },
    {
        "key": "classes",
        "label": "Klassenstufe",
        "labels": [],
        "section": "Unterrichtsteilnehmer",
        "sections": [],
        "show_if": [],
        "type": "select",
        "options": [
            {
                "value": "1",
                "label": "Klasse 1"
            },
            {
                "value": "2",
                "label": "Klasse 2"
            },
            {
                "value": "3",
                "label": "Klasse 3"
            },
            {
                "value": "4",
                "label": "Klasse 4"
            },
            {
                "value": "5",
                "label": "Klasse 5"
            },
            {
                "value": "6",
                "label": "Klasse 6"
            },
            {
                "value": "7",
                "label": "Klasse 7"
            },
            {
                "value": "8",
                "label": "Klasse 8"
            },
            {
                "value": "9",
                "label": "Klasse 9"
            },
            {
                "value": "10",
                "label": "Klasse 10"
            },
            {
                "value": "11",
                "label": "Klasse 11"
            },
            {
                "value": "12",
                "label": "Klasse 12"
            },
            {
                "value": "13",
                "label": "Klasse 13"
            },
            {
                "value": "berufsschule",
                "label": "Berufsschule"
            },
            {
                "value": "studium",
                "label": "Studium"
            },
            {
                "value": "erwachsene",
                "label": "Erwachsenenbildung"
            }
        ],
        "profile_types": [
            "requester"
        ],
        "public": 1,
        "required": 1,
        "searchable": 1,
        "matchable": 0
    },
    {
        "key": "weekly_lesson_scope",
        "label": "Gewünschter Unterricht pro Woche",
        "labels": [],
        "section": "Unterrichtsumfang",
        "sections": [],
        "show_if": [],
        "type": "checkboxes",
        "options": [
            {
                "value": "1x45",
                "label": "1 × 45 Minuten"
            },
            {
                "value": "1x60",
                "label": "1 × 60 Minuten"
            },
            {
                "value": "1x90",
                "label": "1 × 90 Minuten"
            },
            {
                "value": "2x45",
                "label": "2 × 45 Minuten"
            },
            {
                "value": "2x60",
                "label": "2 × 60 Minuten"
            },
            {
                "value": "2x90",
                "label": "2 × 90 Minuten"
            },
            {
                "value": "flexible",
                "label": "Noch nicht festgelegt"
            }
        ],
        "profile_types": [
            "requester"
        ],
        "public": 1,
        "required": 1,
        "searchable": 1,
        "matchable": 0
    },
    {
        "key": "preferred_weekdays",
        "label": "Bevorzugte Wochentage",
        "labels": [],
        "section": "Gewünschte Unterrichtszeiten",
        "sections": [],
        "show_if": [],
        "type": "checkboxes",
        "options": [
            {
                "value": "monday",
                "label": "Montag"
            },
            {
                "value": "tuesday",
                "label": "Dienstag"
            },
            {
                "value": "wednesday",
                "label": "Mittwoch"
            },
            {
                "value": "thursday",
                "label": "Donnerstag"
            },
            {
                "value": "friday",
                "label": "Freitag"
            },
            {
                "value": "saturday",
                "label": "Samstag"
            },
            {
                "value": "sunday",
                "label": "Sonntag"
            },
            {
                "value": "flexible",
                "label": "Flexibel"
            }
        ],
        "profile_types": [
            "requester"
        ],
        "public": 1,
        "required": 0,
        "searchable": 0,
        "matchable": 0
    },
    {
        "key": "preferred_times",
        "label": "Bevorzugte Uhrzeiten",
        "labels": [],
        "section": "Gewünschte Unterrichtszeiten",
        "sections": [],
        "show_if": [],
        "type": "checkboxes",
        "options": [
            {
                "value": "morning",
                "label": "Vormittags"
            },
            {
                "value": "midday",
                "label": "Mittags"
            },
            {
                "value": "afternoon",
                "label": "Nachmittags"
            },
            {
                "value": "evening",
                "label": "Abends"
            },
            {
                "value": "flexible",
                "label": "Flexibel"
            }
        ],
        "profile_types": [
            "requester"
        ],
        "public": 1,
        "required": 0,
        "searchable": 0,
        "matchable": 0
    },
    {
        "key": "contract_duration",
        "label": "Gewünschte Vertragsdauer",
        "labels": [],
        "section": "Unterrichtsumfang",
        "sections": [],
        "show_if": [],
        "type": "select",
        "options": [
            {
                "value": "single",
                "label": "Einzeltermin"
            },
            {
                "value": "one_month",
                "label": "1 Monat"
            },
            {
                "value": "three_months",
                "label": "3 Monate"
            },
            {
                "value": "six_months",
                "label": "6 Monate"
            },
            {
                "value": "school_term",
                "label": "Ein Schulhalbjahr"
            },
            {
                "value": "open_ended",
                "label": "Unbefristet"
            },
            {
                "value": "undecided",
                "label": "Noch nicht entschieden"
            }
        ],
        "profile_types": [
            "requester"
        ],
        "public": 1,
        "required": 0,
        "searchable": 1,
        "matchable": 0
    },
    {
        "key": "learning_goals",
        "label": "Lernziele und aktuelle Schwierigkeiten",
        "labels": [],
        "section": "Unterrichtsbedarf",
        "sections": [],
        "show_if": [],
        "type": "textarea",
        "options": [],
        "profile_types": [
            "requester"
        ],
        "public": 1,
        "required": 0,
        "searchable": 0,
        "matchable": 0
    },
    {
        "key": "additional_notes",
        "label": "Weitere Hinweise",
        "labels": [],
        "section": "Unterrichtsbedarf",
        "sections": [],
        "show_if": [],
        "type": "textarea",
        "options": [],
        "profile_types": [
            "requester"
        ],
        "public": 0,
        "required": 0,
        "searchable": 0,
        "matchable": 0
    }
]

Schritt 3: Bedeutung der Angaben

  • key: technischer eindeutiger Name ohne Leerzeichen.
  • label: sichtbare Beschriftung im Profilformular.
  • labels: optionale unterschiedliche Beschriftungen für provider und requester.
  • section: gemeinsamer Bereichsname; sections kann je Profiltyp einen anderen Bereich festlegen.
  • type: Text-, E-Mail-, Telefon-, Datums- und Zahlenfelder sowie select, multiselect und checkboxes.
  • options: Liste der erlaubten Auswahlwerte mit technischem value und sichtbarem label.
  • searchable: bei 1 erscheint das Feld als Suchfilter und kann als URL-Parameter verwendet werden.
  • matchable: bei 1 werden gemeinsame Werte von Angebot und Gesuch in der Matchingbewertung berücksichtigt.
  • show_if: blendet ein Feld nur ein, wenn ein anderes Auswahlfeld den angegebenen Wert enthält.
  • profile_types: provider für „Dozent“, requester für „Schüler“ oder beide.
  • public: bei true darf der Wert öffentlich angezeigt werden.
  • required: bei true wird das Feld verpflichtend.

Schritt 4: Profil ausfüllen

Nach dem Speichern erscheinen nur die zum Profiltyp passenden Bereiche automatisch unter Mein Profil. Gemeinsame Personen- und Adressfelder bleiben davon unabhängig gleich.

Hinweis: Nur als öffentlich markierte Felder werden in öffentlichen Profilen ausgegeben.