.orgサイトからの1時間ごとのwp_schedule_eventの例のこれは実際にコピー/貼り付けされたバージョンですそれは動いていません…そして私はそれを「誘発する」訪問者がいることを知っています。それが行くかどうかを確認するために1時間待つのはそのような苦痛です。
誰かが私が間違っているところを私に言うことができますか?私が考えることができる唯一のことは私がテーマでそれを動かしているということです、そして多分それはプラグイン設定でだけうまくいくでしょうか? 道に迷いました。
//set up hourly fetching of symbiocards
register_activation_hook( __FILE__, 'symbiostock_chron_activation' );
add_action( 'symbiostock_twicedaily_symbiocard_update', 'update_symbiocards' );
function symbiocards_activation() {
if ( !wp_next_scheduled( 'symbiocards_hourly_event' ) ) {
wp_schedule_event( time(), 'hourly', 'symbiocards_hourly_event');
}
}
add_action('wp', 'symbiocards_activation');
function update_symbiocards() {
$update = new network_manager();
$sites = $update->get_connected_networks();
foreach ( $sites as $site ) {
$update->fetch_symbiocard( $site[ 'address' ] );
} //$sites as $site
symbiostock_save_network_info();
update_option('symbiocards_last_update', current_time( 'mysql' ));
wp_mail( get_bloginfo( 'admin_email' ), '[symbiostock_network_update] Network Symbiocards Updated - ' . current_time( 'mysql' ), 'Network Symbiocards Updated - ' . current_time( 'mysql' ) );
}
コード例では、
wp_schedule_event( time(), 'hourly', 'symbiocards_hourly_event');
しかし、定義されているsymbiocards_hourly_event
フックはありません。
現在のテーマディレクトリのfunctions.php
ファイルで使用している場合は、代わりにこのスニペットを試してください。
add_action( 'wp', 'symbiocards_activation' );
add_action( 'symbiocards_hourly_event', 'update_symbiocards' );
function symbiocards_activation() {
if ( !wp_next_scheduled( 'symbiocards_hourly_event' ) ) {
wp_schedule_event( time(), 'hourly', 'symbiocards_hourly_event' );
}
}
function update_symbiocards() {
wp_mail( get_bloginfo( 'admin_email' ), '[symbiostock_network_update] Network Symbiocards Updated - ' . current_time( 'mysql' ), 'Network Symbiocards Updated - ' . current_time( 'mysql' ) );
}
wp_mail()
部分が機能しており、正しいEメールアドレスを使用していることを自分自身に納得させるべきです。
問題をデバッグするために使用できる優れたcronマネージャープラグインがたくさんあります。これは、たとえばFFF Cron Managerからのビューです。