add_filter( 'filter_name', 'function_to_call' );
Filter ID | Description | arg type | Support |
---|---|---|---|
content | filters page content data | string | |
menuitems | filters the menu html returned in get_navigation() | string | |
pagecache | filters the page cache xml object before saving | simplexmlobj | 3.3+ |
sitemap | filters the $sitemap xmlobj before saving | simplexmlobj | 3.3+ |
indexid | filters global page $id | string | 3.3+ |
data_index | filters global page $data_index obj | simplexmlobj | 3.3+ |
editorlinks | filters editor links get_link_menu_array | array | 3.3+ |
add_action( 'hook_name', 'function_to_call', array( arguments ) );
The last argument is only necessary if function_to_call accepts parameters.
hook_name can be any of these and determines where the function will be called.
DEPRECATED
NEW
Hook ID | Description | Support |
---|---|---|
theme-header | Fired in <head> section of theme. Requires get_header() in template | |
theme-footer | Fired in the footer of the theme. Requires get_footer() in template | |
common | Called immediately after the plugin functions are included in common.php | 3.1+ |
content-top | Fired right above content area of theme | |
content-bottom | Fired right below content area of theme | |
index-pretemplate | Called before your template files are rendered | |
index-posttemplate | Called after your template files are rendered | |
error-404 | Called if the page does not exist before rendering the error page | |
index-post-dataindex | Called after the page globals are assigned from $data_index | 3.3+ |
Hook ID | Description | Support |
---|---|---|
admin-pre-header | Called before the header.php template file is loaded | 3.1+ |
archive-backup | Fired when an archive backup has been created | |
| Fired before data/other/pages.xml file is saved for caching | 3.1-3.3 |
changedata-aftersave | Called after a page is saved | 3.1+ |
changedata-updateslug | Called when slug changed on an existing page | |
changedata-save | Called just before a page is saved | |
common | Called immediately after the plugin functions are included in common.php | 3.1+ |
component-extras | Fired when creating component sections, allows additional form elements | |
edit-extras | Fired within the Page Options toggle-div within edit.php | |
file-extras | Fired at the end of the file list | |
file-uploaded | Fired after a file has been successfully uploaded | |
footer | Called in the footer section of the rendered page | |
download-file | Called when downloading files via download.php | |
header | Called in the head section of the rendered page | |
header-body | Called in the body before output of the page | |
healthcheck-extras | Allows additional Health-check entries | |
html-editor-init | Called after ckeditor js is output | |
index-login | Fired above the login form | |
logfile_delete | fired when a logfile is deleted | |
login-reqs | Fired on the login page footer | |
logout | Fired when a user logs out | |
page-delete | fired when a page is deleted | |
pagecache-aftersave | Fired after data/other/pages.xml pagecache file is successfully saved | 3.3+ |
pages-main | Fired when the pages maincontent in rendered | |
plugin-hook | Fired before the Plugin page is rendered | |
resetpw-error | Fired when password reset and error | |
resetpw-success | Fired when password reset and successful | |
| Fired before the sitemap.xml file is saved | -3.1 |
| Fired before the settings cp_settings file is created | 2.x-3.0 |
settings-user | Fired before the settings user file is created | |
settings-user-extras | Fired on the settings page, before Save Settings in the user section | |
settings-website | Fired before the settings website page is created | |
settings-website-extras | Fired on the settings page, before Save Settings in the website section | |
| Allow insertion of a new sitemap XML entry | -3.1 |
sitemap-aftersave | Called after the sitemap is successfully saved | 3.3+ |
successful-login-end | Fired after authentication success and before redirect | |
successful-login-start | Fired when before login authentication starts | |
support-extras | Allows additional support setting form entries | |
| Fired before cp_settings.xml file is created | -3.0 |
theme-edit-extras | Fired in the theme edit screen before the submit button | |
theme-extras | Fired after the theme screenshot | |
welcome-doc-link | Allows additional documentation links on the Welcome page | |
welcome-link | Allows additional links on the Welcome page |
The following actions allow the customization of the administration menu and are described on Tabs and Menus:
Hook ID | Description | Support |
---|---|---|
backups-sidebar | Sidebar item on Backups Page | |
files-sidebar | Sidebar item on Files Page | |
pages-sidebar | Sidebar item on Pages Page | |
plugins-sidebar | Sidebar item on Plugins Page | |
settings-sidebar | Sidebar item on Settings Page | |
support-sidebar | Sidebar item on Support Page | |
theme-sidebar | Sidebar item on Theme Page | |
nav-tab | Insert navigation bar tab |
Similar to core hooks and filters, plugins can create their own by using the functions exec_action
and exec_filter
.
exec_action( 'hook_name' );
exec_filter( 'filter_name', 'value_to_filter' );
If your plugin uses a GS hook to alter content before it is saved (e.g, the MultiUser plugin changes the output to the user.xml
file and makes all changes from other plugins in this hook undone), it is especially important to add a custom hook, so that other plugin developers can make their plugins compatible with yours if they need to alter the data too.
If you created a plugin hook called 'your-plugin-hook', as described in the paragraph above, other plugin developers could then:
pluginIsActive('your-plugin-name')
(GS 3.3.4+) or by checking for existence of your init function/a constant you defined, andadd_action('your-plugin-hook', 'their-function')
.This is an important step to take in making multiple plugins from different authors compatible with one another.
When naming hooks in your plugins be sure to use a unique name to not step on core hook ids.