Я создаю плагин WordPress (структурированный как Singleton), который при активации вставляет три новые конечные точки WooCommerce (каждая конечная точка хранится в отдельном файле, содержащем класс конечной точки). Наконец, обязательный flush_rewrite_rules()
называется. Флеш должен произойти после три конечные точки были вставлены или конечные точки будут 404 при посещении.
Я хочу избежать необходимости активировать 4 отдельных плагина (мой плагин + 3 плагина конечных точек). Если возможно, предпочтительнее всего одна активация плагина.
До сих пор :
Мой плагин активирует ОК, и конечные точки «визуально появляются» ОК в навигации, но будут 404 при посещении. и нужна ручная промывка.
Ключевые проблемы:
include
три файла класса Endpoint внутри моего плагина Singleton? Топ плагин? Внутри __construct
? Или после плагина?flush_rewrite_rules()
внутри register_activation_hook()
кажется, не исправить 404ing конечных точек.Вот мой абстрактный код:
/* Include endpoint files here? */
include_once( plugin_dir_path( __FILE__ ) . 'classes/endpoint1.php');
include_once( plugin_dir_path( __FILE__ ) . 'classes/endpoint2.php');
include_once( plugin_dir_path( __FILE__ ) . 'classes/endpoint3.php');class My_Plugin {
private $endpoint1 = null;
private $endpoint2 = null;
private $endpoint3 = null;
private static $instance;
public static function getInstance() {
if (self::$instance == NULL) {
self::$instance = new self();
}
return self::$instance;
}
private function __construct() {
/*Call the endpoint classes here? */
$this->$endpoint1 = new Endpoint1();
$this->$endpoint1 = new Endpoint2();
$this->$endpoint1 = new Endpoint3();
}
public static function install() {
flush_rewrite_rules();
}
} /*End Class*/
My_Class::getInstance();
/*Flush rewrite rules here? */
register_activation_hook( __FILE__, array( 'My_Plugin', 'install' ) );
Любая помощь приветствуется <3
Задача ещё не решена.
Других решений пока нет …