URL-адрес cdn плагина общего кеша W3 не работает с темой woo

В настоящее время я пытаюсь заставить W3 Total Cache работать на веб-сайте WordPress и заметил довольно странное поведение при отправке запроса URL-адреса CDN.

Я использую облачный cdn и указываю его на CNAME (cdn.test.com), указывающий на URL-адрес облачного фронта.

Теперь все изображения, css и javascript, которые не являются частью темы, правильно отображаются с URL-адресом CDN CNAME.

example: http://cdn.test.com/wp-content/2015/01/image-150X150.jpg
http://cdn.test.com/wp-includes/base/css/style.css
http://cdn.tes.com/wp-includes/base/js/home.js

(Могу ли я также добавить, что это также происходит с URL-адресом cloudfront.) Но когда дело доходит до css и javascript, которые являются частью темы woo, он отображается следующим образом.

http://cdn.test.com/http://example.com/wp-content/themes/test-theme/js/theme.js
http://cdn.test.com/http://example.com/wp-content/themes/test-theme/css/theme.css

Я обсудил этот вопрос с разработчиками темы и другими заинтересованными лицами, но от них мало что вышло.

Я рассмотрел различные варианты, такие как использование preg_replace, чтобы сопоставить появление странного URL-адреса и заменить его пустой строкой.

Однако это не сработало, потому что я, вероятно, использовал/вызывал неправильное действие add_action или add_filter из справочной документации https://support.woothemes.com/hc/en-us/articles/203106877-Canvas-Hook-Filter-Reference и wordpress (я имею в виду wp_head или wp_footer).

Как вы, возможно, поняли, у меня нет опыта работы с wordpress, и я прошу вас помочь объяснить, что происходит или не так с этим, и возможные способы, которыми я могу решить этот вопрос.

Спасибо за вашу помощь.


person Ikenna    schedule 22.04.2015    source источник


Ответы (1)


Наконец, отследите и устраните эту проблему с помощью этого кода:

add_filter('w3tc_cdn_url', 'fix_host_in_cdn_url',10,3);
function fix_host_in_cdn_url($content) {
  $content = preg_replace("/(\/http?:\/\/[\da-z\.-])/", '', $content);
  return $content;
}
person Ikenna    schedule 30.04.2015