为了账号安全,请及时绑定邮箱和手机立即绑定

通过functions.php添加自定义字段

通过functions.php添加自定义字段

PHP
慕侠2389804 2021-09-18 20:20:23
我正在尝试在我的 Woocommerce 主题中的价格下方添加一个自定义字段。我能够使用以下方法添加简单的 html:add_action( 'woocommerce_before_add_to_cart_form', 'SomeName' );function SomeName() {echo '<p>Some Text Here</p>';}但我想做的是添加一个自定义字段键。我正在使用此代码放置自定义字段:<?php $naslov = get_post_meta($post->ID, 'Naslov', true);if ($naslov) { ?><h2 class="single-naslov-kat"><? echo $naslov; ?></h2><?php } else { // do nothing; }?>当我将它添加到 content-single-product.php 主题文件时,代码效果很好。但是我无法通过该文件将其添加到价格以下。我不知道如何通过functions.php 合并它。如果您对我如何在每个特定产品的价格下方添加自定义文本有任何其他建议也可以。任何帮助将不胜感激。
查看完整描述

1 回答

?
弑天下

TA贡献1818条经验 获得超8个赞

在你的主题functions.php中添加代码,


//create custom field

function cfwc_create_custom_field() {

  $args = array(

    'id' => 'custom_field',

    'label' => __( 'Custom Field', 'cfwc' ),

    'class' => 'cfwc-custom-field',

    'desc_tip' => true,

    'description' => __( 'Enter Custom Field Description.', 'ctwc' ),

  );

  woocommerce_wp_text_input( $args );

}

add_action( 'woocommerce_product_options_general_product_data', 'cfwc_create_custom_field' );


// save custom field

function cfwc_save_custom_field( $post_id ) {

  $link = wc_get_product( $post_id );

  $title = isset( $_POST['custom_field'] ) ? $_POST['custom_field'] : '';

  $link->update_meta_data( 'custom_field', sanitize_text_field( $title ) );

  $link->save();

}

add_action( 'woocommerce_process_product_meta', 'cfwc_save_custom_field' );




// display custom field in single.php page

add_action('woocommerce_before_add_to_cart_form','cmk_additional_button');

function cmk_additional_button() {

  global $product;

  $custom_field = $product->get_meta('custom_field');

  if(!empty($custom_field)) {

    echo "<a href='$custom_field' target='_blank'><button type='button' class='button alt'>Custom Field</button></a>";

  }

}


查看完整回答
反对 回复 2021-09-18
  • 1 回答
  • 0 关注
  • 159 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信