wp_cron()に イベントを 登録する wp_schedule_event()ルルイヨングすれば 定期的に すると する 作業を 自動化する 数 ある. (wp_cron() 関数は 定期的 作業を 中断する 時だけ 使うので 定期的 作業を 登録する 焚く 使う 仕事が ない.)

例を 入れば Broken Link Checkerという プラグインは wp_cronに イベントを 登録して 1時間に たいてい 回ずつ 割れた リンクを チェックする.

私も いくら 前に 定期的に 自動化する 仕事が 生じた. トラフィックを 分析して 見たら, グーグルと ネイバーでは 多い 数価 訪問するのに, Daumでは 訪問数が ほとんど ない のだった. 2012-07-12 トラフィックを 見れば, トラフィックが 下と ようだ.

  • グーグル 検索 : 711回
  • ネイバー 検索 : 221回
  • 次 検索 : 7回

これは 何か 問題が ある. そのため 見るから Daum ブログ 検索で 内 ブログが 検索されるの ない のを 見つけた. ウェブ 検索では 内 文が まどろみ 検索される の ようだったが 彼さえ 何 犬 中 なる の ようだったし, はなはだしくは どうな 文は 内 ブログで コピした 文だけ 検索される 場合も あった. 次 側に お問い合わせを したが 時間が かかるという 返事だけ 来て 後続 返事が 奥地 なかった. (これに 大海は 次に 別に 文を 使う つもりだ.)

そのため 窮余の策で 次 ビューに ブルログルを 登録した. そして 時間が 流れたら 次 ビューで 認知した 文は 検索が なる のだった. 五胡だと! それでは 次 ビューに 文を 全部 だ 送れば なるね!

するが 何 行くのを 考慮すると した. 一応 内 文が 700勝ちどき 過ぎるのに これを 受動で する 件 及んだ 仕業だ.そうだと スクリプトを 組んで 一度に 文を 送る の やっぱり 次 ビュー 側で ゼゼルルダングする 数 ある 馬鹿 ような 仕業である ことだ. 制裁を あうの ないと しても 使用者たちに “あの子は 何か” する ヌンチォングを あう 数 ある. そのため 思った のが, バックグラウンドで プログラムを 回す のだった. 30分に たいてい 個ずつ 次 ビュー IT セクションで トラックバックを 送るように することに した. そのため wp_cronを 使うように なった のだ.

wp_schedule_event()を 使って 見よう

核心 原理は 次と ようだ.

  1. 30分に たいてい 回ずつ 作動する 関数を 作る. 私はtrackback_to_daum_view() という 関数を 作った.
  2. これ 関数を 作動させる actionを 作る. 私は tbviewという actionを 作った. こういう 式で 追加して 与える.
    add_action('tbview', 'trackback_to_daum_view');
    アクション 追加は 毎度 行って 与えると する. 私は function.phpで 追加するように した.
  3. これ アクションをwp_schedule_event()に 登録する. 下と ような 形式だ.
    wp_schedule_event( time(), 'hourly', 'tbview');
    登録は たいてい 番だけ すると する.(例えば プラグインなら 活性化する 時.) DB義 wp_options テーブルの option_nameこれ cronイン ローに 保存されること だからだ. 色々 番(回) 登録すれば ゾラ 多く 登録される ことだ.

実行させる 関数を 作る

定木, 今 詳細 説明 入って行く. 一応 実行させる 関数を 作る. 私は 下と 一緒に 作った.

/**
 * 次 ビューロー トラックバックを 送るの ない ポストを 次 ビューに うつ.
 */
function trackback_to_daum_view(){
  global $wpdb;
  
  $querystr = "
      SELECT $wpdb->posts.* 
      FROM $wpdb->posts
      WHERE $wpdb->posts.pinged not like '%v.daum.net%'
      AND $wpdb->posts.post_status = 'publish'
      AND $wpdb->posts.post_type = 'post'
      ORDER BY $wpdb->posts.post_date DESC
      LIMIT 1
   "; 
  
  $pageposts = $wpdb->get_results($querystr, OBJECT);

  if($pageposts){
    global $post;
    foreach ($pageposts as $post) {
      setup_postdata($post);
      $tb = array(
        'title' => get_the_title(),
        'excerpt' => get_the_excerpt(),
        'id'=> get_the_ID()
      );
      $tb['url'] = 'http://mytory.local/archives/' . $tb['id'];
       //return getPrintr($tb);
       trackback('http://v.daum.net/tb/ch/it', $tb['title'], $tb['excerpt'], $tb['id']);
     }
   }
}

これ 部分では cron科 構わない 分野が 二 犬 出るのに, Custom Select Queryわ trackback 関数だ. trackback 関数野党 ものすごく 使うこと 楽に なって あるが, Custom Select Query増えた まどろみ 複雑だ. 普通 ワードプレスで ポストを 持って来る 焚く WP_Query クラスを 使用 する. オプションを 通じて 文を 選んで 来るのに, どこに トラックバックを 送ったのかに よって ポストを 呼んで来る 数 あるように する オプションは なかった. そのため Custom Select Queryを 使うと した. サヨングリェは 下と ようだ.

