17713433920 info@mac163.com
Wordpress Cdn 全局媒体网址
WordPress Cdn 全局媒体网址

近期研发小程序遇到的问题是,W3 Total Cache 的 CDN 配置无法延伸至Rest API里面。WP Rest API 给到的 JSON 里面的媒体没有改变成CDN网址。 这里我们使用的是回源性质的CDN,所以需要保留原网域的媒体网址,但在wordpress template或API JSON里提供到的网址全部变成CDN网址:

global $DOMAIN_ORIGINAL;
global $DOMAIN_CDN;
 
$DOMAIN_ORIGINAL = 'https://domain.com';
$DOMAIN_CDN = 'https://cdn.domain.com';
 
# 额外
function cdn_attachments_urls($url, $post_id)
{
global $DOMAIN_ORIGINAL;
global $DOMAIN_CDN;
 
return str_replace($DOMAIN_ORIGINAL.'/wp-content/uploads', $DOMAIN_CDN.'/wp-content/uploads', $url);
}
add_filter('wp_get_attachment_url', 'cdn_attachments_urls', 10, 2);

额外附上 ACF 的 CDN 媒体网址更改:

global $DOMAIN_ORIGINAL;
global $DOMAIN_CDN;
 
$DOMAIN_ORIGINAL = 'https://domain.com';
$DOMAIN_CDN = 'https://cdn.domain.com';
 
# ACF
function fz_acf_format_value( $value, $post_id, $field )
{
global $DOMAIN_ORIGINAL;
global $DOMAIN_CDN;
 
if(is_array($value))
{
$value['url'] = str_replace($DOMAIN_ORIGINAL.'/wp-content/uploads', $DOMAIN_CDN.'/wp-content/uploads', $value['url']);
if(isset($value['sizes']) && !empty($value['sizes'])){
foreach($value['sizes'] as $key=>$size){
$value['sizes'][$key] = str_replace($DOMAIN_ORIGINAL.'/wp-content/uploads', $DOMAIN_CDN.'/wp-content/uploads', $size);
}
}
}else{
$value = str_replace($DOMAIN_ORIGINAL.'/wp-content/uploads', $DOMAIN_CDN.'/wp-content/uploads', $value); 
}
return $value;
}
add_filter('acf/format_value/type=image', 'fz_acf_format_value', 9999,9999);
add_filter('acf/format_value/type=file', 'fz_acf_format_value', 9999,9999);

微信二维码

微信扫描二维码联系我们!
我们在微信上24小时期待你的声音
提供外贸路由器设备产品,轻松翻墙,解答:WP主题推荐,WP网站建设,Google SEO,百度SEO,专业服务器环境搭建等!


需要提供WordPress主题/插件的汉化服务可以随时联系我们!另外成品WordPress网站以及半成品WordPress网站建设,海外Google SEO优化托管服务,百度SEO优化托管服务,Centos/Debian服务器WP专用环境搭建,WP缓存服务器搭建,我们都是你的首选,拥有多年WP开源程序服务经验,我们一直在坚持客户体验,没有最好,只有更好!
回到顶部