The after_setup_theme WordPress action fires after the theme is loaded, allowing you to execute custom code at this point in the WordPress loading process.
Usage
add_action('after_setup_theme', 'your_custom_function'); function your_custom_function() { // your custom code here }
Parameters
- No parameters for this action.
More information
See WordPress Developer Resources: after_setup_theme
Examples
Register Custom Post Type
Register a custom post type ‘product’ after the theme is loaded.
add_action('after_setup_theme', 'register_custom_post_type_product'); function register_custom_post_type_product() { // Register custom post type 'product' register_post_type('product', array( 'label' => 'Products', 'public' => true, )); }
Add Theme Support for Post Thumbnails
Enable post thumbnail support for your theme.
add_action('after_setup_theme', 'add_post_thumbnail_support'); function add_post_thumbnail_support() { // Enable post thumbnail support add_theme_support('post-thumbnails'); }
Register Navigation Menus
Register primary and secondary navigation menus for your theme.
add_action('after_setup_theme', 'register_theme_menus'); function register_theme_menus() { // Register primary and secondary navigation menus register_nav_menus(array( 'primary' => 'Primary Menu', 'secondary' => 'Secondary Menu', )); }
Set Custom Image Sizes
Define custom image sizes for your theme.
add_action('after_setup_theme', 'set_custom_image_sizes'); function set_custom_image_sizes() { // Set custom image sizes add_image_size('custom-thumbnail', 300, 200, true); add_image_size('custom-medium', 600, 400, true); add_image_size('custom-large', 1200, 800, true); }
Set Content Width
Define the content width for your theme.
add_action('after_setup_theme', 'set_theme_content_width'); function set_theme_content_width() { // Set content width global $content_width; $content_width = 800; }