如何在Wordpress WooCommerce中的产品标题下方添加自定义字段文本

时间:2018-07-12 06:36:35

标签: php wordpress woocommerce custom-fields

在WooCommerce中,我想向产品显示中添加自定义文本,该文本将从产品编辑页面的自定义字段中获取。

这是现在的样子:

您可以在下面看到带有标题的产品:

screenshot - front products page

Website link

screenshot - back admin page

add_action( 'woocommerce_after_shop_loop_item_title', 'custom_field_display_below_title', 2 );
function custom_field_display_below_title(){
  global $product;

  // Get the custom field value
  $custom_field = get_post_meta( $product->get_id(), '_custom_product_text_field', true );

  // Display
  if( ! empty($custom_field) ){
    echo '<p class="my-custom-field">'.$custom_field.'</p>';
  }
}

1 个答案:

答案 0 :(得分:1)

您需要将完整的代码添加到主题的'functions.php'。

     "Travel & Hospitality"

您的自定义字段ID在此处为// Display Fields add_action('woocommerce_product_options_general_product_data', 'woocommerce_product_custom_fields'); // Save Fields add_action('woocommerce_process_product_meta', 'woocommerce_product_custom_fields_save'); function woocommerce_product_custom_fields() { global $woocommerce, $post; echo '<div class="product_custom_field">'; // Custom Product Text Field woocommerce_wp_text_input( array( 'id' => '_custom_product_text_field', 'placeholder' => 'Custom Product Text Field', 'label' => __('Custom Product Text Field', 'woocommerce'), 'desc_tip' => 'true' ) ); echo '</div>'; } function woocommerce_product_custom_fields_save($post_id) { // Custom Product Text Field $woocommerce_custom_product_text_field = $_POST['_custom_product_text_field']; if (!empty($woocommerce_custom_product_text_field)) update_post_meta($post_id, '_custom_product_text_field', esc_attr($woocommerce_custom_product_text_field)); // Custom Product Number Field $woocommerce_custom_product_number_field = $_POST['_custom_product_number_field']; if (!empty($woocommerce_custom_product_number_field)) update_post_meta($post_id, '_custom_product_number_field', esc_attr($woocommerce_custom_product_number_field)); // Custom Product Textarea Field $woocommerce_custom_procut_textarea = $_POST['_custom_product_textarea']; if (!empty($woocommerce_custom_procut_textarea)) update_post_meta($post_id, '_custom_product_textarea', esc_html($woocommerce_custom_procut_textarea)); } ,您可以在产品模板的循环中显示_custom_product_text_field之类的数据(可能会覆盖“ woocommerce / single-product.php”)。

如果WordPress在更新“ functions.php”时返回错误,请尝试通过FTP上传或使用某些文件管理器插件。