The init WordPress PHP action fires after WordPress has finished loading but before any headers are sent. It’s commonly used to intercept $_GET or $_POST data and load plugin text domains.
Usage
add_action('init', 'your_custom_function');
function your_custom_function() {
// your custom code here
}
Parameters
- No parameters.
More information
See WordPress Developer Resources: init
- Use
initto act on$_POSTor$_GETdata. - Call
load_plugin_textdomainduringinit. - If you want to plug an action once WP is loaded, use the
wp_loadedhook.
Examples
Process POST data
Process submitted form data using $_POST.
add_action('init', 'process_post_data');
function process_post_data() {
if (isset($_POST['unique_hidden_field'])) {
// process $_POST data here
}
}
Load plugin text domain
Load the plugin’s text domain for localization.
add_action('init', 'load_my_plugin_textdomain');
function load_my_plugin_textdomain() {
load_plugin_textdomain('my-plugin', false, basename(dirname(__FILE__)) . '/languages');
}
Register custom post type
Register a custom post type during the init action.
add_action('init', 'register_my_custom_post_type');
function register_my_custom_post_type() {
// register custom post type 'book' here
}
Add rewrite rules
Add custom rewrite rules for custom URLs.
add_action('init', 'add_my_rewrite_rules');
function add_my_rewrite_rules() {
// add custom rewrite rules here
}
Register custom taxonomies
Register custom taxonomies for your custom post types.
add_action('init', 'register_my_custom_taxonomies');
function register_my_custom_taxonomies() {
// register custom taxonomies here
}