当前位置: 首页 > 知识库问答 >
问题:

在产品页面元框中获取WooCommerce产品SKU

洪博艺
2023-03-14

我在WooCommerce的后端有一个自定义元框。目前,我已将其设置为显示单个产品页面中的一些数据。

我用过

我真的希望能够在这个元框中显示SKU,但是我所尝试的一切都破坏了页面。

我尝试添加

我只需要将库存选项卡上的sku值传递给同一管理页面上的元框。

其他人能用这个吗?谢谢


共有3个答案

吴缪文
2023-03-14

您是否将$product变量设置为全局变量(global$product;)?已经有人提到过了。

比如:

global $product;
echo 'SKU: ' . $product->get_sku();
呼延鸿畅
2023-03-14

非常感谢。

下面的代码部分你建议它现在在插件内部工作。

global $post;

$product_sku = get_post_meta( $post->ID, '_sku', true );

当我回声$product_sku时,它返回值。

颛孙庆
2023-03-14

您可以尝试通过以下方式在常规选项产品页面上插入新的metabox SKU字段:

add_action( 'woocommerce_product_options_general_product_data', 'add_the_sku_to_general_product_field' );
function add_the_sku_to_general_product_field() {
    global $post;

    $product_sku = get_post_meta( $post->ID, '_sku', true );

    echo '<div class="options_group">';

    woocommerce_wp_text_input( array(
        'id'                => '_sku',
        'label'             => __( 'SKU', 'woocommerce' ),
        'placeholder'       => '',
        'description'       => __( 'Enter the SKU', 'woocommerce' )
    ) );

    echo '</div>';

}

// Saving the Custom Admin Field in general tab products pages when submitted
add_action( 'woocommerce_process_product_meta', 'save_the_sku_to_general_product_field' );
function save_the_sku_to_general_product_field( $post_id ){

    $wc_field = $_POST['_sku'];

    if( !empty($wc_field))
        update_post_meta( $post_id, '_sku', esc_attr( $wc_field ) );
}

或者只是显示SKU…

使用此代码:

add_action( 'woocommerce_product_options_general_product_data', 'add_the_sku_to_general_product_field' );
function add_the_sku_to_general_product_field() {
    global $post;

    $product_sku = get_post_meta( $post->ID, '_sku', true );

    echo '<div class="options_group">';

    echo '<p class="form-field _sku_product "><label for="_sku_product">SKU: </label><span style="font-size:120%;">'.$product_sku.'</span></p>';

    echo '</div>';

}

由于我不使用你的插件,我不保证这应该工作,但你应该尝试一下。

该代码位于活动子主题(或主题)的function.php文件或任何插件文件中。

参考资料:

  • 在管理元框字段中更新产品后元数据
  • 向档案类别页面添加自定义字段外部链接
 类似资料:
  • 在函数的单个产品页面中获取产品的SKU时,我遇到了很多麻烦。php。我有多个单一产品页面,我希望根据产品显示不同的文本。我已经创建了一个子主题,我正在处理函数。php文件。我不熟悉wordpress和编辑主题,所以我还不太了解操作顺序。我能够让代码循环运行,并为所有产品提供所有SKU,但这与我所处的实际页面无关。 我试过很多东西。常见的解决方案似乎是: 但那不起作用。由于某些原因,$producs

  • 对于我的WC产品页面,我需要向body标记添加一个类,以便执行一些自定义样式。这是我为这个创建的函数。。。 …但是我怎么才能拿到猫的身份证呢?

  • 我目前正在处理一个WooCommerce主题,并试图在产品详细信息页面中添加一个侧栏。 我已经能够添加侧边栏(特别是这个:http://woocommerce.wp-a2z.org/oik_file/templatescontent-widget-product-php/) 现在,我正在想如何在当前选择的产品中添加一类“活动”,但似乎无法解决? 换言之,如果当前产品id等于侧栏中的产品id,我该如

  • 我试图通过WoodPress主题中的一个函数从WooCommerce获取产品类别 上面的代码返回一些产品,但是产品类别。 当我包括

  • 我试图在变体下拉列表中显示产品变体价格。我试图改变默认的行为,当你在下拉列表中选择一个变量时,价格显示在div中。 问题是我找不到那个部门的变动价格。我搜索了所有的javascript,但找不到它 如果我使用: 我只得到所有选项的最小变化价格。我想知道每种变体的价格。有线索吗?

  • 问题内容: 在Woocommerce中,我试图获取产品自定义属性值,但我失败了,我一无所获。 所以我尝试了: 我正在获取这些原始数据: 我知道有一个值,因为它显示在属性部分,但是我只是找不到一种方法来将其显示在我的自定义代码中。 问题答案: 编辑* : 自Woocommerce版本3起已弃用 * 按照@datafeedr在他的答案中写道: 甚至更紧凑: 原始答案: