Я столкнулся с этим вопросом пару раз. Проблема, которую я обнаружил, заключается в том, что актив либо поврежден, либо имеет неправильное расширение файла. В моем случае это обычно поврежденный образ, который я получаю от отдела искусства. Как только я удалил нарушительный файл, все будет компилироваться и работать нормально.
В основном то, что происходит, - это то, что Android пытается сжать и отформатировать активы и ресурсы, но если один из них поврежден, то он терпит неудачу.
Попробуйте удалить все недавно добавленные активы или ресурсы.
Посмотрев, как это делает плагин ACF, я нашел решение, вместо того, чтобы вызывать функцию при загрузке плагина, я просто добавил его в действие init
.
require 'myClass.php';
$myClass = new myClass();
add_action('init', [$myClass, 'myFunction']);
Я бы даже предложил использовать основной класс для ваших плагинов и в __construct
привязать вашу логику к init
и / или plugins_loaded
.
class MyPlugin {
public function __construct() {
add_action( 'plugins_loaded', [$this, 'plugins_loaded'] );
add_action( 'init', [$this, 'init'] );
}
public function plugins_loaded() {
// pluggables functions are available here
}
public function init() {
// pluggables functions are available here
}
}
new MyPlugin();