after_setup_theme 这个钩子的名字具有一定的迷惑性,容易让人认为是“在安装主题之后”执行。实际上,在主题初始化之后,在每次页面加载期间,都会调用 after_setup_theme 钩子。它通常用于执行主题的基本设置、注册和初始化操作。
比如,在 twentyfifteen 主题中,就在用这个钩子作了大量工作:
if ( ! function_exists( 'twentyfifteen_setup' ) ) :
function twentyfifteen_setup() {
load_theme_textdomain( 'twentyfifteen', get_template_directory() . '/languages' );
add_theme_support( 'automatic-feed-links' );
add_theme_support( 'title-tag' );
add_theme_support( 'post-thumbnails' );
set_post_thumbnail_size( 825, 510, true );
register_nav_menus( array(
'primary' => __( 'Primary Menu', 'twentyfifteen' ),
'social' => __( 'Social Links Menu', 'twentyfifteen' ),
) );
add_theme_support( 'html5', array(
'search-form', 'comment-form', 'comment-list', 'gallery', 'caption'
) );
add_theme_support( 'post-formats', array(
'aside', 'image', 'video', 'quote', 'link', 'gallery', 'status', 'audio', 'chat'
) );
......
}
endif; // twentyfifteen_setup
add_action( 'after_setup_theme', 'twentyfifteen_setup' );
这个钩子执行的时机和 functions.php 执行的时机是差不多的,大多数时候,如果代码在 functions.php 中有效,那么在 after_setup_theme 中也会有效,反之亦然。
如果是希望使用主题切换前后的钩子,可以参考:《WordPress钩子:switch_theme 与 after_switch_theme 简介》
-
WordPress 用户评论审核通过,发个通知给用户如何通知用户评论审核通过了
-
WordPress钩子:switch_theme 与 after_switch_theme 简介只在启用主题时,执行一次的钩子
-
WordPress钩子:default_content 给文章编辑器设置默认内容如何给 WordPress 编辑器设置默认内容
-
WordPress钩子:template_include 为WordPress模板树添加新节点突破 WordPress 文章功能的局限
-
WordPress钩子:template_redirect 模板重定向又一种修改 WordPress 默认模板行为的方法
-
WordPress钩子:wp_head 向头部添加代码WordPress中的头部信息
暂无评论,抢个沙发...