排除Plugins.php HTTP安装路径与单个插件的HTTPS的故障

时间:2014-11-24 作者:CRSouser

我正在尝试对插件中显示的安装路径进行故障排除。php作为我在自己的网站上安装的插件,我最初并没有编写该插件。当我的站点的其余部分是HTTPS时,此插件引用和安装的所有资源都会显示为混合内容HTTP。

我一直在玩弄下面的代码段,但它似乎没有起到什么作用,也没有解决问题。有人能指出我遗漏了什么吗?

    /**
     * registers scripts and stylesheets
     */
    public function register_assets() {
        $theme = strtolower( get_option( \'wp-plugintheme\', \'default\') );

        // scripts
        wp_register_script( \'wpa-functions\', plugins_url() . \'resources/scripts/wpa-functions.js\' );
        wp_register_script( \'wpa-custom\', WPA_PLUGIN_URL . \'resources/scripts/wpa-custom.js\' );
    }
我知道我所做的编辑正在发挥作用,而且我已经能够添加额外的\\ s到路径。

    /**
     * Creates plugin globals and manages version number
     */
    public function setup() {
        // define global variables
        if (!defined(\'WPA_THEME_DIR\') )
            define(\'WPA_THEME_DIR\', ABSPATH . \'wp-content/themes/\' . get_template() );

        if (!defined(\'WPA_PLUGIN_NAME\') )
            define(\'WPA_PLUGIN_NAME\', trim(dirname(plugin_basename(__FILE__) ), \'/\') );

        if (!defined(\'WPA_PLUGIN_DIR\') )
            define(\'WPA_PLUGIN_DIR\', WP_PLUGIN_DIR . WPA_PLUGIN_NAME . \'/\');

        if (!defined(\'WPA_PLUGIN_URL\') )
            define(\'WPA_PLUGIN_URL\', WP_PLUGIN_DIR . WPA_PLUGIN_NAME . \'/\');

        if (!defined(\'WPA_PLUGIN_BASENAME\') )
            define(\'WPA_PLUGIN_BASENAME\', plugin_basename(__FILE__) );
但我还是继续得到这些:Blocked loading mixed active content http://website.org/wp-content/plugins/wp-plugintheme/resources/scripts/wpa-functions.js?ver=4.0.1

除了为这一个插件强制使用SSL之外,还有什么帮助或想法吗?

1 个回复
最合适的回答,由SO网友:CRSouser 整理而成

我的问题的根源不是上述任何一个,而是Wordpress内部变量工作方式的改变。

我尝试排除故障的插件使用了以下功能:

define(\'WPA_PLUGIN_DIR\', WP_PLUGIN_DIR . \'/\' . WPA_PLUGIN_NAME);
define(\'WPA_PLUGIN_URL\', WP_PLUGIN_URL . \'/\' . WPA_PLUGIN_NAME);
根据这两个链接声明的新代码do not use the internal Wordpress variables 和至use these instead 在主插件PHP文件中处理它。

define(\'WPA_PLUGIN_DIR\', plugin_dir_path( __FILE__ ));
define(\'WPA_PLUGIN_URL\', plugin_dir_url( __FILE__ ));
检查Wordpress抄本是我需要做的事情,以确定正在使用的方法,论坛也很有帮助。后来,我发现我之前因为SSL问题而停止使用的几个插件也在做类似的事情。

结束

相关推荐

HTTPS重定向地狱(添加www)

我将我的多站点wordpress网站(www.example.com)迁移到了一个子域(dev.example.com),以进行一些重大更改。当然,我在数据库中为所有站点更改了siteurl和home。问题是每当我去https://dev.example.com 我被重定向到一个不存在的https://www.dev.example.com我不知道这个www是从哪里来的(它不是.htaccess)。这快把我逼疯了。经过数小时的谷歌搜索,我终于决定寻求帮助。谢谢