0

私のクライアントの場合、機能しなくなったコードをリファクタリングしました。スクリプトは、CSV から (変数) 製品をインポートします。すべてが正常に機能し、製品と属性がインポートされ、バックエンドで完全に表示されます。

奇妙なことに、製品は Web サイトのフロントエンドに表示されません。つまり、バックエンドから一度だけ保存するまでです (実際には、他に何もせずにその製品の保存ボタンを押すだけです)。

リファクタリング中に、このコードを見つけました。

  $test = new WC_Product($id);
  $test->variable_product_sync();
  $test = null;

これは新しい WooCommerce では機能しなくなり、すべてが静的になりました。この機能を今どのように実装できますか? そして、これが解決するかどうかはわかりません。

4

2 に答える 2

0

あ、見つけた。variable_product_sync を削除できます。update_post_meta で meta _visible を「visible」に設定してください。

于 2013-10-11T09:49:29.843 に答える
0
include_once( $_SERVER['DOCUMENT_ROOT'] . '/wp-content/plugins/woocommerce/woocommerce.php' );

$product_variable = new WC_Product_Variable($product_id);
$product_variable->sync($product_id);
wc_delete_product_transients($product_id);
于 2016-11-17T09:00:27.483 に答える