Woocommerceプラグインに新しいカスタム "product type"を追加したいです。
現在存在している商品タイプのファイルの1つを複製しようとしました (woocommerceテンプレート構造) 新しいファイル(ファイル名とコメント内の名前)として/しかし動作しませんでした
カートに追加テンプレートは、あなたがする必要がある多くのことのうちの1つにすぎません。各製品タイプは/includes/
フォルダーに独自のクラスを持っています。それぞれがWC_Product
クラスを拡張します。
スクリーンキャップをしたリストにアイテムを追加するには(add-to-cart.php
テンプレートとは異なり、管理者側でフロントエンドではありません)、product_type_selector
をフィルタリングする必要があります。
add_filter( 'product_type_selector', 'wpa_120215_add_product_type' );
function wpa_120215_add_product_type( $types ){
$types[ 'your_type' ] = __( 'Your Product Type' );
return $types;
}
それからあなたはあなたの製品クラスを宣言する必要があります。標準の命名システムはWC_Product_Type_Class
なので、この例では次のようになります。
class WC_Product_Your_Type extends WC_Product{
/**
* __construct function.
*
* @access public
* @param mixed $product
*/
public function __construct( $product ) {
$this->product_type = 'your_type'; // Deprecated as of WC3.0 see get_type() method
parent::__construct( $product );
}
/**
* Get internal type.
* Needed for WooCommerce 3.0 Compatibility
* @return string
*/
public function get_type() {
return 'your_product';
}
}
あなたは非常に複雑な質問をしています、そして私はより完全な答えを提供することができません。うまくいけば、これは正しい道にあなたを設定します。 WooCommerceのコードを読むことを強くお勧めします。それは非常によくコメントされていて、あなたは彼らがどのように異なる製品タイプを扱っているかを見ることができます。
編集 商品タイプクラスにWC3.0互換性を追加しました。