WordPress自定义区块加载CSS报错:回调函数questo_block_styles未找到
解决WordPress自定义区块前端加载CSS时的回调函数错误
报错信息
致命错误:未捕获TypeError:call_user_func_array():参数#1($callback)必须是有效的回调,函数"questo_block_styles"未找到或函数名称无效,位于/Users/gebruiker/Local Sites/questo/app/public/wp-includes/class-wp-hook.php:308 Stack
对应代码
function questo_block_styles() { wp_register_style( 'image-block', _get_plugin_url() . '/blocks/block-details/style.css'); wp_enqueue_style('image-block'); } add_action('wp_enqueue_scripts', 'questo_block_styles');
解决步骤
- 调整代码顺序:确保
questo_block_styles函数的定义放在add_action调用之前。WordPress注册钩子时需要先识别到回调函数,否则会判定为无效回调。 - 核对函数名拼写:确认
questo_block_styles在函数定义和add_action参数中的拼写完全一致,避免因笔误导致函数无法被识别。 - 验证插件URL函数:
_get_plugin_url()是自定义函数,若未定义会引发后续问题。可以先用WordPress原生函数plugin_dir_url(__FILE__)替换测试,确保CSS路径正确:wp_register_style( 'image-block', plugin_dir_url(__FILE__) . '/blocks/block-details/style.css'); - 检查文件加载状态:如果这段代码在插件的子文件中,要确认主插件文件已经通过
require或include引入了该子文件,否则函数不会被WordPress加载识别。
内容的提问来源于stack exchange,提问作者user17844877
相关产品推荐
相关产品推荐

