使用本地WordPress文件系统创建目录和文件

时间:2015-09-20 作者:Busted Angon

我正在使用传统的php方法创建目录和css文件。给你

$upload_dir = wp_upload_dir();
$dirpath = $upload_dir[\'basedir\'] . \'/dynamic/\';
$filepath = $dirpath. \'dynamic.css\';

if( !file_exists($filepath) ){
  mkdir($dirpath);
  $fh = fopen($filepath, "w");
  fclose($fh);
}
但我想使用本机wp文件系统。我试过了

if(!$wp_filesystem->is_dir( $dirpath) 
 {
   $wp_filesystem->mkdir( $dirpath);
 }
现在如何创建文件dynamic.css?

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

这对我来说很难度过难关。但你可以遵循这一点。

1、首先让我们检查文件夹,如果它存在,我们将不再执行。

    if ( file_exists(trailingslashit(WP_PLUGIN_DIR).\'demo\' ) ) {
    exit;
     }
2。现在我们将获取凭据

    if (false === ($creds = request_filesystem_credentials($url, $method, false,    false, $form_fields) ) ) {
    return true;
      }
3。如果我们没有文件写入权限,请请求它

    if ( ! WP_Filesystem($creds) ) {
    // our credentials were no good, ask the user for them again
    request_filesystem_credentials($url, $method, true, false, $form_fields);
    return true;
    }
4。一切都好了现在让我们创建目录

    global $wp_filesystem;
    $plugdir = $wp_filesystem->wp_plugins_dir() .\'demo\';
5。现在,我们将创建php变量或包含文件

    $header = <<<END
    <?php
   /*
   Your data variable. You can use include or require for separate file
    */
    END;
六,。我们的最后一部分

    $plugfile = trailingslashit($plugdir).\'style\'.\'.css\';

if ( ! $wp_filesystem->put_contents( $plugfile, $header, FS_CHMOD_FILE) ) {
    echo \'Failed\';
    }
    return true;
您可以将整个块包装在一个函数中,并使用合适的挂钩执行它。希望有帮助

相关推荐