すべてのWordPressの更新

私はすべての私の記事を更新する必要があります。私は店舗の一括アップロードを使用しますが、Webページの投稿/製品では表示されません。私が更新プログラムにヒットすると、投稿/商品が表示されます。

私はWordPressのデフォルトの更新機能を使用すると思います:

// Update post 37
  $my_post = array();
  $my_post['ID'] = 37;
  $my_post['post_content'] = 'This is the updated content.';

 //Update the post into the database
  wp_update_post( $my_post );

しかし、どのように配列のすべての投稿IDを取得するには?

4
あなたと同じ問題があります。私は、foreachとwp_update_postをやりとりして、更新ボタンをクリックすることの違いは何か分かりません。
追加された 著者 weaveoftheride,

2 答え

ここでは、foreachを使って投稿をループするだけです。

/*
Plugin Name: Example
Description: This is not just a plugin, it's CODE..
Author: 
*/
add_action('init','example_hide');

function example_hide(){

    $my_posts = get_posts( array('post_type' => 'post', 'numberposts' => 10 ) );

    foreach ( $my_posts as $my_post ):

    $my_post['post_content'] = 'This is the updated content.';

    wp_update_post( $my_post );

    endforeach;
}
10
追加された
これは私にとってはうまくいかないようですが、現時点で表示しているようにinitフックで試してみます。私は管理メニューページのコールバックでそれをやっています。
追加された 著者 weaveoftheride,
私はこれを使用してCPTをすべて再構築しました(これはカスタムテーブルのデータに基づいて地図を作成するのに必要でした) - 私はこれを使って完全に機能しましたが、$ my_post ['post_content']を削除したので、更新します。これは私のために働いた。ページを更新して実行させるようにしてください。
追加された 著者 rockmandew,
ありがとうrockmandew、メモとして、私は通常この種のコードをプラグインに投げます。それがヘッダーのためのものです。アクティブ化、待機、非アクティブ化、完了しました〜!このメソッドはテンプレートやテーマから「ワンタイム」コードを保持します。
追加された 著者 DigitalDesignDj,

WordPressの get_posts 機能を使用することができます。試してください:

$all_posts = get_posts('numberposts=');
1
追加された