Php 在使用Dropzone.js时,如何使maksbd19';wordpress的集成工作
我试图使dropzone.js在基于maksbd19提出的解决方案的wordpress框架内工作。我的问题是关于调试我实现的方法: 请参见此处的指南: 但我无法让他的解决方案正常工作 以下是根据帖子中的答案加载php兼容性文件时出现的错误: 状态代码:500内部服务器错误PHP解析错误:语法错误, 第8行的…wordpress_compability.php中出现意外的T_字符串 在第8行,我有一行:Php 在使用Dropzone.js时,如何使maksbd19';wordpress的集成工作,php,wordpress,dropzone.js,Php,Wordpress,Dropzone.js,我试图使dropzone.js在基于maksbd19提出的解决方案的wordpress框架内工作。我的问题是关于调试我实现的方法: 请参见此处的指南: 但我无法让他的解决方案正常工作 以下是根据帖子中的答案加载php兼容性文件时出现的错误: 状态代码:500内部服务器错误PHP解析错误:语法错误, 第8行的…wordpress_compability.php中出现意外的T_字符串 在第8行,我有一行: wp_localize_script('my-script','dropParam', $dr
wp_localize_script('my-script','dropParam', $drop_param);
下面是我使用的完整代码:
html文件:
负责人:
PHP文件:
<?
wp_enqueue_script('dropzone',"/var/www/vhosts/jtc.ae/httpdocs/pre/wp/wp-content/themes/Amazing_japan_HP/frameworks/dropzone/");
wp_enqueue_script('my-script',"/var/www/vhosts/jtc.ae/httpdocs/pre/wp/wp-content/themes/Amazing_japan_HP/frameworks/dropzone/dropzone.js",array('jquery','dropzone'));
$drop_param = array(
'upload'=>admin_url( 'admin-post.php?action=handle_dropped_media' ),
'delete'=>admin_url( 'admin-post.php?action=handle_deleted_media' ),
)
wp_localize_script('my-script','dropParam', $drop_param);
add_action( 'admin_post_handle_dropped_media', 'BMP_handle_dropped_media' );
// if you want to allow your visitors of your website to upload files, be cautious.
add_action( 'admin_post_nopriv_handle_dropped_media', 'BMP_handle_dropped_media' );
function handle_dropped_media() {
status_header(200);
$upload_dir = wp_upload_dir();
$upload_path = $upload_dir['path'] . DIRECTORY_SEPARATOR;
$num_files = count($_FILES['file']['tmp_name']);
$newupload = 0;
if ( !empty($_FILES) ) {
$files = $_FILES;
foreach($files as $file) {
$newfile = array (
'name' => $file['name'],
'type' => $file['type'],
'tmp_name' => $file['tmp_name'],
'error' => $file['error'],
'size' => $file['size']
);
$_FILES = array('upload'=>$newfile);
foreach($_FILES as $file => $array) {
$newupload = media_handle_upload( $file, 0 );
}
}
}
echo $newupload;
die();
}
?>
有什么想法吗?正如错误所说,有一个意外的字符串。您应该检查是否正在将预期参数传递给函数-请参阅 而且这两条线似乎走错了路
wp_enqueue_script('dropzone',"/var/www/vhosts/jtc.ae/httpdocs/pre/wp/wp-content/themes/Amazing_japan_HP/frameworks/dropzone/");
wp_enqueue_script('my-script',"/var/www/vhosts/jtc.ae/httpdocs/pre/wp/wp-content/themes/Amazing_japan_HP/frameworks/dropzone/dropzone.js",array('jquery','dropzone'));
wp\u enqueue\u script()将脚本的路径作为第二个参数()的路径,因此第一行可能是
wp_enqueue_script('dropzone',"/var/www/vhosts/jtc.ae/httpdocs/pre/wp/wp-content/themes/Amazing_japan_HP/frameworks/dropzone/dropzone.js");
第二个应该是自定义脚本的路径,它依赖于dropzone.js,类似于
wp_enqueue_script('my-script',"/var/www/vhosts/jtc.ae/httpdocs/pre/wp/wp-content/themes/Amazing_japan_HP/frameworks/dropzone/myscript.js",array('jquery','dropzone'));
或者可能
wp_enqueue_script('my-script',"/var/www/vhosts/jtc.ae/httpdocs/pre/wp/wp-content/themes/Amazing_japan_HP/frameworks/dropzone/wordpress_compability.js",array('jquery','dropzone'));
如果wordpress_compability.js依赖于dropzone
如果您修复了您正在使用的脚本,那么wp_localize_script()可能会发现它的第一个参数的格式更好。或许问题在于接下来的两个参数(数据)
编辑:
此外,这些东西也不对:
<script src="<?php bloginfo('template_url'); ?>/frameworks/dropzone/dropzone.js"></script>
<script src="<?php bloginfo('template_url'); ?>/frameworks/dropzone/wordpress_compability.js"></script>
<script src="<?php bloginfo('template_url'); ?>/frameworks/dropzone/wordpress_compability.php"></script>
@maksbd19有什么想法吗?你贴得太多了。问一个关于某段代码的问题,在这段代码中,您遇到了一些问题。我确实将特定的第8行粘贴到了有问题的地方。对于那些感兴趣的人,我在问题的底部添加了完整的代码。如果我只问他们关于第8行的问题,人们会说我粘贴得太少了…@mesqueeb-在PHP中,你给出的行号是出现错误的地方,但它通常是由前一行的某些内容引起的。在本例中,前一行(数组声明)后面没有分号。基本上,如果您遇到了这个错误,您需要包含前面的代码,但是后面的任何代码都可能被忽略。谢谢!我发现这确实是一种不恰当的方式来包含php文件。我试图弄明白OP这句话的意思:“我发现使用admin-post.php文件非常令人惊讶。因此,我在dropzone初始化之前初始化了drophandler变量,如下所示…”这是否意味着我需要向admin-post.php文件中添加这段代码?@mesqueeb我真的很抱歉造成混淆。我的意思是,我发现构建文件(aminpost.php)
在处理表单数据方面非常方便。你不必为此担心。只需将脚本排队,本地化环境变量,并将这些操作放在加载wp时加载的地方。不需要额外的工作。如果你不能上班就回来。谢谢你的帮助。对不起,多年后我把它标对了。非常感谢您对我的问题投赞成票!!:D
wp_enqueue_script('my-script',"/var/www/vhosts/jtc.ae/httpdocs/pre/wp/wp-content/themes/Amazing_japan_HP/frameworks/dropzone/myscript.js",array('jquery','dropzone'));
wp_enqueue_script('my-script',"/var/www/vhosts/jtc.ae/httpdocs/pre/wp/wp-content/themes/Amazing_japan_HP/frameworks/dropzone/wordpress_compability.js",array('jquery','dropzone'));
<script src="<?php bloginfo('template_url'); ?>/frameworks/dropzone/dropzone.js"></script>
<script src="<?php bloginfo('template_url'); ?>/frameworks/dropzone/wordpress_compability.js"></script>
<script src="<?php bloginfo('template_url'); ?>/frameworks/dropzone/wordpress_compability.php"></script>