2

私は数百万の投稿を持っています( "case"というカスタム投稿タイプを使用しています)。彼らはそれぞれ、多くのpost_metaレコードを持っています(ACFを使用します)。私は今、woocommerceがこれらの "ケース" CPTを製品として扱うことを望んでいます(を "product"に変更しないで)。私はReigel Gallarde's pluginを使用しています。これは、任意のCPTを商品として扱うために、woocommerceを設定しています。それは作品のようなものです。しかし問題は、woocommerceが最終的にそれを製品として認識するために、それぞれの「事例」編集画面に入り、投稿を再保存しなければならないことです。明らかに、数百万のポストでこれを手動で行うことは実用的ではありません。それでは、どうやって、私はwoocommerceにこれらを認識させることができますか?少なくともメタフィールドを追加したり、データベースや関数コードで他の何かを認識して認識させることはできますか?私はWooCommerceが各投稿を再保存せずにすぐに商品として既存のカスタム投稿タイプを扱うようにしたい

注:正解では、これらのアイテムのpost_typeを「product」に変更する必要はありません。

答えて

0

は、あなたのデータベースでクエリを実行します。

  1. あなたのDBのコピーを作成します。
  2. UPDATE wp_posts SET post_type = 'product' WHERE post_type = 'post';ただし、using $wpdbクエリを実行します。

コードが分からない場合は、1つのポストを更新するときにフックを使用してそのクエリを実行し、そのコードを削除できます。

function runQuery(){ 
    global $wpdb; 
    $wpdb->update(
     $wpdb->posts, 
     array('post_type' => 'product'), 
     array('post_type' => 'post'), 
     array('%s'), 
     array(''%s0) 
    ); 

} 

add_action('save_post', 'runQuery'); 

私は「製品」にポストタイプを変更することなく、これを達成したいことを指定

+0

をのfunctions.phpするためにこれを追加します。 –

関連する問題