当我们安装主题和插件时,都会向…
近期研发小程序遇到的问题是,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开源程序服务经验,我们一直在坚持客户体验,没有最好,只有更好!