영상 파일 rss 태그 변경

안녕하세요. Kboard 잘 사용하고 있습니다.

 

저희가 운영하는 웹사이트는 rss를 통해 타 제휴업체에 컨텐츠를 제공하고 있는데요.

이 때 이미지 파일은 정상적으로 연동이 되고 있지만 영상파일은 연동이 안되고 있습니다.

 

이유를 살펴보니, 이미지의 경우 rss 상에서 <img> 태그로 잘 반영되고 있지만

kboard에서 영상을 업로드할 경우('미더어 추가'를 통해) <video> 태그가 아닌 [video] 형식으로 발행되는 것을 확인했습니다.

즉, 숏코드 형식으로 발행되고 있는 것 같은데요. 그러다보니 제휴업체에서 컨텐츠를 가져갈 때도 [video]를 그냥 문자그대로 연동해가고 있습니다.

 

rss 상에서만 [video]를 정상적인 <video> 태그로 변환할 수 있도록 하는 방법이 없을까요?

좋은 정보와 인맥을 동시에, 워드프레스 사용자 단톡방 참여하기
좋은 정보와 인맥을 동시에, 워드프레스 사용자 단톡방 참여하기
  • 안녕하세요~^^

    게시글 작성 시 아래와 같은 형태로

    비디오 태그를 입력해보시겠어요?

    <video controls="" src="주소"></video>

     

    비디오 태그가 사라진다면

    관리자->KBoard->대시보드에서 XSS공격 차단을 비활성화 후

    작성해보세요.

    고맙습니다.

  • 안녕하세요.

    말씀주신대로 글 작성시

    <video width="840" height="1050" controls="" src="https://funnyissue.com/wp-content/uploads/2023/01/SerpentineHiddenComet.mp4" ></video>

    아래와 같이 입력해봤습니다.

    하지만 그랬더니 영상으로 나오지 않고 저 코드 그대로 글자만 출력 되고 있습니다ㅜ

    xss공격 차단도 비활성화했습니다.

  • 워드프레스 에디터를 사용하고 계시다면

    글 작성 시 우상단 탭에 비주얼 | 텍스트 중

    텍스트를 클릭하여

    p 태그 내부에 들어있는지 확인 해보시고

    p 태그를 삭제 후 video 태그만 남겨보시겠어요?

    고맙습니다.

  • 답변 감사합니다.

    네 <p> 태그가 적용되지 않은 걸 확인했는데도 그냥 글자로만 나오고 있습니다.

     

    제가 살펴보니 kboard를 사용하지 않더라도 일반적으로 워드프레스에서 classic editor를 사용할 경우 영상을 올리면 [video] 숏코드로 입력이 되더군요.

    그런데 신기한 것은 rss에서는 [video] 숏코드가 <video> 태그 형식으로 정상적으로 변환돼서 발행되는 것을 확인했습니다.

     

    즉, kboard 폴더에 있는 rss.php와는 달리 feed-rss2.php 파일에는 이부분을 변환해주는 것이 있는 것 같은데요.

    feed-rss2.php 파일의 컨텐츠 부문 코드를 보니 아래와 같았습니다.

    <?php if ( get_option( 'rss_use_excerpt' ) ) : ?>
    			<description><![CDATA[<?php the_excerpt_rss(); ?>]]></description>
    		<?php else : ?>
    			<description><![CDATA[<?php the_excerpt_rss(); ?>]]></description>
    			<?php $content = get_the_content_feed( 'rss2' ); ?>
    			<?php if ( strlen( $content ) > 0 ) : ?>
    				<content:encoded><![CDATA[<?php echo $content; ?>]]></content:encoded>
    			<?php else : ?>
    				<content:encoded><![CDATA[<?php the_excerpt_rss(); ?>]]></content:encoded>
    			<?php endif; ?>
    		<?php endif; ?>

     

    제 생각에는 get_the_content_feed라는 함수가 feed.php 파일에 있는데 이 함수가 [video]와 같은 것을 <video>로 바꿔주는게 아닌가 하는 생각이 드는데요.

    해당 함수 코드는 아래와 같습니다.

    function get_the_content_feed( $feed_type = null ) {
    	if ( ! $feed_type ) {
    		$feed_type = get_default_feed();
    	}
    
    	/** This filter is documented in wp-includes/post-template.php */
    	$content = apply_filters( 'the_content', get_the_content() );
    	$content = str_replace( ']]>', ']]&gt;', $content );
    
    	/**
    	 * Filters the post content for use in feeds.
    	 *
    	 * @since 2.9.0
    	 *
    	 * @param string $content   The current post content.
    	 * @param string $feed_type Type of feed. Possible values include 'rss2', 'atom'.
    	 *                          Default 'rss2'.
    	 */
    	return apply_filters( 'the_content_feed', $content, $feed_type );
    }

     

    따라서 이미 이렇게 워드프레스에 있는 rss 변환 함수를 kboard rss에도 적용시켜주면 해결이 되지 않을까 싶은데..

    어떻게 적용해야될지를 모르겠습니다

좋은 정보와 인맥을 동시에, 워드프레스 사용자 단톡방 참여하기