Создание каталога и файла с использованием собственной файловой системы 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
?
2
Author: Pieter Goosen, 2015-09-20
1 answers
Мне довольно трудно пройти через это. Но вы можете следовать этому.
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;
6. Наша последняя часть
$plugfile = trailingslashit($plugdir).'style'.'.css';
if ( ! $wp_filesystem->put_contents( $plugfile, $header, FS_CHMOD_FILE) ) {
echo 'Failed';
}
return true;
Вы можете обернуть весь блок в функции и выполните его с помощью подходящих крючков. Надеюсь, это поможет
0
Author: ashraf, 2015-10-09 20:38:05