Ich möchte für die Vorlage, die ich für WordPress entwickle, eine Thickbox hinzufügen. Zur Zeit versuche ich es mit einer sauberen Vorlage, die nur header.php
, footer.php
, index.php
und functions.php
enthält.
Ich habe die <?php wp_head(); ?>
in header.php
und die <?php wp_footer(); ?>
in footer.php
eingefügt.
Ich habe den wp_head
so eingefügt:
<?php
wp_enqueue_script('jquery');
wp_enqueue_script('thickbox');
wp_enqueue_style('thickbox');
wp_head();
?>
Ich habe die Galerie-Link-Klassen mit diesem Code in functions.php
in Thickbox geändert.
<?php add_filter( 'wp_get_attachment_link', 'sant_prettyadd');
function sant_prettyadd ($content) {
$content = preg_replace("/<a/","<a class=\"thickbox[slides]\"",$content,1);
return $content;
}
?>
Wenn ich auf ein Galeriebild klicke, sollte es mit Thickbox geöffnet werden, aber es öffnet nur die Bilddatei.
Sie müssen die Funktion wp_enqueue_script (in Ihrer functions.php-Datei) verwenden, um die entsprechenden Skripte aufzurufen, die Sie benötigen. Es ermöglicht sowohl integrierte Bibliotheken als auch das Hinzufügen von benutzerdefinierten Elementen, die Sie in Ihr Thema aufnehmen.
Alles was Sie tun müssen, ist ein einfacher Aufruf in Ihrem functions.php
:
add_action( 'wp_enqueue_scripts', 'add_thickbox' );
Das ist es. WordPress stellt jetzt jQuery und das Thickbox-Skript in die Warteschlange. Standardmäßig sind verknüpfte Bilder noch nicht dickköpfig. Du musst:
thickbox
hinzu, oderBeispielcode für footer.php
:
<script>
jQuery('a img.size-medium').parent().addClass('thickbox').attr('rel', 'page');
</script>
<?php
wp_footer();
Dieser Code fügt allen Links um mittelgroße Bilder die Klasse thickbox
hinzu und gruppiert diese Links, um die nächsten/vorherigen Navigationslinks zu aktivieren.
Jetzt erhalten Sie eine einfache Thickbox mit übersetzten Navigationslinks:
Da es sich um ein vom Core verwaltetes Skript handelt, ist es nicht tastaturfreundlich: Die Pfeiltasten tun nichts. Wenn Sie eine benutzerfreundlichere Lösung benötigen, nehmen Sie ein Plugin.
Ein weiterer Hinweis: Thickbox kann früher oder später aus dem Kern entfernt werden. Siehe Ticket 10955 .