WooCommerce では、チェックアウト確認メールと管理注文ページに注文詳細のメタデータを表示します
当社では「キット」と定義されている製品を多数ご用意しています。他の製品で構成された製品リストです。スイートを定義するデータはメタデータ配列に保存されます。製品ページとショッピング カートにメタデータを表示するフックを作成しました。 「注文完了メール」や「管理者注文ページ」でも同様の操作を行う必要があるのですが、やり方がわかりません。これは私が作成したフックです:
<pre class="brush:php;toolbar:false;">add_filter( 'bis_show_kit_meta', 'bis_show_kit_meta_contents', 10, 3 );
関数 bis_show_kit_meta_contents($productID)
{
グローバル $wpdb;
$postMeta = get_post_meta($productID,'',true);
if ((isset($postMeta['bis_kit_id'])) and ($postMeta['bis_kit_id'][0] > 1)) {
echo 'これは次のアイテムが含まれるキットです:<br>';
echo $postMeta['bis_kit_type'][0].'<br>';
foreach($postMeta as $kititem) {
foreach ($kititem as $value) {
$newvalue = unserialize($value);
if ($newvalue) {
$newvalue2 = unserialize($newvalue);
if($newvalue2['type']=="キットアイテム"){
echo '<li>' .$newvalue2['quantity']. ' -> ' .chr(9). $newvalue2['name']. '</li>';
}
}
}
}
}
}</pre>
現在の関数は、子テーマの対応するテンプレートにすでにフックされています。
同様の関数を <code>customer-completed-email.php</code> ファイルに適用する方法も、管理者の編集注文ページのどこにフックすればよいかもわかりません。
別の投稿で、必要なことと似たコードを見つけましたが、管理者の順序への変更がどのファイルに含まれているかわかりません。
私が見つけたコードは次のとおりです。
<pre class="brush:php;toolbar:false;">add_action('woocommerce_before_order_itemmeta','woocommerce_before_order_itemmeta',10,3);
function woocommerce_before_order_itemmeta($item_id, $item, $product){
...
}</pre>
アドバイスをいただければ幸いです