2013-07-17 4 views
0

IFTTT.com을 사용하여 YouTube 비디오를 Wordpress로 가져옵니다. 가져올 요소 중 하나는 YouTube 동영상의 URL입니다. 내 테마가 포함 된 비디오를 표시하는 데 필요한 사용자 정의 필드에이 URL을 복사하고 싶습니다. 나는 임베디드 비디오를 IFTTT에서 내 포스트로 가져올 수 있다는 것을 알았지 만 자신이 만든 비디오 내장 된 사용자 정의 필드를 사용할 때 내 테마에서 제공하는 포맷을 선호합니다.게시물의 URL을 Wordpress의 사용자 정의 필드로 복사

예 : 게시물에 수입

URL은 다음과 같습니다

http://www.youtube.com/watch?v=qCVQpcY1au4

내가 복사해야합니다 (예를 들어 내가 비디오 선택을 너무 많이 성가 시게하지 않는다 희망 IFTTT에서 촬영) this VideoEmbedCustomField to this : http://www.youtube.com/embed/qCVQpcY1au4

불행히도 작업 할 코드가 없습니다. 게시물을 업데이트하는 플러그인을 찾고있었습니다. 도움이나 조언을 주시면 감사하겠습니다.

  1. IFTTT.com을 사용하여 YouTube에서 Wordpress 게시물로 비디오를 가져옵니다. 이 작동합니다.
  2. 가져 오기에, 나는 URL이이

    http://www.youtube.com/embed/qCVQpcY1au4 
    

    에 대한 링크를 변환하고 그것을 삽입합니다 존재하는 경우 게시물

    example: <a href="http://www.youtube.com/embed/qCVQpcY1au4" id="youtubelink" class="ytlink">YouTube Link</a> 
    
  3. 에 가져온 URL을 인식 할 수있는 기능이 필요합니다 맞춤 입력란

+0

그래서 첫 번째 URL (v = blah 포함)을 두 번째 (/ embed/blah)로 변환해야합니다. –

+0

맞습니다. URL을 변형해야합니다. 첫 번째 URL은 게시물 본문에 있습니다. 클래스 나 ID를 추가 할 수 있습니다. 내가 복사 및 변환하고 사용자 정의 필드에 게시물 에이 URL을 작성하는 방법이 필요합니다. 이는 YouTube에서 "This This Then That"을 통해 게시물을 가져올 때 발생하는 것이 바람직합니다. – belakbox

답변

2

따라서 변환을 수행하려면 적절한 위치에 함수가 필요합니다. GEX는 :

public static function convertYouTube($original) { 
    $pattern = '/http:\/\/www\.youtube\.com\/watch\?v=([\w]+)/'; 
    $replacement = 'http://www.youtube.com/embed/${1}'; 
    return $embedLink = preg_replace($pattern,$replacement,$original); 
} 

pattern은 캡처하려는 입력의 어떤 부분을 지시한다. 이 경우 ([\w]+) 조항입니다. 대략 하나 이상의 영숫자 문자 시퀀스를 잡아내어 귀하의 (적절하게 이스케이프 처리 된) 상수 YouTube URL을 따르게됩니다.

preg_replace은 나머지 부분을 잡고 교체하는 부분을 차지할 수있는 PHP 함수입니다. 이제 제대로 변환 된 URL이 있으므로 필요한 모든 필드에 URL을 넣을 수 있습니다.

관련 문제