我正在為Woocommerce商店進(jìn)行自動(dòng)導(dǎo)入。它正在工作,但是要花費(fèi)大量資源。這非常慢,并將網(wǎng)站速度降低到無用的程度。這顯然是一個(gè)糟糕的開始。當(dāng)前的外觀如下:<?php$xml = simplexml_load_file( $url );foreach ( $xml->products->product as $product ) { $one_sku = (string)$product->code; $productID = wc_get_product_id_by_sku( 'pre-' . $one_sku ); if ( $productID ) { $one_description = (string)$product->description; $one_price_wholesale = (string)$product->price->wholesale; $one_price_rrp = (string)$product->price->rrp; $one_image = (string)$product->imageurl; $one_imageName = basename($one_image, ".jpg"); // Get an instance of the WC_Product object $wooproduct = wc_get_product( $productID ); // Check if product is in draft $productStatus = $wooproduct->get_status(); // Set Product Information. if ( $productStatus == 'draft' ) { $wooproduct->set_description( $one_description ); $wooproduct->set_short_description( $one_description ); $wooproduct->set_regular_price( $one_price_rrp ); $wooproduct->save(); // Show updated products echo $dataAboutThis; } }} ?>現(xiàn)在我基本上可以猜出為什么它很慢了。它使用WooComerceset_description等功能將新數(shù)據(jù)保存到數(shù)據(jù)庫中。而且它可能正在執(zhí)行某種有害的SELECT查找,以及在Woo腳本上需要運(yùn)行的其他繁瑣功能和廢話。因此,基本上我只是想知道從哪里開始改進(jìn)它。我猜想使用WPDB插入并檢查更新是否是我需要走的方向。而不是使用set_whatever WooComerce函數(shù)。但是,將其插入數(shù)據(jù)庫的最佳方法是什么。因?yàn)樵谝粋€(gè)可以包含成千上萬個(gè)產(chǎn)品的foreach循環(huán)中查找和插入對(duì)我來說似乎不是一個(gè)好主意。我正在猜測(cè)某種聯(lián)接??赡苁亲罴炎龇?。還值得一提的是,我的產(chǎn)品目前已經(jīng)存在?;旧?,這里發(fā)生的是在創(chuàng)建并添加到草稿的庫存檢查更新器中提取的新產(chǎn)品。他們只有庫存量,狀態(tài),標(biāo)題和基本要求,才可以在網(wǎng)站上購買產(chǎn)品。這是在草稿中查找那些產(chǎn)品,將它們與xml文件匹配,然后進(jìn)行更新。草稿中的內(nèi)容總是少于xml文件中的內(nèi)容。因此,有時(shí)我可能會(huì)將foreach從xml文件切換為查找草稿產(chǎn)品。
優(yōu)化WordPress Woocommerce導(dǎo)入腳本
寶慕林4294392
2021-05-01 14:15:51