Wordpress wp_enqueue_scripts()触发500内部服务器错误

我正在编辑WordPress主题的子版本中的 functions.php </ code>文件 为了加载存在的自定义javascript filmScript.js </ code>,但目前是空的。 如果我注释掉第10行</ p>

  wp_enqueue_scripts('myVideo',get_stylesheet_directory_uri()。'/ assets / js / filmScript.js',array('jquery'),'1.0  .0',false); 
</ code> </ pre>

一切正常:echo语句记录到控制台,页面加载等等。但是,当行正在读取页面时 中断并抛出 500内部服务器错误</ code>。 这是整个functions.php:</ p>

 &lt;?php 

add_action('wp_enqueue_scripts','video_bg',10);
add_action('after_setup_theme','post_theme_setup ');

if(!function_exists('post_theme_setup')):
function post_theme_setup(){

function video_bg(){
wp_enqueue_scripts('myVideo',get_stylesheet_directory_uri()。'/ assets / js / filmScript.js',array('jquery'),'1.0.0',false);
echo'&lt; script&gt; console.log(“Script added?”)&lt; / script&gt;';
} \ n
add_action('wp_enqueue_scripts','video_bg',10);
echo'&lt; script&gt; console.log(“已添加动作”)&lt; / script&gt;';

}
endif;
</ code> </ pre>

有什么想法? 谢谢!</ p>
</ div>

展开原文

原文

I'm editing a functions.php file in a child version of a WordPress theme in order to load a custom javascript filmScript.js, which exists, but is currently empty. If I comment out line 10

wp_enqueue_scripts( 'myVideo', get_stylesheet_directory_uri() . '/assets/js/filmScript.js', array('jquery'), '1.0.0', false );

everything works: echo statements log to the console, the page loads, etc. However, when the line is being read the page breaks and throws a 500 Internal Server Error. Here's the entire functions.php:

<?php

add_action( 'wp_enqueue_scripts', 'video_bg', 10);
add_action( 'after_setup_theme', 'post_theme_setup' );

if ( !function_exists( 'post_theme_setup' )):
function post_theme_setup(){

    function video_bg() {
        wp_enqueue_scripts( 'myVideo', get_stylesheet_directory_uri() . '/assets/js/filmScript.js', array('jquery'), '1.0.0', false );
        echo '<script>console.log("Script added?")</script>';
    }

    add_action( 'wp_enqueue_scripts', 'video_bg', 10);
    echo '<script>console.log("Action added")</script>';

}
endif;

Any thoughts? Thanks!

duannei1477
duannei1477 感谢您的评论!我对php很新,所以这是一个学习曲线。事情就是这样:内部服务器错误只会在浏览器中抛出,我登录到我的WordPress管理员(Chrome)。在Firefox或Chrome隐身模式下,页面会加载,但不会添加脚本。在我登录的Chrome实例中,错误如下:致命错误:在线路上的/home/content/p3pnexwpnas16_data03/79/3673879/html/wp-includes/formatting.php中超出了30秒的最大执行时间
2 年多之前 回复
douchui1657
douchui1657 函数内部函数并将一个脚本排入两次,这就是问题所在。正确编写代码!
2 年多之前 回复
dpkt17803
dpkt17803 此外,你不应该在这个阶段回应任何事情。这就是你将脚本排队而不是直接输出它们的原因。尝试注释掉echo语句。
2 年多之前 回复
dongyanling9248
dongyanling9248 什么是实际错误?检查你的日志。
2 年多之前 回复

1个回答



请使用 get_template_directory_uri()</ code>代替 get_stylesheet_directory_uri()</ code>。 它不能用于排队脚本,因为它用于排队样式表。</ p>
</ div>

展开原文

原文

Please use get_template_directory_uri() instead of get_stylesheet_directory_uri(). It can't work in enqueue scripts because it's for enqueueing stylesheets.

drvjlec1767
drvjlec1767 ini_set('max_execution_time',300); // 300秒= 5分钟(将它放在PHP脚本的顶部,让脚本松开!)
2 年多之前 回复
douji9518
douji9518 谢谢你的评论! 我已将其更改为get_template_directory_uri(),但问题仍然存在。 请参考我上面关于致命错误的最新评论:在线路上的/home/content/p3pnexwpnas16_data03/79/3673879/html/wp-includâ$$$Œ<es/formatting.php超过30秒的最长执行时间
2 年多之前 回复
Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
立即提问