global $wpdb;

$querystr = "
    SELECT $wpdb->posts.* 
    FROM $wpdb->posts
    WHERE $wpdb->posts.pinged not like '%v.daum.net%'
    AND $wpdb->posts.post_status = 'publish'
    AND $wpdb->posts.post_type = 'post'
    ORDER BY $wpdb->posts.post_date DESC
    LIMIT 1
 "; 

$pageposts = $wpdb->get_results($querystr, OBJECT);

if($pageposts){
  global $post;
  foreach ($pageposts as $post) {
    setup_postdata($post);
    //get_the_title(), the_excerpt(), get_the_ID() のように
    //post 中で 使う 関数を 使えば なる.
   }
 }

関数を 実行させる actionを 登録する

action銀 ワードプレスで 起る 多様な ‘作動’を 称える 言葉だ. 基本的に 登録されて ある Action Referenceを 見れば 多様な Action聞く ボール 数 ある. 例えば Template Actionにはget_header ような Action度 ある. ヘッダーを 呼んで来る ‘作動’イン ことだ. ここに 特定 関数を かければ headerを 呼んで来る 度に 該当 関数が 実行されるように なる のだ.

ところが ここで 核心は 既存に ある 特定 アクションにtrackback_to_daum_view 関数を かける 蟹 なく, 新しい アクションを 作るという ところ ある. そのため 分かって アクションの 名前を 決めれば なる. wp_cron銀 特定 時間が なれば 該当 アクションを 呼び出す ことだ. そのため 私は tbviewという 名前の アクションを 作った ことだ.

これ アクションは ページが ローディングされる 度に 追加されると する. そうなの まともに 作動する. そのため function.phpに 下と 一緒に コードを 打ちこんだ のだ.

add_action('tbview', 'trackback_to_daum_view');

tbviewという アクションが 実行されれば, trackback_to_daum_viewという 関数を 行いなさいという コードだ. もし 関数に 因子値が 入って行ったら 歳 番目に 因子値を 入れて 与えれば なる.(add_action 関数 レファレンス 参照)

アクションを wp_cronに 登録すること

今 自分ばかりの アクションを 作ったので これ アクションを wp_cronに 登録しよう. wp_cronに 特定 アクションを 登録する 関数は wp_schedule_event()だ.

これ 関数は たいてい 番だけ 呼び出すと する. 色々 番(回) 呼び出せば 色々 番(回) 登録される. そのため 私は 特定 ページを 作って, ページ 番号を 取って テーマ フォルダに page-1234.phpという ファイルを 作った. (こんなに すれば ページ ID街 1234イン 文を 呼び出した 時 page-1234.php ファイルを テンプレート ファイルで 使うようになる. 必ず こんなに 割 必要は ない. 自分が 分かって 適当な 所で 呼び出せば なる. ページ 番号は ページ 編集する 時 住所 表示ラインを 見れば 卵 数 ある.)

そこに 下と ような コードを 作成した.

if(wp_schedule_event( time(), 'hourly', 'tbview') === NULL){
	echo '次ビューロー トラックバックを 送るように 設定しました.';
}else{
	echo '失敗!';
}

wp_schedule_eventに 入って行く 因子値 説明を 見れば 下と ようだ.

wp_schedule_event($timestamp, $recurrence, $hook, $args);

$timestamp

始めて 番目に 入って行く $timestamp増えた 初め 行う 基準 視覚だ. 現在 視覚 タイムスタンプを 少なければ なること だから time() 関数を 入れた. (タイムスタンプが 何やら 知りたければ 検索して 紫.)

ところで 説明を 見れば 下と 一緒に 出て ある.

$timestamp(integer) (必須) イベントが 起きること 望む 始めて 番目 視覚. 必ず UNIX timestamp フォーマットで 入れると する. PHP義 time() 関数 代りに ワードプレスのcurrent_time( 'timestamp' )を 使う 蟹 良い. そうなの なければ 始めて 番目 実行が ブログの ローカル タイムに 合わせて なるの ない のだ. それでは 混乱を 経験する 数 ある.

$timestamp(integer) (required) The first time that you want the event to occur. This must be in a UNIX timestamp format. You should use WordPress’current_time( ‘timestamp’ )instead of PHP’s time(); otherwise the first occurrence of the event will not be in your local time, which may lead to confusion.

ところが 私は むしろ<a title=”Function Reference/current time” href=”http://codex.wordpress.org/Function_Refere

<script language=JavaScript>
function j2k_select_translate() {
if (document.getSelection) text = document.getSelection();
else if (document.selection) text = document.selection.createRange().text;
else return;

var j2k_window = window.open(” http:=”” jptrans.naver.net=”” j2k_brief.php?mode=”k2j&selection=”” +=”” text.replace(=”” g,=”” “+”),=”” “_blank”,=”” “left=”1,top=1,width=585,height=370,status=yes,resizable=yes,toolbar=yes”);” j2k_window.focus();=”” }=”” <=”” script=””>

</a>

- コメント機能はありません。コメントの代わりに[email protected]にメールを送ってください。