【问题标题】:Woocommerce Products Custom FieldWoocommerce 产品自定义字段
【发布时间】:2017-08-21 21:41:24
【问题描述】:

我已将自定义字段添加到我的 woocommerce 产品中,并且能够输入和填写产品的自定义字段数据。我现在正在尝试在我添加到 woocommerce 单一产品页面上的按钮中使用来自该自定义字段的数据。

自定义字段是产品示例的 URL。然后,我尝试在 woocommerce 单一产品页面上添加一个“查看产品示例”按钮,该按钮导航到在自定义字段中输入的 url。这是我的代码:

// Display Fields
add_action( ‘woocommerce_product_options_general_product_data’, ‘woo_add_custom_general_fields’ );

// Save Fields
add_action( ‘woocommerce_process_product_meta’, ‘woo_add_custom_general_fields_save’ );

function woo_add_custom_general_fields() {

global $woocommerce, $post;

// Text Field
woocommerce_wp_text_input(
array(
‘id’ => ‘product_sample’,
‘label’ => __( ‘Sample Product Link’, ‘woocommerce’ ),
‘placeholder’ => ‘http://’,
‘desc_tip’ => ‘true’,
‘description’ => __( ‘Enter the sample product link here.’, ‘woocommerce’ )
)
);
}
function woo_add_custom_general_fields_save( $post_id ){

// Textfield
$woocommerce_text_field = $_POST[‘product_sample’];
if( !empty( $woocommerce_text_field ) )
update_post_meta( $post_id, ‘product_sample’, esc_html( $woocommerce_text_field ) );

}

add_action(‘woocommerce_after_add_to_cart_button’,’cmk_additional_button’);
function cmk_additional_button() {

 echo '<a href="CONTENT OF CUSTOM FIELD - URL" target="_blank" button 
type="submit" class="button sample">View Product Sample</a>';

}

我需要帮助确定如何将我的自定义字段元数据放入代码末尾回显的按钮的链接中。

感谢任何人提供的任何帮助。

【问题讨论】:

    标签: php wordpress woocommerce hook-woocommerce


    【解决方案1】:

    您可以为此使用 ACF 插件并在单个产品页面上调用简码 参考网址:http://blog.adlivetech.com/get-custom-fields-woocomerce/

    【讨论】:

      【解决方案2】:

      你需要这样使用get_post_meta()函数:

      add_action( 'woocommerce_after_add_to_cart_button', 'cmk_additional_button' );
      function cmk_additional_button() {
          global $post;
      
          $url = get_post_meta( $post->ID, 'product_sample', true );
      
           echo '<a href="'.$url.'" target="_blank" button type="submit" class="button sample">View Product Sample</a>';
      
      }
      

      代码进入活动子主题(或主题)的functions.php文件或任何插件文件中。

      这应该可行。

      在您的问题代码中,您使用的是 ,您应该将它们替换为 '以避免 php 错误 >.

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2018-01-10
        • 2015-07-04
        • 1970-01-01
        • 1970-01-01
        • 2021-04-16
        • 2019-06-25
        • 2016-04-24
        • 1970-01-01
        相关资源
        最近更新 更多