參考網站

調整過的程式碼

// 新增庫存狀態選選項
function filter_woocommerce_product_stock_status_options( $status ) {
	// 新增狀態
	$status['pre_order'] = __( '缺貨中', 'woocommerce' );

	return $status;
}
add_filter( 'woocommerce_product_stock_status_options', 'filter_woocommerce_product_stock_status_options', 10, 1 );

// Availability text
function filter_woocommerce_get_availability_text( $availability, $product ) {
	switch( $product->get_stock_status() ) {
		case 'pre_order':
			$availability = __( '缺貨中', 'woocommerce' );
		break;

	}

	return $availability; 
}
add_filter( 'woocommerce_get_availability_text', 'filter_woocommerce_get_availability_text', 10, 2 );

// Availability class
function filter_woocommerce_get_availability_class( $class, $product ) {
	switch( $product->get_stock_status() ) {
		case 'pre_order':
			$class = 'pre-order'; 
		break;
	}

	return $class;
}
add_filter( 'woocommerce_get_availability_class', 'filter_woocommerce_get_availability_class', 10, 2 );


// 管理員後台 商品狀態顯示
function filter_woocommerce_admin_stock_html( $stock_html, $product ) {
	switch( $product->get_stock_status() ) {
		case 'pre_order':
			$stock_html = '<mark class="pre-order" style="background:transparent none;color:#33ccff;font-weight:700;line-height:1;">' . __( '缺貨中', 'woocommerce' ) . '</mark>'; 
		break;
	}

	return $stock_html;
}
add_filter( 'woocommerce_admin_stock_html', 'filter_woocommerce_admin_stock_html', 10, 2 );

未調整

// 新增庫存狀態選選項
function filter_woocommerce_product_stock_status_options( $status ) {
  // Add new statuses
  $status['pre_order'] = __( 'Pre order', 'woocommerce' );
  $status['contact_us'] = __( 'Contact us', 'woocommerce' );

  return $status;
}
add_filter( 'woocommerce_product_stock_status_options', 'filter_woocommerce_product_stock_status_options', 10, 1 );

// Availability text
function filter_woocommerce_get_availability_text( $availability, $product ) {
  switch( $product->get_stock_status() ) {
    case 'pre_order':
      $availability = __( 'Pre order', 'woocommerce' );
    break;
    case 'contact_us':
      $availability = __( 'Contact us', 'woocommerce' ); 
    break;
  }

  return $availability; 
}
add_filter( 'woocommerce_get_availability_text', 'filter_woocommerce_get_availability_text', 10, 2 );

// Availability class
function filter_woocommerce_get_availability_class( $class, $product ) {
  switch( $product->get_stock_status() ) {
    case 'pre_order':
      $class = 'pre-order'; 
    break;
    case 'contact_us':
      $class = 'contact-us'; 
    break;
  }

  return $class;
}
add_filter( 'woocommerce_get_availability_class', 'filter_woocommerce_get_availability_class', 10, 2 );


// 管理員後台 商品狀態顯示
function filter_woocommerce_admin_stock_html( $stock_html, $product ) {
  switch( $product->get_stock_status() ) {
    case 'pre_order':
      $stock_html = '<mark class="pre-order" style="background:transparent none;color:#33ccff;font-weight:700;line-height:1;">' . __( 'Pre order', 'woocommerce' ) . '</mark>'; 
    break;
    case 'contact_us':
      $stock_html = '<mark class="contact-us" style="background:transparent none;color:#33ffcc;font-weight:700;line-height:1;">' . __( 'Contact us', 'woocommerce' ) . '</mark>'; 
    break;
  }

  return $stock_html;
}
add_filter( 'woocommerce_admin_stock_html', 'filter_woocommerce_admin_stock_html', 10, 2 );

最後修改日期: 2021 年 4 月 15 日

作者