<?php
/**
 * Gibt ein Array zurück mit allen Parent Posts ohne Startseite
 *
 * Achtung: Die Funktion ist rekursiv und Pages
 * mit der ID '0' werden nicht ausgewertet
 *
 * @param  string|int  $id         Post-ID
 * @param  int         $max_depth  Optional. Maximale Crawl Tiefe
 *
 * @return array|bool  Die aktuelle Seite & Eltern Seiten als Array
 */
function p_get_breadcrump_posts( $id, $max_depth = 5 ){
	if( $max_depth == 0 ) { return false; };
	$post = get_post( $id );
	$post_data = [];
	if( intval( $post->post_parent ) > 0 ) {
		$post_data = p_get_breadcrump_posts( $post->post_parent, ( $max_depth - 1) );
	}
	$post_data[] = [
		'id'        => $post->ID,
		'title'     => $post->post_title,
		'parent'    => $post->post_parent,
		'permalink' => get_permalink( $post->ID ),
	];

	return $post_data;
};

Breadcrump für WordPress Seiten (Pages)

Breadcrumps für WordPress sind Klassiker – Klassiker sind sie aber leider, weil es keine eigene WordPress Funktion gibt um diese zu generieren. Ich habe hier ein Script geschrieben, mit dem man für Seiten (Pages) ein Breadcrump Array erstellen kann. Dieses funktioniert nicht so wirklich mit Blogbeiträgen (Posts), weil diese im eigentlichen Sinne keine Eltern-Seiten haben, […]

Bayrische Bierstuben mit Bibliothek | Johannes Ulrich Gehrke

Bayrische Bierstuben mit Bibliothek

Bier und Bücher bassen zam – das wissen leider nur wenige Wirtshäuser. Während es im Sommer schön ist gemütlich im Biergarten zu hocken und was zu lesen, ist gleiche Tätigkeit im Winter sehr unangenehm. Das Wetter darf sich an dieser Stelle von mir angegriffen fühlen – und ganz ehrlich: Schnee ist doch am schönsten wenn […]

Münchner Winter-Tollwood ist offen und leuchtet | Johannes Ulrich Gehrke

Münchner Winter-Tollwood ist offen und leuchtet

Farbenfrohes Fest – Im Winter ist auf der Theresienwiese in München immer das Winter Tollwood. Dieser Weihnachtsmarkt ist ein bisschen alternativer als andere. Hier gibt es indische Speisen, viele Bio-Sachen und Jutebeutel. Was immer besonders auffällt bei diesem Münchner Weihnachtsmarkt ist, wie er er hergerichtet ist. Er leuchtet in vielen Farben, es gibt Live Musik […]

Notwendige WordPress Plugins vom Theme managen lassen | Johannes Ulrich Gehrke

Notwendige WordPress Plugins vom Theme managen lassen

Das eigene Theme braucht oft Plugins – Viele Funktionen sind unnötig jedes mal selbst zu schreiben, oder man möchte auf einem Framework zugreifen, braucht komplexe Sonderfunktionen (z.B. Buddypress) oder möchte einfach die zusätzliche Eingabefelder vom OptionsTree haben. Es gibt die Möglichkeit Plugins einfach in das Theme zu integrieren, dies macht aber das Theme und die […]

Podcast: Spabiergänger #001 | Johannes Ulrich Gehrke

Podcast: Spabiergänger #001

[audio mp3="https://www.johannes-gehrke.de/wp-content/uploads/2017/11/20171104_150833.mp3"][/audio]

Google Captcha mit PHP als Spam-Schutz für Formulare nutzen | Johannes Ulrich Gehrke

Google Captcha mit PHP als Spam-Schutz für Formulare nutzen

Captchas bieten Hilfe gegen Spam – Als Seitenbetreiber kennt man es, wenn man ein Kontakt-Formular oder ähnliches hat, dass nach einer Weile Spam-Bots auf die Seite gelangen. Diese Bots tragen meist irgendwelche Daten in das Formular ein, probieren Sicherheitslücken zu finden oder wollen einfach Website-Links spamen. Um das zu unterbinden bieten verschiedene Dienstleister Captchas an. […]

