Мы готовы приступить к апдейтам наших тем с разумным набором изменений. Ведь нужно учитывать, что у существующих тем уже довольно много покупателей и такое кардинальное изменение логики работы темы (перенос в плагин всех шорткодов, виджетов и прочей логики, которая сейчас расположена в теме) негативно скажется на нашей работе с ними! Так как многие из них дописывают к теме какой-то свой код и будут шокированы тем, что в теме исчезнут многие функции. А в плагине эти функции появятся под новыми именами и с новыми доменами перевода (согласно концепции ThemeForest). Это сделает практически невозможным обновление тем для многих покупателей или заставит их вносить множество корректив в свой код и файлы перевода. Еще раз просим разрешить нам ограничиться изменениями наших существующих и ожидающих ревью тем по пунктам: 1) Мы обязуемся заменить все файловые операции в теме на использование методов класса WP_Filesystem и полностью отказаться от функций file_get_contents(), file_put_contents(), wp_remote_get() и т.д. в наших темах 2) Добавить в установку демо-контента вариант частичной установки с сохранением существующих публикаций. А также мы исправим формулировку в установщике демо-контента для варианта полной установки на более понятную: Attention! In this case data import will replace all existing content - so you get a complete copy of our demo site! It is recommended for new installations of WordPress (without posts, pages and any other data)! 3) Мы перенесем в плагин функционал авторизации и регистрации посетителей. Шорткоды все-таки предлагаем оставить в теме по причине больших трудозатрат, связанным с переносом и тестированием данных изменений и, не в последнюю очередь, в связи с проблемами, которые возникнут у покупателей уже работающих с нашими темами, по адаптации их кастомного программного кода и файлов перевода к новым апдейтам. 4) Мы обязуемся отказаться от использования функций opendir(), closedir() and readdir() в наших темах 5) We’re not quite sure why loading files needs to be so complicated, for example: http://envato.d.pr/rm0M/4paAhSjC . We’ll allow this, but just wanted to flag it as something we may come back in future versions of the requirements. Файл core.files.php является часть ядра использованного фреймворка и довольно странно слышать от людей, занимающихся проверкой программного кода, предложения о разделении ядра на части с переносом некоторых файлов и функций целостной системы в сторонний плагин и, соответственно, ставить работоспособность фреймворка в зависимость от того, установил пользователь данный плагин или нет. Поэтому, все же предлагаем оставить его в составе темы. А по поводу сложности построения некоторых функций ядра - так это потому, что данный фреймворк позволяет разработчикам тем гибко настраивать и, при необходимости, заменять загрузку файлов ядра своими вариантами, включенными в тему. И сделано это для того, чтобы разработчики тем могли модифицировать работу ядра под нужды конкретной темы не меняя код самого ядра, а значит делая легкими будущие апдейты фреймворка. Т.е. на уровне фреймворка эта концепция очень похожа на загрузку файлов темплейтов в WordPress из child-theme, чтобы не трогать основную тему и сохранить возможность апдейтов в будущем. Прочее. 1) Смешение текстовых доменов 'organic-beauty' и 'organic_beauty' как раз и было вызвано массовыми переделками кода под новые требования (подвела автозамена слагов функций, которая "захватила" и домены перевода). Естественно, мы исправим данный недочет. 2) You should be using is_ssl() instead of doing this: http://envato.d.pr/14daG/2G5TFOV4 . This is also used in core.media.php. Can you please replace this in both places. Ну нельзя же так формально подходить к проверке кода! Никакого отношения к формированию URL указанные вами функции не имеют! И применение в них is_ssl() просто абсурдно! Эти части кода производят проверку, является ли переданный им url адресом файла из папки uploads. А ведь указанный url мог быть частью демо-данных или просто был сохранен в опциях, например, ДО ВКЛЮЧЕНИЯ на сервере SSL. В этом случае is_ssl() вернет true, т.к. система СЕЙЧАС работает под SSL, а в адресе картинки указан протокол http://, т.к. она попала в БД либо на нашем демо-сервере, который не использовал SSL либо на этом же сервере, но до включения SSL. Но находится эта картинка в папке uploads данного сервера. И чтобы получить ее физический путь, нужно сравнить пути БЕЗ УЧЕТА протокола! Мы переделали и этот фрагмент кода, чтобы упоминание http не раздражало ваших ревьюверов, но мы искренне не понимаем, почему такие требования служат основанием для глобальных переделок во всех наших темах! По затратам времени: 1) Переделка тем по предлагаемому нами варианту (без переноса шорткодов и виджетов в отдельный плагин) займет от 3-4 до 5-6 часов на одну тему (в зависимости от ее функционала и "старости" движка) плюс тщательное тестирование. Итого один разработчик сможет переделывать 1, иногда 2 темы в день, если ничем другим больше заниматься не будет! При этом темы сохраняют совместимость со старыми версиями, т.е. при желании, покупатели смогут обновиться до новых версий с минимальными трудозатратами с их стороны. 2) Если переносить весь функционал в плагин на старых темах, то эта работа будет сравнима с написанием новой темы на новом движке и может занимать несколько рабочих дней на каждую тему! Учитывая количество тем, подлежащих переделке, это неподъемные финансовые затраты, плюс остановка производственного процесса по выпуску новых тем (на новом движке, учитывающем ваши требования). А уровень продаж многих из этих тем даже не позволит окупить вложенные средства на их переделку. Плюс - вполне вероятные технические ошибки, не все из которых можно будет сразу выявить при тестировании. Плюс - полная потеря совместимости со старыми версиями тем, т.к. при переносе в плагин многие функции изменят свое название, а также изменятся домены перевода. А это значит, что покупатели будут вынуждены переделывать файлы переводов, а те из них, которые что-то допрограммировали должны будут переделывать свои программы! Это вызовет волну негативных отзывов от кастомеров и отрицательно скажется на нашем рейтинге среди покупателей и нашем имидже, как разработчика.