3

我目前正在编写一个 wordpress 插件,但遇到了一些问题。我的功能在插件激活后无法运行...有人可以告诉我问题出在哪里吗?


类 my_plugin {

    公共$ajaxurl;
    公共 $excanvas;
    公共 $plugin_path = '';

    函数 __construct()
    {

        register_activation_hook(__FILE__,array(&$this, 'install'));
    }


    公共函数 wpmon_install()
    {
        //将我的页面模板复制到当前主题。

        $plugin_path = getcwd() 。目录分隔符。'wp-内容'。目录分隔符。'插件' 。目录分隔符。'wpmon' 。DIRECTORY_SEPARATOR;
        $target_path = get_stylesheet_directory()。DIRECTORY_SEPARATOR;
        $target_path = str_replace('/',DIRECTORY_SEPARATOR,$target_path);
        $template_files = glob($plugin_path . 'page_template'.DIRECTORY_SEPARATOR.'*.php');

        foreach($template_files 作为 $files)
        {
            $basename = basename($files);
            尝试{
                $target = $target_path 。$基本名称;
                复制($文件,$目标);

            }
            捕获(异常 $e){

                $this->log_error($e->getMessage());
            }
        }
    }

但不幸的是,安装功能不起作用......但是当在课堂外时,“安装”功能内的这段代码正在工作

4

3 回答 3

0

从发布的代码中,我可以看到两个问题。install 应更改为 wpmon_install。此外,您应该添加一些代码来初始化您的类。

$wp_mon = new my_plugin();之后class my_plugin { }

于 2012-09-27T05:52:58.560 回答
0

请检查您是否使用软链接,插件必须完全在 中/path/to/wordpress/wp-content/plugins/yourplugin,意思是说这yourplugin不是软链接。

于 2013-07-24T10:01:08.650 回答
-1

您让 Wordpress 尝试调用install在您的类中调用的函数,但它不存在。所以尝试改变:

register_activation_hook(__FILE__,array(&$this, 'install'));

register_activation_hook(__FILE__,array(&$this, 'wpmon_install'));
于 2012-09-27T05:47:14.113 回答