jQuery(function() { /* onReady */
	var $ = jQuery; 

	// 16:9 ( Spielfilm-Format [ Hany, Laptop, etc auch] )
	$( '.video_player_wrapper iframe' ).lh_resize_videoplayer();
	
	// 21:9 ( Kino-Format )
	$( '.video_player_wrapper iframe' ).lh_resize_videoplayer( { 'width' : 21 } );
	
	// 4:3 ( Foto-Format )
	$( '.video_player_wrapper iframe' ).lh_resize_videoplayer( { 'width' : 4, 'height' : 3 } );
	
	// Finde Youtube-Player Iframes
	$( 'iframe[src^=\'https://www.youtube/\']' ).lh_resize_videoplayer();
	
});

Responsive Youtube Player für das Theme per jQuery

Videoplayer auf Website sind immer bisschen anstrengend – Sie sind einfach nicht so super einfach einbaubar wie Bilder. Der Youtube Player, den man per Embed-Code zum Beispiel bekommt liegt in einem Iframe. Diesen kann man mit max-width:100% zwar anpassen, dass immer die Container-Breite einfängt, jedoch zerstört es dann oft das Seitenverhältnis. Es gibt bisher keine […]


Deprecated: Return type of Requests_Cookie_Jar::offsetExists($key) should either be compatible with ArrayAccess::offsetExists(mixed $offset): bool, or the #[\ReturnTypeWillChange] attribute should be used to temporarily suppress the notice in /var/www/vhosts/johannes-gehrke.de/httpdocs/wordpress/wp-includes/Requests/Cookie/Jar.php on line 63

Deprecated: Return type of Requests_Cookie_Jar::offsetGet($key) should either be compatible with ArrayAccess::offsetGet(mixed $offset): mixed, or the #[\ReturnTypeWillChange] attribute should be used to temporarily suppress the notice in /var/www/vhosts/johannes-gehrke.de/httpdocs/wordpress/wp-includes/Requests/Cookie/Jar.php on line 73

Deprecated: Return type of Requests_Cookie_Jar::offsetSet($key, $value) should either be compatible with ArrayAccess::offsetSet(mixed $offset, mixed $value): void, or the #[\ReturnTypeWillChange] attribute should be used to temporarily suppress the notice in /var/www/vhosts/johannes-gehrke.de/httpdocs/wordpress/wp-includes/Requests/Cookie/Jar.php on line 89

Deprecated: Return type of Requests_Cookie_Jar::offsetUnset($key) should either be compatible with ArrayAccess::offsetUnset(mixed $offset): void, or the #[\ReturnTypeWillChange] attribute should be used to temporarily suppress the notice in /var/www/vhosts/johannes-gehrke.de/httpdocs/wordpress/wp-includes/Requests/Cookie/Jar.php on line 102

Deprecated: Return type of Requests_Cookie_Jar::getIterator() should either be compatible with IteratorAggregate::getIterator(): Traversable, or the #[\ReturnTypeWillChange] attribute should be used to temporarily suppress the notice in /var/www/vhosts/johannes-gehrke.de/httpdocs/wordpress/wp-includes/Requests/Cookie/Jar.php on line 111

Deprecated: Return type of Requests_Utility_CaseInsensitiveDictionary::offsetExists($key) should either be compatible with ArrayAccess::offsetExists(mixed $offset): bool, or the #[\ReturnTypeWillChange] attribute should be used to temporarily suppress the notice in /var/www/vhosts/johannes-gehrke.de/httpdocs/wordpress/wp-includes/Requests/Utility/CaseInsensitiveDictionary.php on line 40

