WordPressの外部で実行されるcronジョブを作成しています。開発の観点から見ると、コマンドラインで次のようなコマンドを実行するだけで、クリーンアップスクリプトまたはcronジョブをデバッグおよび作成することが非常に簡単になります。
php myfile.php
私の問題は、WordPressが何らかの形ですべての出力を遅延させることです。通常、このようなphpファイルを実行すると、出力はリアルタイムで画面に生成されます。
WPがジョブの終了まですべての出力を遅らせるのを防ぐ方法を知っている人はいますか?これはおそらく、PHPファイルの実行時に欠落している単純なパラメーターか、何らかの定数ですが、よくわかりません。
次のコードでは、各出力の間に1秒の遅延があることが予想されますが、代わりに現在、最後にすべての情報が一度に印刷されます。
set_time_limit( 0 );
ini_set( "memory_limit", "64M" );
ob_start();
require_once( dirname( __FILE__ ) . '/wp-load.php' ); // you need to adjust this to your path
ob_end_clean();
global $wpdb;
$q = $wpdb->prepare ("SELECT * FROM wp_posts LIMIT 5");
$results = $wpdb->get_results ($q);
echo "found " . count ($results) . "\n";
foreach ($results as $post)
{
echo $post->post_title . "\n";
sleep(1);
}
echo "\n\ndone";