当我试图隐藏一个主题时,我的 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_scriptswp_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 网站上出现了这个内存错误的主要内容,如果未能解决你的问题,请参考以下文章

Wordpress 阻止了我的主题的重要 API

试图通过将 php.ini 放入 wordpress 根目录来打开 allow_url_fopen 不起作用

php 当它被父主题隐藏时,重新激活Wordpress管理工具栏(白痴无处不在!)。在这种情况下,我只为广告重新启用它

Wordpress 主题布局

安装父主题时出现Wordpress错误

如何在我的 WordPress 主题上获得粘性页脚?