0

wordpress ページがあり、このページを cron に設定する必要があります。どうすればできますか?私のワードプレスページのリンクは次のとおりです。

http://example.com/wp-admin/admin.php?page=popshop-import&category=32194&cate_id=1279

この URL をブラウザで実行すると、このページは正常に動作します。これをwordpress cronに設定するにはどうすればよいですか?

4

1 に答える 1

1

popshop api の経験はありませんが、ワードプレスの cron を使用するのは非常に簡単です。必要なことを実行する関数を作成し、それを wp_schedule_event 関数にフックするだけです。

POPSHOP API が単純な REST API であるとしましょう。これが、cron ジョブを作成する方法です。

if ( ! wp_next_scheduled( 'popshop_api' ) ) {
  wp_schedule_event( time(), 'hourly', 'popshop_api' );
}

add_action( 'popshop_api', 'running_popshop_api' );

function my_task_function() {
  $service_url = 'http://example.com/wp-admin/admin.php?page=popshop-import&category=32194&cate_id=1279';
  $curl = curl_init($service_url);
  curl_setopt($curl, CURLOPT_RETURNTRANSFER, true);
  $curl_response = curl_exec($curl);
  if ($curl_response === false) {
      $info = curl_getinfo($curl);
      curl_close($curl);
      die('error occured during curl exec. Additioanl info: ' .   var_export($info));
  }
  curl_close($curl);
  $decoded = json_decode($curl_response);
  if (isset($decoded->response->status) && $decoded->response->status == 'ERROR') {
      die('error occured: ' . $decoded->response->errormessage);
  }
  echo 'response ok!';
  var_export($decoded->response);

}

そのため、コードは curl を使用して応答を探します。応答が false でない場合は、データを $curl_response 変数に保存し、それを var_dump/var_export して、必要なことを行うことができます。

于 2015-05-05T07:05:29.913 に答える