Useful Theme Functions
custom_pagination($query = null, $range = 2)
Zeigt eine benutzerdefinierte, nummerierte Seitennummerierung für Beiträge oder benutzerdefinierte Abfragen an. Sie zeigt die aktuelle Seite, einen Bereich benachbarter Seiten und Links zur ersten und letzten Seite mit Auslassungspunkten (...) an, wo Seiten übersprungen werden.
Parameters:
$query (WP_Query Object, optional) - The WP_Query object to paginate. Defaults to the global
$range (Int, optional) - The number of page links to show on either side of the current page. Default is 2. Returns: Void - Echos the HTML for the pagination navigation directly to the output.
$wp_query.$range (Int, optional) - The number of page links to show on either side of the current page. Default is 2. Returns: Void - Echos the HTML for the pagination navigation directly to the output.
Usage Example:
// For the main query on a blog page:
// For a custom query where $my_query is defined:
// For the main query on a blog page:
custom_pagination();// For a custom query where $my_query is defined:
custom_pagination($my_query, 3);
is_mobile()
Erkennt, ob die User-Agent-Zeichenkette anzeigt, dass eine Anfrage von einem Mobiltelefon oder Gerät mit kleinem Bildschirm kommt (z. B. Android, iPhone, Blackberry, usw.).
Returns: Boolean -
true if the user agent matches common mobile patterns, otherwise false.
Usage Example:
if (is_mobile()) { echo '<p>Viewing on a mobile device.</p>'; }
is_curl_installed()
Prüft, ob die cURL-PHP-Erweiterung auf dem Server installiert und geladen ist. cURL ist oft erforderlich, um ausgehende HTTP-Anfragen zu stellen (z. B. an APIs).
Returns: Boolean -
true if cURL is installed and enabled, otherwise false.
Usage Example:
if (!is_curl_installed()) { error_log('cURL is not available! API calls might fail.'); }
get_current_language_slug()
Ruft den aktuellen zweistelligen Sprach-Slug ab (z. B. "en", "de"). Unterstützt Polylang und WPML und fällt auf das Standard-Gebietsschema der Seite zurück, wenn kein Sprach-Plugin aktiv ist.
Returns: String - The current language slug.
Usage Example:
$lang = get_current_language_slug(); // Returns 'de' or 'en'echo '<p>Current language: ' . strtoupper($lang) . '</p>';
string_to_slug($str)
Konvertiert eine bestimmte Zeichenkette (wie einen Titel) in einen URL-freundlichen, kleingeschriebenen Slug. Sie behandelt speziell deutsche Umlaute (ä, ö, ü, ß), indem sie diese in ihre zweistelligen Entsprechungen (ae, oe, ue, sz) umwandelt.
Parameters: $str (String) - The input string to convert.
Returns: String - The converted, clean slug (e.g., 'meine-neue-post').
Usage Example:
$title = "Über-Süße Fröhliche Grüße!";$slug = string_to_slug($title); // Returns 'ueber-suesse-froehliche-gruesse'
tel_to_link($phone_number, $vorwahl = '43')
Standardisiert eine Telefonnummer unabhängig von ihrem ungeordneten Eingabeformat (Leerzeichen, Bindestriche, Klammern) in ein sauberes `+LANDESVORWAHL`-Format, das für `tel:`-Links geeignet ist. Entfernt alle nicht-numerischen und nicht-Plus-Zeichen.
Parameters:
$phone_number (String) - The phone number to format (e.g., `+43 (0) 316-123`).
$vorwahl (String, optional) - The default country code (without '+') to use if the number is provided in a local format (e.g., starting with '0'). Default is '43'. Returns: String - The formatted phone number (e.g., '+433161234567').
$vorwahl (String, optional) - The default country code (without '+') to use if the number is provided in a local format (e.g., starting with '0'). Default is '43'. Returns: String - The formatted phone number (e.g., '+433161234567').
Usage Example:
$num = "0316 123 456 78";$link_format = tel_to_link($num); // Returns '+4331612345678'echo '<a href="tel:' . $link_format . '">' . $num . '</a>';
get_attachment($attachment_id)
Eine Wrapper-Funktion, um Metadaten eines WordPress-Medienanhang nach ID einfach abzurufen und in einem Single Associative Array zu kompilieren.
Parameters: $attachment_id (Int) - The ID of the media file/attachment.
Returns: Array - Contains attachment details: `url`, `title`, `caption`, `description`, `alt` text, and `filename`.
Usage Example:
$image_data = get_attachment(105);echo '<img src="' . $image_data['url'] . '" alt="' . $image_data['alt'] . '">';
get_registered_image_sizes()
Ruft eine Liste aller standardmäßigen WordPress-Bildgrößen und aller benutzerdefinierten Bildgrößen ab, die von dem Theme oder Plugins registriert sind. Nützlich für Options-/Einstellungsseiten.
Returns: Array - An associative array where keys are image size slugs (e.g., 'thumbnail', 'custom_size') and values are user-friendly descriptions (e.g., 'Thumbnail - 150 x 150 (crop)'). Includes 'full' size.
Usage Example (for a select field):
$sizes = get_registered_image_sizes();foreach ($sizes as $slug => $description) { echo '<option value="' . $slug . '">' . $description . '</option>'; }
get_social_media_icon($platform, $attrs = array())
Rendert das SVG-Symbol für eine bestimmte Social-Media-Plattform. Prüft zunächst auf ein Theme-Template (`templates/svg/social-platform.php`) und fällt auf ein generisches Kreis-Symbol zurück, wenn kein spezifisches Template gefunden wird.
Parameters:
$platform (String) - The name of the social media platform (e.g., 'facebook', 'instagram').
$attrs (Array, optional) - An array of HTML attributes (e.g., `['width' => '32', 'class' => 'my-icon']`) to apply to the SVG element. Returns: String - The HTML markup for the SVG icon.
$attrs (Array, optional) - An array of HTML attributes (e.g., `['width' => '32', 'class' => 'my-icon']`) to apply to the SVG element. Returns: String - The HTML markup for the SVG icon.
Usage Example:
echo get_social_media_icon('facebook', ['width' => '30', 'class' => 'footer-icon']);
nl2span($string, $class = '')
Konvertiert Zeilenumbrüche in einer Zeichenkette in HTML-Span-Tags und umhüllt jede nicht leere Textzeile. Dies wird häufig für CSS-basierte Animationen oder komplexe Textstile verwendet, bei denen jede Zeile als separates Element behandelt werden muss.
Parameters:
$string (String) - The input string containing newlines.
$class (String, optional) - An optional CSS class to apply to all wrapping
$class (String, optional) - An optional CSS class to apply to all wrapping
<span> tags.
Returns: String - The string with each non-empty line wrapped in a <span> tag.
Usage Example:
// Output:
$text = "Line 1\nLine 2\n\nLine 3";echo nl2span($text, 'line-to-animate');// Output:
<span class="line-to-animate">Line 1</span><span class="line-to-animate">Line 2</span><span class="line-to-animate">Line 3</span>
New
get_fly_image($attachment_id, $width, $height, $crop = true)
Generiert und speichert optimierte Bilddateien automatisch bei Bedarf. Die Funktion erstellt eine physikalische Datei nur dann, wenn sie noch nicht vorhanden ist, um die CPU-Auslastung zu minimieren. Perfekt für die Erstellung benutzerdefinierter Bildgrößen ohne globale Registrierung. Integriert sich mit Bildoptimierungs-Plugins wie CompressX und EWWW. Unterstützt intelligentes Cropping mit anpassbaren Object-Fit-Positionen.
Parameter:
$attachment_id (Int) - Die ID der WordPress-Anhang-/Mediendatei.$width (Int) - Die gewünschte Bildbreite in Pixeln.
$height (Int) - Die gewünschte Bildhöhe in Pixeln.
$crop (Boolean oder Array, optional) - Crop-Verhalten. Verwenden Sie
true zum Zuschneiden (Standard), false zum Skalieren, oder ein Array wie ['center', 'top'] für benutzerdefinierte Object-Fit-Positionen (z.B. ['left', 'center'], ['right', 'bottom']).
Rückgabewert: String - Die URL des generierten/zwischengespeicherten Bildes oder die Original-Anhang-URL als Fallback.
Usage Example:
$image_url = get_fly_image(123, 800, 600, true);$image_url_custom = get_fly_image(123, 800, 600, ['right', 'bottom']);echo '<img src="' . $image_url . '" alt="Fly-generated image">';
get_fly_attachment_image($attachment_id, $size_array = [1000, 500], $crop = true, $attr = [])
Generiert einen vollständigen responsiven
$size_array (Array, optional) - Array mit [width, height] in Pixeln. Standard ist [1000, 500].
$crop (Boolean oder Array, optional) - Crop-Verhalten. Verwenden Sie
$attr (Array, optional) - Zusätzliche HTML-Attribute für den
<img>-Tag mit intelligenter Retina (@2x)-Unterstützung. Erstellt automatisch High-Density-Varianten, wenn das Originalbild groß genug ist, mit einer Sicherheitsgrenze von 2560px. Wenn die 2x-Größe die Grenze überschreiten würde, wird stattdessen eine begrenzte High-Density-Version generiert. Enthält Lazy Loading und Barrierefreiheits-Attribute standardmäßig. Unterstützt flexible Crop-Modi mit anpassbaren Object-Fit-Positionen.
Parameter:
$attachment_id (Int) - Die ID der WordPress-Anhang-/Mediendatei.$size_array (Array, optional) - Array mit [width, height] in Pixeln. Standard ist [1000, 500].
$crop (Boolean oder Array, optional) - Crop-Verhalten. Verwenden Sie
true zum Zuschneiden (Standard), false zum Skalieren, oder ein Array wie ['center', 'top'] für benutzerdefinierte Object-Fit-Positionen.$attr (Array, optional) - Zusätzliche HTML-Attribute für den
<img>-Tag (z.B. ['class' => 'my-class', 'title' => 'My Image']).
Rückgabewert: String - Das vollständige <img>-HTML-Markup mit srcset und Lazy Loading.
Usage Example:
// Output:
echo get_fly_attachment_image(105, [800, 400], true, ['class' => 'featured-image']);// Output:
<img width="800" height="400" src="..." srcset="..." alt="..." loading="lazy" class="fly-resizer-img featured-image" />
get_fly_image_url($attachment_id, $size_array = [1000, 500], $crop = true)
Gibt nur die URL eines Fly-generierten Bildes zurück, ohne den vollständigen
$size_array (Array, optional) - Array mit [width, height] in Pixeln. Standard ist [1000, 500].
$crop (Boolean oder Array, optional) - Crop-Verhalten. Verwenden Sie
<img>-Tag zu generieren. Nützlich, wenn Sie die Bild-URL in benutzerdefiniertem Markup, Hintergrundbildern oder anderen Szenarien verwenden möchten, in denen Sie nur den Pfad benötigen. Unterstützt Object-Fit-Positionen wie die anderen Fly-Funktionen.
Parameter:
$attachment_id (Int) - Die ID der WordPress-Anhang-/Mediendatei.$size_array (Array, optional) - Array mit [width, height] in Pixeln. Standard ist [1000, 500].
$crop (Boolean oder Array, optional) - Crop-Verhalten. Verwenden Sie
true zum Zuschneiden (Standard), false zum Skalieren, oder ein Array wie ['center', 'top'] für benutzerdefinierte Object-Fit-Positionen.
Rückgabewert: String - Die URL des generierten/zwischengespeicherten Bildes.
Usage Example:
$url = get_fly_image_url(105, [600, 300]);echo '<div style="background-image: url(' . $url . ');"></div>';
Automatic Fly-Image Cleanup (delete_attachment hook)
Entfernt automatisch alle zwischengespeicherten Fly-generierten Bild-Varianten, wenn der ursprüngliche Anhang aus der WordPress-Mediathek gelöscht wird. Verhindert, dass verwaiste Bilddateien das Upload-Verzeichnis verstopfen. Erkennt alle Dateien, die dem Fly-Crop-Benennungsmuster entsprechen (z. B. 'image-800x600-cropped.jpg').
Returns: Void - Runs automatically on attachment deletion; no manual invocation needed.
How it works:When you delete an image from the WordPress Media Library, all associated fly-generated variants are automatically cleaned up. No configuration or manual action required.