2015-01-30 4 views
0

WP 사이트를 개발하고 있습니다. 콘텐츠에 내장 된 플레이어에 soundcould 콘텐츠를 표시하고 싶습니다. 기본적으로 쿼리 인수는 visible-true입니다. 내가 필요한 것은 이것을 false로 설정하는 것입니다. 그래서 oembed_fetch_url 필터를 시도하고 있지만 이벤트 호출이 아닙니다. 전 Google에서 검색했습니다.이 필터가 호출 될 때 정보가 없습니다. 나는 그것이 작동하는지 확인하기 위해 이것을 시도했다 :WordPress oembed_fetch_url 필터가 호출되지 않았습니다.

function soundcloud_url_change($provider, $url, $args) { 
     return "somedummyurl.com"; 
    } 
    add_filter('oembed_fetch_url', 'soundcloud_url_change', 10, 3); 

URL은 정확했다. 그래서 나는 oembed url을 조작하는 방법을 모른다.

당신은 아마 필터에 후크 싶어
+0

문제를 해결 했습니까? 아니면 도움이 필요합니까? 호기심이 있다면 ... – RyGuy

+0

Nope. RyGuy의 대답이 효과가 있다는 것을 알고 있지만, 그렇게하는 것은 추한 방법입니다. 깨끗한 URL로 작업하는 것이 훨씬 쉬울 것입니다. RyGuy가 제공 한 솔루션은 html – Swagger

+0

에서 URL을 추출 할 것으로 예상되므로 지금 약간 혼란 스럽습니다. oembed_fetch_url을 사용하면 출구로 나가기 위해 URL에 인수를 전달하고있는 것으로 보입니다. 서비스에서 URL을 인수 한 후 URL에 인수를 추가하고 싶지 않으십니까? 제 경우에는 YouTube 만 다루므로 URL을 필터링하는 것은 간단합니다. 이것은 흥미 롭습니다. 왜냐하면 저는 결과에 대해서만 인출 할 때 행운을 가져야 할 행운이 없었기 때문입니다. – RyGuy

답변

0

: 나는 유튜브 삽입의 URL을 수정할 필요하고이 블록에 결국

oembed_result은 :

function mod_oembed_youtube_url($html,$url,$args){ 
    if(strpos($html, 'youtu.be') !== false || strpos($html, 'youtube.com') !== false){ 
     $out = preg_replace("@src=(['\"])?([^'\">\s]*)@", "src=$1$2&rel=0", $html); 
     return $out; 
    } 
    return $html; 
} 
add_filter('oembed_result','mod_oembed_youtube_url',10,3); 

이것은 분명히 더있을 수 효율적이고 YouTube에만 적합하지만 잘하면 올바른 방향으로 인도 할 수 있습니다.

/wp-includes/class-oembed.php Line: 126 
0

워드 프레스 실제로 가져 오기의 결과를 캐시, 그래서 당신이에 실행하는 경우, 그것은 필터에 도달하기 전에 마크 업에서 발견 있기 때문에 short-circuiting을의 수 : 참고로, oembed_result는에 캐시. Check out this을 사용하여 캐시가 지워지고 필터가 실행되지 않는지 확인하십시오.

그렇다면 YouTube는 전송하는 검색어 모음을 모두 제거하므로 여기에 나열된 YouTube 답변에 대한 다른 답변을 구체적으로 사용해야합니다.

관련 문제