WordPress钩子:after_setup_theme 简介

追格官方小助手/ 2022年12月27日/ WordPress/ 浏览 850

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 简介》


发表评论

暂无评论,抢个沙发...

客服 工单