Первоначально я создал один файл. php с несколькими функциями для интеграции форм Gravity в потребности веб-сайта. Плагин вырос до 8000 строк, прежде чем я разбил его на несколько файлов в одной папке; это было просто слишком много прокрутки и трудно для него организовано, как я работал над этим. Функции в значительной степени зависят от пользователя и его ролей, затрагивая почти каждую функцию. После того, как функции были разделены на разные файлы, мне нужно включить
$user = is_user_logged_in() ? wp_get_current_user() : null;
if ($user) {
$roles = $user->roles;
}
и часто приходится запускать этот объект $ user через одну из нескольких других функций, чтобы увидеть, попадают ли они в группы и категории.
Я не могу сказать, сохраняет ли WordPress каким-либо образом пользователя (и последующие вызовы ссылаются только на объект), или каждый вызов является запросом и создает новый экземпляр. Если последнее, есть ли более умный способ go сделать это (возможно, создать свой собственный класс пользователя, чтобы избежать повторного вызова тех же вызовов)?