gpt4 book ai didi

php - 在 WordPress 中运行主题激活功能

转载 作者:塔克拉玛干 更新时间:2023-11-03 06:06:00 25 4
gpt4 key购买 nike

我正在尝试使用 Hook after_setup_theme 在主题激活时设置图像大小,但似乎从未真正调用它。为什么?

if( !function_exists('theme_image_size_setup') )
{
function theme_image_size_setup()
{
//Setting thumbnail size
update_option('thumbnail_size_w', 200);
update_option('thumbnail_size_h', 200);
update_option('thumbnail_crop', 1);
//Setting medium size
update_option('medium_size_w', 400);
update_option('medium_size_h', 9999);
//Setting large size
update_option('large_size_w', 800);
update_option('large_size_h', 9999);
}
}
add_action( 'after_setup_theme ', 'theme_image_size_setup' );

相反,我做了一个解决方案,但如果有一个钩子(Hook),它感觉不是最佳的:

if ( is_admin() && isset($_GET['activated'] ) && $pagenow == 'themes.php' ) {
theme_image_size_setup();
}

这有效...但是为什么 after_setup_theme Hook 没有响应?

最佳答案

这只会在您的主题从另一个主题切换到时运行。这是最接近主题激活的:

add_action("after_switch_theme", "mytheme_do_something");

或者您可以在 wp_options 表中保存一个选项,并在每次加载页面时检查该选项,很多人都推荐这样做,尽管我觉得它效率不高:

function wp_register_theme_activation_hook($code, $function) {  
$optionKey="theme_is_activated_" . $code;
if(!get_option($optionKey)) {
call_user_func($function);
update_option($optionKey , 1);
}
}

关于php - 在 WordPress 中运行主题激活功能,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13684455/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com