将插件中的文件复制到我的主题目录中

时间:2014-05-22 作者:Rizzo

我使用php的“copy()”编写了一个wordpress插件,将一个文件从插件目录复制到主题目录,但它不起作用:

<?
function file_replace() {

    $plugin_dir = plugin_dir_path( __FILE__ ) . \'/library/front-page.php\';
    $theme_dir = get_stylesheet_directory() . \'front-page.php\';
    copy($plugin_dir, $theme_dir);

    if (!copy($plugin_dir, $theme_dir)) {
    echo "failed to copy $plugin_dir to $theme_dir...\\n";
    }
}

add_action( \'wp_head\', \'file_replace\' );
我想也许我应该用! $wp_filesystem->put_contents() 但我不知道该怎么做,也不知道这样做是否正确。关于将文件从插件复制到主题目录的最佳方法,有什么想法吗?

谢谢

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

要回答您的问题,您错误地指定了路径:plugin_dir_path( __FILE__ ) 末尾已经有一个尾随斜杠(有两个尾随斜杠应该不是问题,但更安全的是有一个)get_stylesheet_directory() 末尾没有尾随斜杠,因此您必须在添加文件名之前添加一个斜杠。您的最终代码应如下所示:

<?php
function file_replace() {

    $plugin_dir = plugin_dir_path( __FILE__ ) . \'library/front-page.php\';
    $theme_dir = get_stylesheet_directory() . \'/front-page.php\';

    if (!copy($plugin_dir, $theme_dir)) {
        echo "failed to copy $plugin_dir to $theme_dir...\\n";
    }
}

add_action( \'wp_head\', \'file_replace\' );

结束

相关推荐