wp_schedule_이벤트 ()이 클래스 활성화 함수 내에서 작동하지 않습니다.
기본 플러그인 파일(plugin.php)의 맨 위에서 이벤트를 예약하면 cron이 wp_options에 추가됩니다.cron
선택.
wp_schedule_event( time() + 10, 'hourly', 'this_is_my_action' );
이것은 잘 작동합니다. 이것은 새로운 cron을 추가합니다.그런데 플러그인 클래스 내의 활성화 기능에서 동일한 기능을 사용하려고 하면 작동이 되지 않습니다.
내부 플러그인.내가 가지고 있는 php:
$plugin = new My_Plugin(__FILE__);
$plugin->initialize();
My_Plugin 클래스 내부에는 다음이 있습니다.
class My_Plugin{
function __construct($plugin_file){
$this->plugin_file = $plugin_file;
}
function initialize(){
register_activation_hook( $this->plugin_file, array( $this, 'register_activation_hook' ) );
}
function register_activation_hook()
{
$this->log( 'Scheduling action.' );
wp_schedule_event( time() + 10, 'hourly', 'this_is_my_action' );
}
function log($message){
/*...*/
}
}
플러그인을 활성화하면 로그가 기록되지만, 크론은 워드프레스 데이터베이스에 추가되지 않습니다.왜 그런지 아시겠어요?
예약된 이벤트에 등록한 작업을 정의해야 합니다.
class My_Plugin{
function __construct($plugin_file){
$this->plugin_file = $plugin_file;
}
function initialize(){
register_activation_hook( $this->plugin_file, array( $this, 'register_activation_hook' ) );
add_action( 'this_is_my_action', array( $this, 'do_it' );
}
function register_activation_hook()
{
if ( !wp_next_scheduled( 'this_is_my_action' ) ) {
$this->log( 'Scheduling action.' );
wp_schedule_event( time() + 10, 'hourly', 'this_is_my_action' );
}
}
function this_is_my_action(){
//do
}
function log($message){
}
function do_it() {
// This is your scheduled event
}
}
시도해 보기:
class My_Plugin{
function __construct($plugin_file){
$this->plugin_file = $plugin_file;
}
function initialize(){
register_activation_hook( $this->plugin_file, array( $this, 'register_activation_hook' ) );
}
function register_activation_hook()
{
$this->log( 'Scheduling action.' );
wp_schedule_event( time() + 10, 'hourly', array( $this,'this_is_my_action' ));
}
function this_is_my_action(){
//do
}
function log($message){
}
}
추가할 필요가 있습니다.array($this,'name_function')
예정대로
언급URL : https://stackoverflow.com/questions/17537776/wp-schedule-event-not-working-inside-class-activation-function
'programing' 카테고리의 다른 글
문자가 숫자인지 확인하시겠습니까? (0) | 2023.09.21 |
---|---|
하위 도메인의 루트 덮어쓰기 액세스의 워드 프레스 액세스입니다.하위 도메인 앱이 지금 작동하지 않습니다. (0) | 2023.09.21 |
비트맵 파일을 구조물로 읽기 (0) | 2023.09.21 |
프로세스가 소유한 소켓을 결정하는 Linux API (0) | 2023.09.21 |
nativeGetEnabledTags에서 예기치 않은 값: 0 (0) | 2023.09.21 |