Использование Wordpress WP_Filesystem_Direct с автозагрузкой PSR-4 - PullRequest
0 голосов
/ 18 января 2019

Я использую композитор с автозагрузкой PSR-4 в плагине Wordpress. Нет проб.

Я решил использовать класс WP_Filesystem_Direct для удаления каталога при определенных обстоятельствах, но обнаружил, что ДОЛЖЕН включить 3 класса Wordpress вручную, используя require, чтобы все работало должным образом.

Может кто-нибудь объяснить, почему я должен был потребовать их, и просто using они не будут работать?

Ниже приведен код, который работал:

namespace Cre\API;

use \WP_Filesystem_Direct;

class ThingSync extends Sync
{
    public function checkPostProcessTasks()
    {
        // Why do I need this, and 'using' them above the class won't work?
        require_once(ABSPATH . '/wp-admin/includes/class-wp-filesystem-base.php');
        require_once(ABSPATH . '/wp-admin/includes/class-wp-filesystem-direct.php');
        require_once(ABSPATH . '/wp-includes/class-wp-error.php');

        if (get_option('deleteDir') !== "on") {
            $fs = new WP_Filesystem_Direct(false);
            $fs->rmdir(IMAGE_PATH, true);
        }
    }
}
...