我想添加“We ship to {country name}
”in header based user geoip country name?“这句话的意思是:”We ship to WooCommerce header on user geoip country name?“
我想在我的WooCommerce商店的标题中写入html内容,例如我们发送到“您的国家名称”的。
如有任何帮助,我们将不胜感激。
我已经启用了WooCommerce地理定位。
发布于 2018-07-11 15:20:58
您可以通过以下方式制作基于WC_Geolocation
Class的自定义函数:
function get_user_geo_country(){
$geo = new WC_Geolocation(); // Get WC_Geolocation instance object
$user_ip = $geo->get_ip_address(); // Get user IP
$user_geo = $geo->geolocate_ip( $user_ip ); // Get geolocated user data.
$country = $user_geo['country']; // Get the country code
return WC()->countries->countries[ $country ]; // return the country name
}
代码放在活动子主题(或活动主题)的function.php文件中。经过测试,效果良好。
使用
您将在子主题的header.php
文件中添加以下代码:
1)在html代码之间:
<?php printf( '<p>' . __('We ship to %s', 'woocommerce') . '</p>', get_user_geo_country() ); ?>
2)或者在php代码之间:
printf( '<p>' . __('We ship to %s', 'woocommerce') . '</p>', get_user_geo_country() );
将此代码转换为短码的:
function get_user_geo_country(){
$geo = new WC_Geolocation(); // Get WC_Geolocation instance object
$user_ip = $geo->get_ip_address(); // Get user IP
$user_geo = $geo->geolocate_ip( $user_ip ); // Get geolocated user data.
$country = $user_geo['country']; // Get the country code
return sprintf( '<p>' . __('We ship to %s', 'woocommerce') . '</p>', WC()->countries->countries[ $country ] );
}
add_shortcode('geoip_country', 'get_user_geo_country');
代码放在活动子主题(或活动主题)的function.php文件中。经过测试,效果良好。
正常的快捷码使用(在后端文本编辑器中)
[geoip_country]
或者在php代码中:
echo do_shortcode( "[geoip_country]" );
https://stackoverflow.com/questions/51275007
复制相似问题