Php 如何替换文本&;短代码输出中的URL
我正在尝试向我的WordPress博客添加一个自定义功能,如果访问者的地理位置位于加拿大,则在所有帖子文本和/或超链接中将“bigalspets.com”替换为“bigalspets.ca”Php 如何替换文本&;短代码输出中的URL,php,wordpress,post,geolocation,geoip,Php,Wordpress,Post,Geolocation,Geoip,我正在尝试向我的WordPress博客添加一个自定义功能,如果访问者的地理位置位于加拿大,则在所有帖子文本和/或超链接中将“bigalspets.com”替换为“bigalspets.ca” 如果访问者IP=Canadian,则在所有呈现的帖子内容(包括其他插件生成的链接和内容!)中将“bigalspets.com”替换为“bigalspets.ca” 我正在使用获取GeoIP信息,使用代码片段插件添加仅在网站前端运行的自定义函数 到目前为止,我的职能是: function replace_
- 如果访问者IP=Canadian,则在所有呈现的帖子内容(包括其他插件生成的链接和内容!)中将“bigalspets.com”替换为“bigalspets.ca”
function replace_if_canada( $text ) {
$geoip = geoip_detect2_get_info_from_current_ip();
if ( $geoip->country->isoCode == 'CA' ) {
return str_replace('bigalspets.com', 'bigalspets.ca', $text);
}
}
function replace_if_canada_shortcodes( $output ) {
$geoip = geoip_detect2_get_info_from_current_ip();
if ( $geoip->country->isoCode == 'CA' ) {
echo str_replace('bigalspets.com', 'bigalspets.ca', $output);
}
}
add_filter('the_content', 'replace_if_canada', 999);
add_filter('do_shortcode_tag', 'replace_if_canada_shortcodes', 999);
这是一个WP帖子的url,该函数应该在这里工作:
问题:我的代码中的“如果加拿大的话替换短代码”部分不起作用,即代码替换正常帖子内容中的文本/URL,但不替换Image Map Pro短代码输出中的文本/URL强>
如果将鼠标悬停在内容体中图像地图上的一个小“i”图标上,您将看到产品URL。这些并没有从.com变为.ca
如何使函数应用于所有帖子和页面上的所有内容。请帮忙(