WordPress开发-在WooCommerce插件中添加自定义字段

释放双眼,带上耳机,听听看~!

上文提到,无言创建了一个叫$amazon_link的函数。

[WordPress开发]如何修改“添加到购物车”按钮的文字和链接

最近无言开始研究wordpress开发主题,使用WooCommerce商城插件时,发现产品列表页和详情页都显示

这个函数的作用是让产品跳转到自定的亚马逊购买页面,那么要如何在WooCommerce插件中添加一个这样的自定义字段呢,下面无言就来讲讲。

本文参考Brain的技术笔记的文章,文章名:WordPress后台定制-为WooCommerce产品增加自定义字段

以下代码放入主题functions.php的文件中。

WordPress后台-为WooCommerce产品中加入一个输入框

下面代码生成的效果将出现在WooCommerce产品-产品数据-常规

// WordPress后台定制-为WooCommerce产品增加自定义字段
add_action( 'woocommerce_product_options_general_product_data', 'woo_add_custom_general_fields' );
function woo_add_custom_general_fields() {
	global $woocommerce, $post;
	echo '<div class="options_group">';
	woocommerce_wp_text_input( 
		array( 
			'id'          => 'amazon_link', //自定义字段的id
			'label'       => __( '亚马逊链接', 'woocommerce' ), //自定义字段在后台显示的名字
			'placeholder' => '添加亚马逊的购物链接',
			'desc_tip'    => 'true',//如果有了这一行,字段输入框后面会多出一个问号小图标,description的值会在鼠标移到小图标的时候显示
			'description' => __( '请填写此产品的购买链接.', 'woocommerce' ) 
			)
		);
	echo '</div>';
}

WordPress后台-保存该输入框的数据

这里需要注意,保存的值是你前面新增字段的id,我的字段名称是amazon_link,那就要保存这个名称获取的值

// WordPress后台定制-存储WooCommerce产品自定义字段
add_action( 'woocommerce_process_product_meta', 'woo_add_custom_general_fields_save' );
function woo_add_custom_general_fields_save( $post_id ){
	$woocommerce_amazon_link = $_POST['amazon_link'];
	if( !empty( $woocommerce_amazon_link ) ){
		update_post_meta( $post_id, 'amazon_link', esc_attr( $woocommerce_amazon_link ) );
	}else { 
		delete_post_meta( $post_id, $meta_key); 
	}
 
	//对于checkbox,可以这么写
	$woocommerce_checkbox = isset( $_POST['_checkbox'] ) ? 'yes' : 'no';
	update_post_meta( $post_id, '_checkbox', $woocommerce_checkbox );
}

输出方法

后台添加好字段并能保存后,那么就需要让该字段内容在前端显示出来了

echo get_post_meta( $post->ID, '_pro_mainStone', true );
echo get_post_meta( get_the_ID(), '_pro_mainStone', true );

无言在前文中提到的$amazon_link此函数就是为了获取这个后台添加的链接

$amazon_link =  get_post_meta( get_the_ID(), 'amazon_link', true );

当然表单中还经常会用到下拉框,代码如下

woocommerce_wp_select( 
array( 
	'id'          => 'Custom_fields', //自定义字段的id
	'label'       => __( '自定义名称', 'woocommerce' ), //自定义字段在后台显示的名字
	'options' => array( //定义各个选项
		'xx' => __( 'xx', 'woocommerce' ),
		'xx' => __( 'xx', 'woocommerce' ),
		)
	)
);

人已赞赏
WordPress教程

[WordPress开发]如何修改“添加到购物车”按钮的文字和链接

2020-2-11 11:44:00

WordPress教程

[WP技巧]隐藏WordPress主题或插件的更新提示

2020-2-18 10:11:18

无言资源博客
0 条回复 A文章作者 M管理员
    暂无讨论,说说你的看法吧
个人中心
购物车
优惠劵
今日签到
有新私信 私信列表
搜索