Создание каталога и файла с использованием встроенной файловой системы wordpress

Я создаю каталог и файл css, используя обычный метод php. Вот

$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 ?

Solutions Collecting From Web of "Создание каталога и файла с использованием встроенной файловой системы wordpress"

Для меня это довольно сложно. Но вы можете следовать этому.

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.Everythig хорошо, теперь давайте создадим каталог

  global $wp_filesystem; $plugdir = $wp_filesystem->wp_plugins_dir() .'demo'; 

5. Теперь мы создадим php vars или включим файл

  $header = <<<END <?php /* Your data variable. You can use include or require for separate file */ END; 

6.Наша последняя часть

  $plugfile = trailingslashit($plugdir).'style'.'.css'; if ( ! $wp_filesystem->put_contents( $plugfile, $header, FS_CHMOD_FILE) ) { echo 'Failed'; } return true; 

Вы можете обернуть весь блок в функцию и выполнить ее с помощью подходящих крючков. Надеюсь, поможет