不能在contact-form.php中使用$ this作为参数

时间:2017-04-07 09:40:18

标签: php wordpress

我正在尝试使用xampp运行一个wordpress,主题为'Total'来自themeforest。

它说

Fatal error: Cannot use $this as parameter in /Applications/XAMPP/xamppfiles/htdocs/wp-content/themes/Total/framework/3rd-party/contact-form-7.php on line 38

我还提到了this链接和堆栈外的其他网站溢出。

contact-form-7.php的代码如下,

<?php
/**
 * Contat Form 7 Configuration Class
 *
 * @package Total WordPress Theme
 * @subpackage 3rd Party
 * @version 3.6.0
 */

if ( ! class_exists( 'WPEX_Contact_Form_7' ) ) {

    class WPEX_Contact_Form_7 {

        /**
         * Start things up
         *
         * @version 3.6.0
         */
        public function __construct() {

            // Remove CSS Completely - theme adds styles
            add_filter( 'wpcf7_load_css', '__return_false' );

            // Remove JS
            add_filter( 'wpcf7_load_js', '__return_false' );

            // Conditionally load JS
            add_action( 'wpcf7_contact_form', array( 'WPEX_Contact_Form_7', 'enqueue_js' ), 1 );

            }

        /**
         * Load JS conditionally
         *
         * @version 3.6.0
         */

        public static function enqueue_js( $this ) {
            if ( function_exists( 'wpcf7_enqueue_scripts' ) ) {
                wpcf7_enqueue_scripts();
            }
        }

    }

}
new WPEX_Contact_Form_7();

这就是我做的,

我首先将它安装在我的办公室计算机上,它运行得很好。现在我厌倦了在我的个人笔记本电脑上实现这一点。

因此只需复制我的htdocs文件夹并替换为我的笔记本电脑。还导出数据库并将其导入phpMyAdmin。

1 个答案:

答案 0 :(得分:1)

尝试删除$this,例如

public static function enqueue_js() {
    if ( function_exists( 'wpcf7_enqueue_scripts' ) ) {
        wpcf7_enqueue_scripts();
    }
}

请参阅gist处的代码。