SKUは、カテゴリー、タグのような他のデータとテンプレートsingle-product/meta.phpに表示されている...
ステップ1 - あなたはこのテンプレートから削除する必要があります。
overriding this woocommerce template via your themeは、yourtheme/woocommerce/single-product/meta.phpにコピーすることで実行できます。 - 価格の順序を変更し、別の場所に戻ってSKUを置くコード
<?php
/**
* Single Product Meta
*
* This template can be overridden by copying it to yourtheme/woocommerce/single-product/meta.php.
*
* HOWEVER, on occasion WooCommerce will need to update template files and you
* (the theme developer) will need to copy the new files to your theme to
* maintain compatibility. We try to do this as little as possible, but it does
* happen. When this occurs the version of the template file will be bumped and
* the readme will list any important changes.
*
* @see https://docs.woocommerce.com/document/template-structure/
* @author WooThemes
* @package WooCommerce/Templates
* @version 3.0.0
*/
if (! defined('ABSPATH')) {
exit;
}
global $product;
?>
<div class="product_meta">
<?php do_action('woocommerce_product_meta_start'); ?>
<?php echo wc_get_product_category_list($product->get_id(), ', ', '<span class="posted_in">' . _n('Category:', 'Categories:', count($product->get_category_ids()), 'woocommerce') . ' ', '</span>'); ?>
<?php echo wc_get_product_tag_list($product->get_id(), ', ', '<span class="tagged_as">' . _n('Tag:', 'Tags:', count($product->get_tag_ids()), 'woocommerce') . ' ', '</span>'); ?>
<?php do_action('woocommerce_product_meta_end'); ?>
</div>
ステップ2:
一度SKUの一部を削除し、テンプレートコードは次のようになります。
まず、既存のコードを削除する必要があります(ここに含まれています)。
add_action('woocommerce_single_product_summary', 'custom_single_product_summary_actions', 1);
function custom_single_product_summary_actions(){
// Reordering the price (done by you)
remove_action('woocommerce_single_product_summary', 'woocommerce_template_single_price', 10);
add_action('woocommerce_single_product_summary', 'woocommerce_template_single_price', 45);
// Put back the SKU:
add_action('woocommerce_single_product_summary', 'woocommerce_single_custom_sku', 9);
function woocommerce_single_custom_sku(){
global $product;
if (wc_product_sku_enabled() && ($product->get_sku() || $product->is_type('variable'))) :
?>
<p><span class="sku_wrapper"><?php esc_html_e('SKU:', 'woocommerce'); ?> <span class="sku"><?php echo ($sku = $product->get_sku()) ? $sku : esc_html__('N/A', 'woocommerce'); ?></span></span></p>
<?php
endif;
}
}
この機能は、あなたのアクティブな子テーマ(またはテーマ)のfunction.phpファイルに入るか、また、どのプラグインファイル内:ここ
コードがあります。
すべてのコードは、Woocommerce 3+でテストされ、動作します。
Woocommerceファイルを直接編集していますか?これを行う正しい方法は、あなたのテーマのwoocommerceテンプレートを上書きすることです。https://www.skyverge.com/blog/how-to-override-woocommerce-template-files/ –
SKUはテンプレート[タグ、カテゴリなどの他のデータとの単一製品/ meta.php(https://github.com/woocommerce/woocommerce/blob/release/3.1/templates/single-product/meta.php)... これを削除してください(あなたのテーマを使ってこのwoocommerceテンプレートを上書きする)(https://docs.woocommerce.com/document/template-structure/)。あなたのために便利なフックされた機能に戻してください。 – LoicTheAztec
いいえ、私は直接Woocommerceファイルを編集していません。私は私のテーマフォルダ内のfunctions.phpファイルにコードを追加するだけです。 Woocomerce /テーマの更新中にも私が持っているすべてのコードを追跡するためのプラグインがあります。 – Michael