Zum Inhalt

Helfer Funktionen

Überblick

In diesem Bereich dokumentieren wir alle Helferfunktionen, die du als Entwickler im Theme und in Templates einsetzen kannst.

  • Dynamic Content
    Dynamische Inhalte per Placeholder und AJAX.
    Öffnen
  • Posts by Taxonomy
    Posts nach Taxonomie sortiert laden.
    Öffnen

Debug & Logging

Funktion Anwendung
twtheme_error_log($message = '') Debug in error_log schreiben, inkl. Datei/Zeile.
twtheme_console_log($message, $type = 'warn') Ausgabe in der Browser-Console (log, warn, error).
print_rpre($array = []) Arrays lesbar mit <pre> ausgeben.

Content & Formatierung

Funktion Anwendung
twtheme_excerpt($post_id, $content = '', $args = []) Auszug erstellen, optional mit Read‑More/Modal.
twtheme_excerpt_modal($content, $extended_content, $title, $id) Modal-HTML für lange Inhalte erzeugen.
twtheme_get_content($content) Content filtern (Hyperlinks, Shortcodes).
twtheme_highlight_search_keywords($content) Suchbegriffe im Content markieren.
remove_empty_p($content) Leere <p>‑Tags entfernen.
twtheme_date_as_text($date) Datum als Text ausgeben (z. B. „vor 3 Tagen“).
twtheme_get_date_diff($date) Tagesdifferenz zu heute berechnen.
twtheme_is_strtotime($format) Prüfen, ob String als Datum interpretierbar ist.
twtheme_count_content_words($content) Wörter zählen (HTML/Shortcodes ignorieren).
twtheme_post_reading_time($content) Lesezeit in Minuten berechnen.
Funktion Anwendung
twtheme_hyperlink($url = '', $title = '', $atts = [], $args = []) Standardisierte Links erzeugen (rel/target/Slash‑Handling).
twtheme_hyperlink_scan($content = '', $args = []) Links im HTML automatisiert anpassen.
twtheme_hyperlink_matches_id_or_class_selector($attributes, $selector) Prüfen, ob Link-Attribute einen Selector matchen.
twtheme_brand_url() Marken-URL zurückgeben.
filter_action_url($url = '') URL‑Filter für Loops/Filter‑Shortcode anwenden.

Medien & Assets

Funktion Anwendung
twtheme_media($args = []) Media‑Iframe mit Lazy‑Load/Blocker erzeugen.
twtheme_preload_image($image_id, $image_url = '', $image_srcset = '', $image_sizes = '') <link rel="preload"> für Bilder erzeugen.
twtheme_preload_fonts() <link rel="preload"> für Fonts ausgeben.
twtheme_attr_get($tag, $attr) HTML‑Attribut aus Tag‑String lesen.
twtheme_attr_set($tag, $attr, $value) HTML‑Attribut in Tag‑String setzen/ersetzen.
twtheme_image_sizes_for_media($size_names) Bildgrößen für die Mediathek registrieren.

Benutzer & Rollen

Funktion Anwendung
twtheme_get_user_role() Erste Rolle des aktuellen Users liefern.
twtheme_get_user_roles() Alle Rollen des aktuellen Users liefern.
twtheme_user_has_role($role_name, $user_id = '') Prüfen, ob User Rolle hat.
twtheme_user_is_admin($user_id = '') Prüfen, ob User Administrator ist.
twtheme_get_user_meta($user_id = '') User‑Meta als Array liefern.
twtheme_get_username($user_id = '') Anzeigename oder Login-Name liefern.

Geräteerkennung

Funktion Anwendung
get_device() Device‑Info (system/device) liefern.
is_mobile() Mobile‑Device prüfen.
is_tablet() Tablet prüfen.
is_desktop() Desktop prüfen.

Utilities

Funktion Anwendung
twtheme_get_current_post_type() Aktuellen Post‑Type robust ermitteln.
twtheme_get_posts($post_type_name = 'page', $args = []) Posts als value/label Liste liefern.
twtheme_get_post_types() Verfügbare Post‑Types liefern.
twtheme_get_roles() WordPress‑Rollen als Liste liefern.
twtheme_get_terms() AJAX‑Handler für Taxonomien je Post‑Type.
get_random_id($length = 6) Zufällige ID erzeugen.
twtheme_outputter($functions, $value) Mehrere Output‑Filter nacheinander anwenden.
twtheme_get_value($data = [], $fallback = true) value aus Array extrahieren (Fallback auf placeholder).
twtheme_get_title($data = [], $fallback = true) title aus Array extrahieren (Fallback auf label).
twtheme_wpseo_metabox_prio() Yoast‑Metabox Priorität auf low setzen.

Templates & Pages

Funktion Anwendung
twtheme_find_addon_template($template_filename) Template in Add‑on‑Verzeichnissen suchen.
twtheme_addon_single_template($single_template) Single‑Template aus Add‑on laden.
twtheme_addon_archive_template($archive_template) Archive‑Template aus Add‑on laden.
twtheme_addon_taxonomy_template($taxonomy_template) Taxonomy‑Template aus Add‑on laden.
twtheme_page_template($single_template) Page‑Template überschreiben.

Posts & Taxonomien

Funktion Anwendung
twtheme_posts_by_taxonomy($taxonomy, $args = [], $term_args = [], $sort = [], $transient_name = '', $transient_period = '') Posts nach Taxonomie sortiert holen. Siehe: ./posts-by-taxonomy/
twtheme_redirect_to_post() AJAX‑Handler: Redirect zu Post/Term.

UI & Output

Funktion Anwendung
twtheme_spinner() HTML‑Spinner ausgeben.
twtheme_skip_links() Skip‑Links für Accessibility ausgeben.
twtheme_pagination($link, $args) Pagination‑Links formatieren.
twtheme_dynamic_content($key = '', $html = '', $script = '', $loading = 'lazy', $attr = '') Dynamischen Placeholder erzeugen. Siehe: ./dynamic-content/
twtheme_dynamic_content_response() AJAX‑Handler für dynamischen Content.
twtheme_brand_icon() Brand‑Icon als Base64‑SVG liefern.
twtheme_brand_title($title) Brand‑Logo mit Titel ausgeben.

Meta & Daten

Funktion Anwendung
twtheme_update_single_post_meta($post_id, $field_key, $value, $array_meta) Single‑Meta speichern und Array‑Meta synchronisieren.
image_upload_meta_box($field_name = '', $value = '') Bild‑Meta‑Box ausgeben.

Shortcode‑Helfer

Funktion Anwendung
twtheme_media_shortcode($atts = []) Shortcode‑Handler für Media.
twtheme_hyperlink_shortcode($atts) Shortcode‑Handler für Hyperlinks.
twtheme_icon_shortcode_sanitize_slug($value) Icon‑Slug für Shortcode bereinigen.

Anwendung im Theme (Beispiele)

// 1) Lesezeit anzeigen
$minutes = twtheme_post_reading_time(get_the_content());
echo '<span class="reading-time">' . esc_html($minutes) . ' min</span>';

// 2) Standard-Link erzeugen
echo twtheme_hyperlink('https://example.com', 'Mehr erfahren');

// 3) Dynamischen Inhalt mit Platzhalter
echo twtheme_dynamic_content('hero', '<div>…</div>', '<script>/* … */</script>');

Ausführliche Beschreibungen zu komplexeren Helfern findest du in den Unterseiten.