Hello SoundCloud团队:)
当通过SoundCloud Shortcode plugin将SoundCloud项目嵌入WordPress时,iframe的src
为set to w.soundcloud.com/player?url=...
。显然,正确的URL是w.soundcloud.com/player/?url=...
(带有斜杠)。
通过HTTPS投放网页时,iframe的非尾随删除src
方案已正确设置为https
。但是,非traling-slashed https URL会被重定向到尾随的 http URL,这会导致混合内容错误并阻止嵌入加载。
$ curl -IL 'https://w.soundcloud.com/player?url=https%3A//api.soundcloud.com/tracks/142702630&auto_play=false&hide_related=false&visual=true'
HTTP/1.1 301 Moved Permanently
Location: http://w.soundcloud.com/player/?url=https%3A//api.soundcloud.com/tracks/142702630&auto_play=false&hide_related=false&visual=true
...
HTTP/1.1 302 Found
Location: https://w.soundcloud.com/player/?url=https%3A//api.soundcloud.com/tracks/142702630&auto_play=false&hide_related=false&visual=true
...
HTTP/1.1 200 OK
...
以下一个(或两个)可以解决问题。
答案 0 :(得分:1)
我挖了一下,发现了相同的答案:
https://wordpress.org/support/topic/shortcode-does-not-work-with-website-ssl
我可以说,如果您在WordPress上通过SSL遇到SoundCloud问题,请添加' /'推荐的字符,问题就消失了。也就是说,更改soundcloud_iframe_widget()
功能中的网址以添加' /'在尾随之前'?'在
// Build URL
$url = 'https://w.soundcloud.com/player/?' . http_build_query($options['params']);
文件中的
$WORDPRESS_HOME/wp-content/plugins/soundcloud-shortcode/soundcloud-shortcode.php
它对我来说很好。
答案 1 :(得分:1)
按照建议添加'/'字符,问题就会消失。也就是说,改变soundcloud_iframe_widget()函数中的URL,在尾随'?
之前添加'/'
谢谢!与chrome和safari完美配合,但我仍然遇到firefox的问题。但这样做可以解决问题:
$url = 'https://w.soundcloud.com/player/' . '?' . http_build_query($options['params']);