当我试图隐藏一个主题时,我的 wordpress 网站上出现了这个内存错误
Posted
技术标签:
【中文标题】当我试图隐藏一个主题时,我的 wordpress 网站上出现了这个内存错误【英文标题】:I have been getting this memory error on my wordpress website when I tried to covert a theme 【发布时间】:2020-11-14 13:45:14 【问题描述】:我一直在尝试将 html 模板转换为 WordPress 主题,但是一旦我为 js 文件执行 wp_enqueue_scripts,我就会收到此内存错误
Fatal error: Allowed memory size of 314572800 bytes exhausted (tried to allocate 262144 bytes) in C:\xampp\htdocs\bootstrap\wp-includes\option.php on line 58
Fatal error: Allowed memory size of 314572800 bytes exhausted (tried to allocate 262144 bytes) in Unknown on line 0
这是整个代码
function addjs()
wp_register_script('jquery' , get_template_directory_uri() . '/plugin-frameworks/jquery-3.2.1.min.js' ,array(),1,1,1);
wp_enqueue_scripts('jquery');
wp_register_script('bootstrap' , get_template_directory_uri() . '/plugin-frameworks/bootstrap.min.js' ,array(),1,1,1);
wp_enqueue_scripts('bootstrap');
wp_register_script('swiper' , get_template_directory_uri() . '/plugin-frameworks/swiper.js' ,array(),1,1,1);
wp_enqueue_scripts('swiper');
wp_register_script('scripts' , get_template_directory_uri() . '/common/scripts.js' ,array(),1,1,1);
wp_enqueue_scripts('scripts');
wp_register_script('custom' , get_template_directory_uri() . '/custom.js' ,array(),1,1,1);
wp_enqueue_scripts('custom');
add_action('wp_enqueue_scripts', 'addjs');
当我删除 add_action('wp_enqueue_scripts', 'addjs'); 时主题有效。我已经尝试过诸如增加 Wordpress 内存限制 wp-config 之类的修复,并且我也尝试在 php.ini 中做同样的事情。到目前为止没有运气。如果有人可以帮助我,那就太好了。
【问题讨论】:
查一下wp_enqueue_scripts
和wp_enqueue_script
的区别……一个是hook,一个是function,它们做的事情不同
Wp 注册脚本有 5 个参数,为什么要添加 6 个
@AShah 我不认为参数有什么问题。我正在关注一个 youtube 教程。现在我连续两天被困住了。好像我是唯一一个有这个奇怪错误的人。
@AShah 大多数情况下,当我们使用繁重的插件或主题时会发生此错误。现在我怀疑我用来转换的主题。也许这与此有关。但是,一个主题到底怎么会占用这么多内存。
@AkhilSuresh 我确实有解决方案,只需 start ob_start();在您的functions.php中,它将解决您的问题,但不是首选解决方案
【参考方案1】:
这是将脚本添加到 WordPress 主题的正确方法
function regitser_scripts()
wp_enqueue_script('give a name','Your script path',array(),'version',true); // true for showing it on the footer and vice versa
add_action('wp_enqueue_scripts','regitser_scripts');
wp_eqnueue_scripts 是内存背后的罪魁祸首。显然 wp_eqnueue_scripts 和 wp_eqnueue_script 之间存在巨大差异。并确保路径正确。我很久以前就找到了修复程序,但忘记发布了。我希望这是有帮助的。在这里阅读更多:https://developer.wordpress.org/reference/functions/wp_enqueue_script/
【讨论】:
以上是关于当我试图隐藏一个主题时,我的 wordpress 网站上出现了这个内存错误的主要内容,如果未能解决你的问题,请参考以下文章
试图通过将 php.ini 放入 wordpress 根目录来打开 allow_url_fopen 不起作用