个性化阅读
专注于IT技术分析

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

我正在尝试在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


在主题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>";
  }
}
赞(0)
未经允许不得转载:srcmini » 通过functions.php添加自定义字段

评论 抢沙发

评论前必须登录!