WordPress終極優化指南–禁用WooCommerce樣式表、購物車刷新、WooCommerce小部件、刪除WooCommerce Meta Boxes
WooCommerce是一個知名的購物系統主題
禁用WooCommerce樣式表
當您安裝WooCommerce時,它會為您的網站添加一些樣式表,這些樣式表隨頁面一起加載。如果您使用自定義主題(可能),則可以停止加載這些樣式表。
add_filter( 'woocommerce_enqueue_styles', '__return_empty_array' );
寫入functions.php保存即可。
如果要將自己的樣式表排入隊列,使用下方代碼
/** Enqueue your own stylesheet */ function wp_enqueue_woocommerce_style(){ wp_register_style( 'mytheme-woocommerce', get_template_directory_uri().'/css/woocommerce.css' ); if ( class_exists( 'woocommerce' ) ) { wp_enqueue_style( 'mytheme-woocommerce' ); } } add_action( 'wp_enqueue_scripts', 'wp_enqueue_woocommerce_style' );
寫入functions.php保存即可。
購物車刷新
WooCommerce內置功能可以在不刷新頁面的情況下用戶添加了新的商品後自動刷新購物車。
這個體驗不錯,但是加載的時間比較長。所以說各有利弊。在大型網站上,WooCommerce的購物車刷新可能需要好幾秒鐘。這個功能不是必要的,我們可以禁用他。
add_action( 'wp_print_scripts', 'nuke_cart_fragments', 100 ); function nuke_cart_fragments() { wp_dequeue_script( 'wc-cart-fragments' ); return true; } add_action( 'wp_enqueue_scripts', 'dequeue_woocommerce_cart_fragments', 11); function dequeue_woocommerce_cart_fragments() { if (is_front_page()) wp_dequeue_script('wc-cart-fragments'); }
寫入functions.php保存即可。
注意:禁用後購物車不會自動刷新,但是刷新頁面時購物車會自動更新到最新的商品列表。
WooCommerce小部件
WooCommerce默認預先加載了許多小部件。大多數主題都有自己的功能來替換這些小部件,並且保持它們的啟用會增加加載時間,同時不提供任何其他價值。使用下方代碼來禁用
add_action( 'widgets_init', 'remove_woo_widgets' ); function remove_woo_widgets() { unregister_widget( 'WC_Widget_Recent_Products' ); unregister_widget( 'WC_Widget_Featured_Products' ); unregister_widget( 'WC_Widget_Product_Categories' ); unregister_widget( 'WC_Widget_Product_Tag_Cloud' ); unregister_widget( 'WC_Widget_Cart' ); unregister_widget( 'WC_Widget_Layered_Nav' ); unregister_widget( 'WC_Widget_Layered_Nav_Filters' ); unregister_widget( 'WC_Widget_Price_Filter' ); unregister_widget( 'WC_Widget_Product_Search' ); unregister_widget( 'WC_Widget_Top_Rated_Products' ); unregister_widget( 'WC_Widget_Recent_Reviews' ); unregister_widget( 'WC_Widget_Recently_Viewed' ); unregister_widget( 'WC_Widget_Best_Sellers' ); unregister_widget( 'WC_Widget_Onsale' ); unregister_widget( 'WC_Widget_Random_Products' ); }
寫入functions.php保存即可。
刪除WooCommerce Meta Boxes
當您安裝WooCommerce時,它會在您網站的後端添加許多元框。這些元框用途很少,您可以禁用它們以改善後端加載時間。否則的話我們後台頁面大概時間將會較長
add_action('edit_form_after_title', 'my_custom_post_edit_form', 100); /** * remove all meta boxes, and display the form */ function my_custom_post_edit_form($post) { global $wp_meta_boxes; // remove all meta boxes $wp_meta_boxes = array('my_custom_post_type' => array( 'advanced' => array(), 'side' => array(), 'normal' => array(), )); // show my admin form require dirname(__FILE__) . '/views/my-custom-post-edit-form.php'; }
寫入functions.php保存即可。