2016-07-05 6 views
0

私は、それがスケジュールデータをどこに保管しているかを知りたがっています。私はポストされたデータの代わりにポストで見たことがあります。ステータスは未来であり、その時に同じものが公開されており、状態は未来から公開に変わりました。私はいくつかの投稿のステータスをデータベースに直接変更し、post_dateとpost_date_gmtの時刻を将来の時刻に変更しましたが、公開されず、ステータスも未来と同じです。 私はwordpressは他のテーブルのどこかにデータを格納し、そのテーブルに基づいてcronを起動すると思います。任意の助けはwp_optionsに大きなwordpressスケジュールデータベースエントリー

のcron vlauesが

a:8: 
{i:1467778980; 
a:1:{s:19:"nxs_querypost_event"; 
a:1:{s:32:"40cd750bba9870f18aada2478b24840a"; 
a:3:{s:8:"schedule";s:11:"nxsreposter";s:4:"args"; 
a:0:{}s:8:"interval";i:90;}}}i:1467781670; 
a:1:{s:16:"nxs_hourly_event"; 
a:1:{s:32:"40cd750bba9870f18aada2478b24840a"; 
a:3:{s:8:"schedule";s:6:"hourly";s:4:"args"; 
a:0:{}s:8:"interval";i:3600;}}}i:1467781924; 
a:1:{s:24:"akismet_scheduled_delete"; 
a:1:{s:32:"40cd750bba9870f18aada2478b24840a"; 
a:3:{s:8:"schedule";s:5:"daily";s:4:"args"; 
a:0:{}s:8:"interval";i:86400;}}}i:1467787812; 
a:3:{s:16:"wp_version_check"; 
a:1:{s:32:"40cd750bba9870f18aada2478b24840a"; 
a:3:{s:8:"schedule";s:10:"twicedaily";s:4:"args"; 
a:0:{}s:8:"interval";i:43200;}}s:17:"wp_update_plugins"; 
a:1:{s:32:"40cd750bba9870f18aada2478b24840a"; 
a:3:{s:8:"schedule";s:10:"twicedaily";s:4:"args"; 
a:0:{}s:8:"interval";i:43200;}}s:16:"wp_update_themes"; 
a:1:{s:32:"40cd750bba9870f18aada2478b24840a"; 
a:3:{s:8:"schedule";s:10:"twicedaily";s:4:"args"; 
a:0:{}s:8:"interval";i:43200;}}}i:1467791880; 
a:1:{s:20:"wp_maybe_auto_update"; 
a:1:{s:32:"40cd750bba9870f18aada2478b24840a"; 
a:3:{s:8:"schedule";s:10:"twicedaily";s:4:"args"; 
a:0:{}s:8:"interval";i:43200;}}}i:1467817919; 
a:1:{s:19:"wp_scheduled_delete"; 
a:1:{s:32:"40cd750bba9870f18aada2478b24840a"; 
a:3:{s:8:"schedule";s:5:"daily";s:4:"args"; 
a:0:{}s:8:"interval";i:86400;}}}i:1467820230; 
a:1:{s:30:"wp_scheduled_auto_draft_delete"; 
a:1:{s:32:"40cd750bba9870f18aada2478b24840a"; 
a:3:{s:8:"schedule";s:5:"daily";s:4:"args"; 
a:0:{}s:8:"interval";i:86400;}}}s:7:"version";i:2;} 
+0

その作業はWordPressのcronが真のcronではありません。誰かがページを訪問したときに実行するものがあるかどうかをチェックします。訪問していない場合は、何も更新されません。 [この投稿](https://www.smashingmagazine.com/2013/10/schedule-events-using-wordpress-cron/)の開始により詳細に説明されています。 [この投稿](WordPressスタック交換のhttp://wordpress.stackexchange.com/questions/84424/scheduled-posts-and-wp-cron-why-dont-scheduled-posts-publish-if-too-old) 24時間の窓があることを意味しています。その日にクロンが必要な訪問者がいなければ、決して動かないかもしれません(チェックしていない)。 – Hobo

+0

@Hobo私はすでに知っている。私はあなたが完全にdifferenctの事を書かれている何かを尋ねた – tumbin

+0

申し訳ありませんが、誤解されています。cronが発砲していなかった理由を探していると思った。私は以下の答えを追加します。 – Hobo

答えて

0

TLであるであろう; DRは値がwp_optionsテーブル、OPTION_NAMEの= 'のcron' です。


投稿は今後WordPress cronを使用して公開されます。将来の発行のために投稿をスケジュールすると、WordPressはオプションテーブル(デフォルトでwp_options)の "cron"エントリを更新しますが、テーブルプレフィックスを変更した場合は変更されます。

adds a publish_future_post entryを格納された配列(wp_schedule_single_event()関数を使用)に割り当てます。

実際の発行はcheck_and_publish_future_post()機能で行われます。

この値はPHPシリアル化されているため、データベースクエリで更新するのは難しい場合があります。

私のコメントにさらに

編集、これらは前に(なし未来のポスト)であり、(1将来のポスト)の値の後に私は、そのテーブルに参照してください。

前:

'a:4:{i:1467810391;a:3:{s:16:\"wp_version_check\";a:1:{s:32:\"40cd750bba9870f18aada2478b24840a\";a:3:{s:8:\"schedule\";s:10:\"twicedaily\";s:4:\"args\";a:0:{}s:8:\"interval\";i:43200;}}s:17:\"wp_update_plugins\";a:1:{s:32:\"40cd750bba9870f18aada2478b24840a\";a:3:{s:8:\"schedule\";s:10:\"twicedaily\";s:4:\"args\";a:0:{}s:8:\"interval\";i:43200;}}s:16:\"wp_update_themes\";a:1:{s:32:\"40cd750bba9870f18aada2478b24840a\";a:3:{s:8:\"schedule\";s:10:\"twicedaily\";s:4:\"args\";a:0:{}s:8:\"interval\";i:43200;}}}i:1467853602;a:1:{s:19:\"wp_scheduled_delete\";a:1:{s:32:\"40cd750bba9870f18aada2478b24840a\";a:3:{s:8:\"schedule\";s:5:\"daily\";s:4:\"args\";a:0:{}s:8:\"interval\";i:86400;}}}i:1467855934;a:1:{s:30:\"wp_scheduled_auto_draft_delete\";a:1:{s:32:\"40cd750bba9870f18aada2478b24840a\";a:3:{s:8:\"schedule\";s:5:\"daily\";s:4:\"args\";a:0:{}s:8:\"interval\";i:86400;}}}s:7:\"version\";i:2;}','yes');' 

