Как создать папку при активации плагина

Категории: Плагины

Если вы пишете свой плагин, и для его работы необходима отдельная папка, ее можно создать в wp-content/uploads/ с помощью несложной функции, которая будет вызвана при активации вашего плагина:

function myplugin_activate() {
    
    $upload = wp_upload_dir();
    $upload_dir = $upload['basedir'];
    $upload_dir = $upload_dir . '/mypluginfiles';
    if (! is_dir($upload_dir)) {
       mkdir( $upload_dir, 0700 );
    }
} 
register_activation_hook( __FILE__, 'myplugin_activate' );

Этот код успешно скопирован с сайта WpMayor, мне он когда-то будет полезен.

В комментариях также рекомендуется использовать вместо:

       mkdir( $upload_dir, 0700 );

Вот такую конструкцию:

require_once( ABSPATH . ‘wp-admin/includes/class-wp-filesystem-base.php’ );
require_once( ABSPATH . ‘wp-admin/includes/class-wp-filesystem-direct.php’ );
$wp_fs_d = new WP_Filesystem_Direct( new StdClass() );
if ( !$wp_fs_d->is_dir( $upload_dir ) && !$wp_fs_d->mkdir( $upload_dir, 0705 ) )
wp_die( sprintf( __( ‘Impossible to create %s directory.’ ), $upload_dir ) );

В ближайшее время планируются посты с короткими заметками, советами и тп. на тему WordPress, если кого-то не устраивает переводный материал, копипаст и тп. могут успешно отписаться и читать Lenta.Ru

Оставьте комментарий Ваш шанс быть услышанным!