您的代码正常。如果不起作用,你的挂钩顺序可能有问题。
如果你看看list of hooks, 你会发现没有wp_enqueue_styles 钩所以,是的wp_enqueue_scripts 您应该将动作添加到的挂钩。(有一个wp_enqueue_styles 函数,但这是不同的,请阅读更多关于挂钩如何工作的信息here).
在您的代码中,不清楚行的位置if(is_page( 42 )){ ... } 驻留。通常你会把它放在你的主题中functions.php 在用调用的函数中after_setup_theme 钩再次查看挂钩列表,您将看到after_setup_theme 在之前出现wp_enqueue_scripts. 因此,此时您仍然可以将函数附加到后一个挂钩。
您问题中的某些内容表明您正在执行if(is_page( 42 )){ ... } 在插件中。如果它在一个钩住init. 然而,如果你wp_head 你太晚了,因为在那一点上函数wp_enqueue_scripts 已执行。
(*)但如果在主题不活动时执行插件,则会出现错误