Deprecated: Return type of Requests_Utility_CaseInsensitiveDictionary::offsetGet($key) should either be compatible with ArrayAccess::offsetGet(mixed $offset): mixed, or the #[\ReturnTypeWillChange] attribute should be used to temporarily suppress the notice in /var/www/vhosts/johannes-gehrke.de/httpdocs/wordpress/wp-includes/Requests/Utility/CaseInsensitiveDictionary.php on line 51

Deprecated: Return type of Requests_Utility_CaseInsensitiveDictionary::offsetSet($key, $value) should either be compatible with ArrayAccess::offsetSet(mixed $offset, mixed $value): void, or the #[\ReturnTypeWillChange] attribute should be used to temporarily suppress the notice in /var/www/vhosts/johannes-gehrke.de/httpdocs/wordpress/wp-includes/Requests/Utility/CaseInsensitiveDictionary.php on line 68

Deprecated: Return type of Requests_Utility_CaseInsensitiveDictionary::offsetUnset($key) should either be compatible with ArrayAccess::offsetUnset(mixed $offset): void, or the #[\ReturnTypeWillChange] attribute should be used to temporarily suppress the notice in /var/www/vhosts/johannes-gehrke.de/httpdocs/wordpress/wp-includes/Requests/Utility/CaseInsensitiveDictionary.php on line 82

Deprecated: Return type of Requests_Utility_CaseInsensitiveDictionary::getIterator() should either be compatible with IteratorAggregate::getIterator(): Traversable, or the #[\ReturnTypeWillChange] attribute should be used to temporarily suppress the notice in /var/www/vhosts/johannes-gehrke.de/httpdocs/wordpress/wp-includes/Requests/Utility/CaseInsensitiveDictionary.php on line 91

Video-Rezept: Super-Sandwich schnell gemacht

Immer wenn der kleine Hunger kommt – Dann lässt man lieber die Hände weg vom Milchreis. Man macht sich lieber ein gutes deutsches Brot. Oder wie es die Engländer nennen „Sandwich“. Florian und ich schauen in unseren Pausen gerne verschiedene Youtube Channel. Die Channels die grillen. Wir finden, dass sehr entspannend, aber teils auch sehr […]


Warning: Undefined array key 0 in /var/www/vhosts/johannes-gehrke.de/httpdocs/wordpress/wp-content/themes/johannes2017/lib/get-options.php on line 37

Warning: Undefined array key 0 in /var/www/vhosts/johannes-gehrke.de/httpdocs/wordpress/wp-content/themes/johannes2017/lib/get-options.php on line 37
Herbstaufnahme der Theresienwiese mit und ohne Sonnenbrille | Johannes Ulrich Gehrke

Herbstaufnahme der Theresienwiese mit und ohne Sonnenbrille

Analoger Filter für Handybilder – Auf meinem Weg um die Theresienwiese fand ich die Farben so schön. Da habe ich schnell eine Handyaufnahme mit meinem Smartphone gemacht. Ich kam auf die Idee als Filter einfach meine Sonnenbrille mal vor die Linse zu halten. Das Ergebnis sieht man im zweiten Bild. Filter für Handyaufnahmen sind spätestens […]


Warning: Undefined array key 0 in /var/www/vhosts/johannes-gehrke.de/httpdocs/wordpress/wp-content/themes/johannes2017/lib/get-options.php on line 37

Warning: Undefined array key 0 in /var/www/vhosts/johannes-gehrke.de/httpdocs/wordpress/wp-content/themes/johannes2017/lib/get-options.php on line 37
Liebe Bäcker: So muss ein belegtes Brötchen aussehen! | Johannes Ulrich Gehrke

Liebe Bäcker: So muss ein belegtes Brötchen aussehen!

Das Frühstücksbrötchen war so geil – da hab ich direkt mal ein Foto von gemacht. Außerdem habe ich das Bild direkt noch an weitere Brötchen Freunde per Whatsapp verschickt. Ich habe ein Reddit Beitrag pfostiert zu dem Thema und überlege die deutsche Bäckerinnung anzuschreiben. Es könnte ja sein, dass diese sich ein Beispiel an dieser […]