後:

'a:5:{i:1467802230;a:1:{s:19:\"publish_future_post\";a:1:{s:32:\"c235acd81e1457babc4e93303796723c\";a:2:{s:8:\"schedule\";b:0;s:4:\"args\";a:1:{i:0;i:20;}}}}i:1467810391;a:3:{s:16:\"wp_version_check\";a:1:{s:32:\"40cd750bba9870f18aada2478b24840a\";a:3:{s:8:\"schedule\";s:10:\"twicedaily\";s:4:\"args\";a:0:{}s:8:\"interval\";i:43200;}}s:17:\"wp_update_plugins\";a:1:{s:32:\"40cd750bba9870f18aada2478b24840a\";a:3:{s:8:\"schedule\";s:10:\"twicedaily\";s:4:\"args\";a:0:{}s:8:\"interval\";i:43200;}}s:16:\"wp_update_themes\";a:1:{s:32:\"40cd750bba9870f18aada2478b24840a\";a:3:{s:8:\"schedule\";s:10:\"twicedaily\";s:4:\"args\";a:0:{}s:8:\"interval\";i:43200;}}}i:1467853602;a:1:{s:19:\"wp_scheduled_delete\";a:1:{s:32:\"40cd750bba9870f18aada2478b24840a\";a:3:{s:8:\"schedule\";s:5:\"daily\";s:4:\"args\";a:0:{}s:8:\"interval\";i:86400;}}}i:1467855934;a:1:{s:30:\"wp_scheduled_auto_draft_delete\";a:1:{s:32:\"40cd750bba9870f18aada2478b24840a\";a:3:{s:8:\"schedule\";s:5:\"daily\";s:4:\"args\";a:0:{}s:8:\"interval\";i:86400;}}}s:7:\"version\";i:2;}' 

publish_future_postエントリーさの違い:

i:1467802230;a:1:{s:19:\"publish_future_post\";a:1:{s:32:\"c235acd81e1457babc4e93303796723c\";a:2:{s:8:\"schedule\";b:0;s:4:\"args\";a:1:{i:0;i:20;}}}} 
+0

TL、DRは見つかりませんでした。問題のcron値を追加しました – tumbin

+0

Hmm;それがバージョンの問題かどうか疑問に思う。その行を選択し、将来の投稿を管理者に追加して、再度選択すると、違いが見えますか? – Hobo

+0

なぜWPはこの情報を保存するにはひどい方法を見つけることに驚かないのですか? –

0

は、単にあなたのテーマののfunctions.phpファイルにこのコードを追加

function wpb_upcoming_posts() { 
     // The query to fetch future posts 
     $the_query = new WP_Query(array( 
      'post_status' => 'future', 
      'posts_per_page' => 3, 
      'orderby' => 'date', 
      'order' => 'ASC' 
     )); 

    // The loop to display posts 
    if ($the_query->have_posts()) { 
     echo '<ul>'; 
     while ($the_query->have_posts()) { 
      $the_query->the_post(); 
      $output .= '<li>' . get_the_title() .' ('. get_the_time('d-M-Y') . ')</li>'; 
     } 
     echo '</ul>'; 

    } else { 
     // Show this when no future posts are found 
     $output .= '<p>No posts planned yet.</p>'; 
    } 

    // Reset post data 
    wp_reset_postdata(); 

    // Return output 

    return $output; 
    } 
    // Add shortcode 
    add_shortcode('upcoming_posts', 'wpb_upcoming_posts'); 
    // Enable shortcode execution inside text widgets 
    add_filter('widget_text', 'do_shortcode'); 

ショートコード:

<?php echo do_shortcode('[upcoming_posts]');?> 

[upcoming_posts] 

・ホープそう

+0

私は将来の投稿を表示することに興味がありません。私はwp_postのステータスからすることができます答えのためのthx。私の意図は、正確にwordpressが将来の投稿データをどこに格納するのかを知ることです。私はwp_postテーブルで直接見ることができます。私はそれを変更しようとしましたが、投稿していません。 wp_optionsには何かがありますので、それを理解するのを助けてください – tumbin

+0

この{wp} _optionsテーブルを 'cron'という名前のクエリでチェックしてくださいSELECT * FROM 'wp_options' WHERE' option_name' LIKE '%cron%' –

+0

このコードを追加するにはfunctions.php $ cron_jobs = get_option( 'cron'); var_dump($ cron_jobs); –