Thickbox und WordPress
Gestern wollte ich unbedingt noch die Hilfe bei den Theme-Optionen integrieren. Da die Thickbox Bestandteil der WordPress Includes ist, wollte ich sie für das Hilfesystem auch benutzen. Vorgestellt hatte ich mir einen Hilfeicon neben den jeweiligen Optionen. Ein Klick darauf sollte die entsprechende Hilfeseite in der Thickbox laden. Damit fingen die Probleme aber auch schon an.
Normalerweise kann man zum Einbinden der verfügbaren Javascripts in WordPress wp_enqueue_script(‘scriptname’) bzw. für die zugehörigen Stylesheets wp_enqueue_style(‘stylesheetname’) verwenden. dabei wird geprüft, ob das Script/Stylesheet bereits geladen wurde. Eigenartigerweise ging das bei mir nicht. wp_print_scripts(‘thickbox’) tats dafür
.
Nachdem ich eine kleine Hilfeseite erstellt hatte, wollte ich sie einbinden. Die Thickbox stellt dafür mehrere Möglichkeiten zur Verfügung: Inline Content, iFrame Content und Ajax Content. Bei den beiden letztgenannten wird eine Seite in die Thickbox geladen. Klappt soweit super. Wenn da nicht WordPress wäre. Da die Hilfe mehrsprachig sein soll, muß ich die gettext Funktionen von WordPress benutzen, also _e(‘Dieser Text wird übersetzt’, ‘textdomain’). Die Hilfeseiten haben aber nichts mit WordPress am Hut und deswegen kann ich auf den Hilfeseiten keine WordPress Funktionen nutzen. Es kommt sofort eine Fehlermeldung, dass die Funktion nicht gefunden wurde. Also habe ich die Inline Variante benutzt. Die Hilfeseite habe ich mit include unten auf der Themeseite eingebunden. Jeder Hilfepunkt ist ein eigenes Div mit einer id und style=”display: none”. Der Anker zur Hilfe sieht dann folgendermaßen aus:
<a href="#TB_inline?height=400&width=600&inlineId=help_layout" class="thickbox">Hilfe</a>
Die Thickbox blendet in diesem Fall dann das Div mit der id help_layout ein. Ist der Inhalt größer als die Fensterabmessungen, werden automatisch Scrollbalken erzeugt.
Ich bin mir noch nicht sicher, ob es eine bessere Variante gibt, aber es funktioniert, wie ich es mir vorgestellt habe.
- Kategorie: WordPress
- Tags: theme, thickbox, WordPress, yaml
- Kommentar-Feed | Trackback URL
- Gelesen: 4770 | Heute: 2
- einen Kommentar schreiben
5 Kommentare


Mit jedem Post bin ich neugieriger… Wann darf man das Projekt denn mal testen?
Hallo Jared,
keine Ahnung, da ist noch so viel zu tun. Aussehen tut das Theme überhaupt noch nicht, nur ein paar Farben, um besser die Positionierung zu sehen.
wp_print_scripts ist auch dafür gedacht:
Prints script tags in document head. Called by admin-header.php and by wp_head hook. Since it is called by wp_head on every page load.
wp_enqueue_script macht nur: Registers the script if src provided (does NOT overwrite) and enqueues.
Eventuell könntest du eine eigene Klasse hinterlegen, wie mal am Tel. besprochen und dann hast du wieder _e + getext-Name um die Mehrsprachigkeit zu erzeugen, ähnlich der Klasse für Fehlermeldungen.
@Frank, bist du noch im urlaub, oder gehst du nicht ans Telefon?
Keines – bin beruflich unterwegs und habe kein Tel.Zugang. Bin erst gegen 23h zu Hause und eventuell bekommst du mich morgen.
LG Frank