Hook Referenzen

Hooks sind Platzhalter, die es Entwicklern gestatten, eigene Funktionen hinzuzufügen. Mithilfe von Hooks fügt man Code ein – oder modifiziert manchmal auch bestehenden Code – ohne die Kerndateien zu verändern (Kerndateien zu verändern, ist generell eine schlechte Idee – es sei denn, Sie wissen, was Sie tun, und sind bereit, sich mit den versehentlich verursachten Problemen auseinanderzusetzen). Headway nutzt WordPress-Hooks.Headway selbst hat Hooks an strategisch günstigen Orten, wie etwa nach dem Post-Inhalt, vor dem Header und am Ende des Naviationsmenüs.

Wenn Sie noch nie mit Hooks gearbeitet haben und eine Anleitung benötigen, werfen Sie zuvor einen Blick in folgende Artikel:

Einige Ideen, was sich mit Hooks anfangen lässt:

  • Mit dem Hook after_post_content hook lässt sich z.B. Code für Google Adsense einfügen. So hätten Sie eine Anzeige am Ende all Ihrer Posts.
  • Mit demselben Hook könnten Sie jedem Post einen Kasten „Über den Autor“ anhängen.
  • Sie könnten den Hook before_header_hook nutzen, um oben auf jeder Seite ein Banner oder Social-Media-Icons anzuzeigen.

Die „Easy Hooks“ aus Headway 2.0 zum Einfügen von HTML-Code sind für Headway 3+ noch nicht verfügbar. Hooks, die PHP-Nutzen, werden für gewöhnlich als „Standard-Hooks“ bezeichnet, um sie von Easy Hooks unterscheiden zu können.

Siehe Child Themes und Headway für einen Überblick über die nötigen Schritte, ein Child Theme für Headway zu erstellen.

Action Hooks

Wichtig: Wenn Sie einen der Hooks nutzen möchten, die eine unverwechselbare Block-ID bzw. einen Block-Typ annehmen können, ersetzen Sie #BLOCK_ID# oder #BLOCK_TYPE# durch eine gültige Block-ID bzw. einen Block-Typ.

  • headway_after_block
  • headway_after_block_#BLOCK_ID#
  • headway_after_entry
  • headway_after_entry_comments
  • headway_after_entry_content
  • headway_after_entry_title
  • headway_after_footer
  • headway_after_header_link
  • headway_after_tagline
  • headway_after_wrapper
  • headway_before_block
  • headway_before_block_#BLOCK_ID#
  • headway_before_entry
  • headway_before_entry_comments
  • headway_before_entry_content
  • headway_before_entry_title
  • headway_before_footer
  • headway_before_header_link
  • headway_before_wrapper
  • headway_block_close
  • headway_block_close_#BLOCK_ID#
  • headway_block_content_#BLOCK_TYPE#
  • headway_block_content_close
  • headway_block_content_close_#BLOCK_ID#
  • headway_block_content_open
  • headway_block_content_open_#BLOCK_ID#
  • headway_block_open
  • headway_block_open_#BLOCK_ID#
  • headway_body_close
  • headway_body_open
  • headway_entry_close
  • headway_entry_open
  • headway_footer_close
  • headway_footer_open
  • headway_head_extras (für Dinge wie Feed-Links oder Meta-Übersichtsfenster)
  • headway_html_close
  • headway_html_open
  • headway_page_start
  • headway_register_elements (mit dieser Aktion werden alle Elemente registriert – geeignet, wenn Sie Elemente nicht via Block-API registrieren)
  • headway_scripts (für JavaScript, die in den <head>-Tags stehen müssen)
  • headway_seo_meta (für SEO-Metadaten)
  • headway_setup (die Top-Level-Aktion, ähnlich wie init bei WordPress; wird ausgeführt, wenn Headway all seine Dateien geladen hat)
  • headway_setup_child_theme (der beste Ort, um Hooks für Child Themes auszuführen)
  • headway_stylesheets (für CSS-Code, der im <head>-Tag stehen muss)
  • headway_whitewrap_close
  • headway_whitewrap_open
  • headway_wrapper_close
  • headway_wrapper_open

Filter Hooks

  • body_class
  • headway_admin_link
  • headway_archive_title
  • headway_category_archive_meta
  • headway_category_title
  • headway_child_theme_id
  • headway_comments_closed
  • headway_copyright
  • headway_doctype
  • headway_go_to_top_link
  • headway_gzip
  • headway_link
  • headway_meta
  • headway_no_comments
  • headway_post_type_archive_title
  • headway_query_title
  • headway_search_title
  • headway_tag_archive_meta
  • headway_tag_title
  • headway_taxonomy_archive_title
  • post_class

Beispiele

Dieser Action-Hook fügt ein Logo ein (mithilfe der WordPress-Funktion add_action):

	<?php
	function insert_fancy_logo() { ?>
	<img src="http://mysite.com/images/logo.png" />
	<?php }
	add_action('headway_block_content_open_header','insert_fancy_logo');
	?>

Dieser „Keine Kommentare“-Filter verhindert, dass Posts kommentiert werden können (mithilfe der WordPress-Funktion add_filter) und eigener Text hinzugefügt werden kann:

	<?php
	function change_closed_comments() {
	return 'No Comments for You!';
	}
	add_filter('headway_comments_closed','change_closed_comments');
	?>

Dieser Hook fügt HTML-Code (in diesem Fall Links) am Anfang des Fußzeilen-Blocks ein.

	<?php
		function insert_links_footer() {
	?>
	<!-- HTML goes next -->
		<a href="#">Link 1</a> <br />
		<a href="#">Link 2</a>
	<!-- End HTML -->
	<?php
	}
	add_action('headway_footer_open', 'insert_links_footer');
		//Tells WordPress to run the insert_link_footer() function when Headway's headway_footer_open hook is called.
	?>

Dieser Artikel wurde zuletzt für Headway Version 3.6.3 aktualisiert.

Letztes Update: 19. Mai 2014