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. |
URLs & Links
| 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. |
| 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.