修复Wordpress插件';PHP中的HTTPS错误,混合内容错误,当我知道哪些文件正在创建错误时?
我正在尝试修复另一个开发人员的Wordpress插件,我想利用它,但作为我的Wordpress博客是100%HTTPS(与CDN共享SSL证书),它会在管理面板上以及在网站上显示时产生混合内容错误。我不是一个PHP的家伙,但我已经做了多年的编码和代码审查,所以我想尝试通过这项工作 我网站上的所有其他插件都不要求我使用任何强制SSL方法,我已经遵循了实现SSL/HTTPS的指南。我没有其他SSL/HTTPS或混合内容错误,我不想再使用它,因为它会造成其他问题 我使用过Firefox Inspector,知道哪些文件会产生问题: http:///wp-content/plugins//resources/scripts/.js http:///wp-content/plugins//resources/css/themes/default/jquery-ui.css 它还以HTTP的形式为插件提供图像 我在Firefox中打开的修复Wordpress插件';PHP中的HTTPS错误,混合内容错误,当我知道哪些文件正在创建错误时?,php,ajax,wordpress,ssl,Php,Ajax,Wordpress,Ssl,我正在尝试修复另一个开发人员的Wordpress插件,我想利用它,但作为我的Wordpress博客是100%HTTPS(与CDN共享SSL证书),它会在管理面板上以及在网站上显示时产生混合内容错误。我不是一个PHP的家伙,但我已经做了多年的编码和代码审查,所以我想尝试通过这项工作 我网站上的所有其他插件都不要求我使用任何强制SSL方法,我已经遵循了实现SSL/HTTPS的指南。我没有其他SSL/HTTPS或混合内容错误,我不想再使用它,因为它会造成其他问题 我使用过Firefox Inspect
Plugins.php
文件显示它注册为HTTP vs.HTTPS
我所看到的:
我已经扫描了HTTP的代码,没有在标题文档之外找到任何HTTP,并确认该插件从中获得了GoogleFonts和GoogleCoreChart
我做了一些阅读,不清楚“this.url”的用法,或者这是否是源代码,但我读过其他人的问题
我已经扫描了代码,没有看到任何路径不是以\
结束的,这些路径本身不是特定文件的参数
* sets up the object with the AJAX url and security nonce, also retrieves language properties
*/
setup: function(url, nonce, pluginUrl, userId, callbackFn, skipLoadGlobals) {
if(!PI.ajaxSetup) {
// create custom widgets
initPICustom();
PI.globals.pluginUrl = pluginUrl;
PI.userId = userId;
this.url = url;
this.nonce = nonce;
if(!skipLoadGlobals) {
this.loadGlobalData(callbackFn);
}
else {
callbackFn();
}
}
else {
alert('Ajax setup function already called');
}
},
对URL的所有其他引用如下所示:
getUserOldestResultYear: function(userId, callbackFn) {
jQuery.ajax({
type: "post",
url: PI.Ajax.url
define('WPA_PLUGIN_DIR', WP_PLUGIN_DIR . '/' . WPA_PLUGIN_NAME);
define('WPA_PLUGIN_URL', WP_PLUGIN_URL . '/' . WPA_PLUGIN_NAME);
所报告的文件中至少有一个是大约两年前的,至少有6年前的
我目前不使用该插件,并希望。这个插件仍然在更新,大约每年更新一到两次,开发者在GitHub上有他们的免费软件代码。因此,我想尝试修复它,或者至少给开发人员一个非常具体的指导,如果我使用我的测试站点解决了大部分问题,如何修复它
我现在无法提供指向特定站点的链接,因为我只在积极处理插件时才激活插件,因为当我激活插件时,插件会导致站点其余部分出错。我正在寻找关于如何进一步诊断这个问题的指导,希望也能找到解决方法
因此,我的问题是:
我的问题的根源不是上述任何一个,而是Wordpress内部变量工作方式的改变 我尝试排除故障的插件使用了以下功能:
getUserOldestResultYear: function(userId, callbackFn) {
jQuery.ajax({
type: "post",
url: PI.Ajax.url
define('WPA_PLUGIN_DIR', WP_PLUGIN_DIR . '/' . WPA_PLUGIN_NAME);
define('WPA_PLUGIN_URL', WP_PLUGIN_URL . '/' . WPA_PLUGIN_NAME);
根据这两个链接在主插件PHP文件中声明和处理它的新代码
define('WPA_PLUGIN_DIR', plugin_dir_path( __FILE__ ));
define('WPA_PLUGIN_URL', plugin_dir_url( __FILE__ ));
不过,我想重申一下我的问题: