Für Menschen · Seien Sie begeistert und Sie werden begeistern !
Im Bezug auf die bessere Gallery ist es eigentlich nicht nötig das Stylesheet zu laden, wenn es keine Galerie gibt, insofern ist es also lohnend, wenn man im Vorfeld prüft, ob die Gallery im Beitrag genutzt wird und nur dann das Stylesheet laden. Dazu muss man die Beitrag parsen und das kann man auf zwei Arten tun.
Die klassische Lösung ist den Content in der Ausgabe zu parsen und den Shortcode zu suchen, klassisches PHP strstr. Je nach Ergebnis wird das Stylesheet geladen.
if ( strstr($post->post_content, '[gallery') ).
Dies kostet natürlich Zeit und Performance, was man eigentlich meiden möchte. Insofern ist es besser, wenn man den Beitrag im Vorfeld parsen kann. In diesem Zusammenhang gibt es einen Tread im Forum von WordPress, welches genau dazu eine erstklassige Lösung von WhiteShadow hat und diesen Ansatz kann man natürlich auch für das Laden des Stylesheet nutzen, wenn es um die Gallery geht.
// onyl css, when post has a gallery
function gallery_stylesheet($posts) {
if ( empty($posts) )
return $posts;
$found = false;
foreach ($posts as $post) {
if ( stripos($post->post_content, '[gallery') )
$found = true;
break;
}
if ($found)
wp_enqueue_style( 'gallery-stylesheet', get_bloginfo('stylesheet_directory') . '/gallery.css', false, false, 'screen' );
return $posts;
}
add_action('the_posts', 'gallery_stylesheet');
Diesen Ansatz kann man natürlich auch nutzen für das Laden von Scripten,
// onyl js, when post has a gallery
function my_script($posts) {
if ( empty($posts) )
return $posts;
$found = false;
foreach ($posts as $post) {
if ( stripos($post->post_content, '[gallery') )
$found = true;
break;
}
if ($found)
wp_enqueue_script( 'my-script', get_bloginfo('stylesheet_directory') . '/script.js', false, false, true );
return $posts;
}
add_action('the_posts', 'my_script');
Weitere Hinweise zum Einbinden von JavaScript- und CSS-Dateien gibt es in einem anderen Beitrag zum Thema.
bueltge.de [by:ltge.de] wird von Frank Bültge geführt, administriert und gestaltet. Alle Inhalte sind persönlich von mir ausgewählt und erstellt, nach bestem Gewissen und Können, was die Möglichkeit von Fehlern nicht ausschließt.
Das Weblog wird angetrieben von WordPress und aktuell gibt es 980 Beiträge, 18722 Kommentare in 14 Kategorien und 464 Tags.
Das Blog wird liebevoll mit xHTML & CSS in Handarbeit gestaltet. Erstellt mit ♥ zum Befüllen und Erhalten.
Design und Code ist unter Copyright
© 2001 - 2012 bueltge.de [by:ltge.de]
20. Januar 2010 um 04:30
Das Ding hat einen Nachteil: Was, wenn man lediglich darüber berichtet? „Mit dem Tag ‚[gallery]‘ leitet man eine Galerie ein“. Zack, schon wird „[gallery“ gefunden, auch wenn man keine Verwendet.
Wäre es nicht sinnvoller, dass das Galeriesystem einen Metatag setzt, den man dann auslesen kann?
20. Januar 2010 um 10:50
@Dirk: Natürlich wäre das ein wenig besser, aber dazu muss man den Editor erweitern, was nicht jedem so einfach gelingt - bzw. ein benutzerdef. Feld benutzen, was auch nicht unbedingt jedem Autor recht ist.