내 페이지 버전의 컨텐츠를 어떻게 제어 할 수 있습니까?


13

REST API에 대한 문서를 제공하는 WordPress 기반 웹 사이트가 있습니다. API가 지속적으로 변경되므로 문서도 변경됩니다. 그러나 API 커밋과 일치하도록 문서 버전을 제어하고 싶습니다. WordPress 페이지가 원격 저장소 (예 : GitHub)에서 콘텐츠를 가져 오는 방법이 있습니까? 아니면 일부 리포지토리에서 콘텐츠를 WordPress로 푸시하는 방법이 있습니까?

답변:


6

당신은 이미 이와 같은 것을 가지고 있습니다 : 개정 .

// Define the nr of saved revisions in your wp-config.php
define( 'WP_POST_REVISIONS', 30 );

당신은 단순히 호출하여 그들을 잡을 수 get_posts()로모그래퍼 post_typerevision.

두 개정판의 차이점을 표시하려면을 사용하십시오 wp_text_diff().

// Example
$revisions = get_posts( array(
    'post_type' => 'revision'
) );
echo wp_text_diff(
     $revisions[0]['post_content']
    ,$revisions[1]['post_content']
    ,array(
         'title'       => 'Revision diff'
        ,'title_left'  => $revisions[0]['post_title']
        ,'title_right' => $revisions[1]['post_title']
     )
);

예를 들어 마지막 버전을 마지막 이전 버전 end( $revisions )['post_content']과 비교하려면를 사용 하여 비교할 수 있습니다 $revisions[ count( $revisions ) -2 ]['post_content']. (참고 : -2배열 인덱스가 0으로 시작하고 마지막 이전 버전을 원할 때).


나는 개정의 아이디어를 좋아한다. 또한 널리 사용되는 플러그인 WP Document Revisions 가 개정 관리에 도움이 될 수 있습니다.
Anh Tran

@Rilwis 그때 대답해야합니다 :)
kaiser

5

Git 후크를 사용하여 XML-RPC 마다 WordPress에 게시 할 수 있습니다 . Git 후크는 PHP를 포함한 모든 실행 파일이 될 수 있습니다.

로 이동 : 또 다른 옵션 - - GitHub의에 이메일 후크 사용하는 것입니다 https://github.com/username/projectname/admin/hooks선택 이메일 과 블로그에 이메일을 보냅니다. 이메일 당 게시 기능을 사용하십시오 .


2
+1 이제 두 기능의 조합이 필요합니다 (OP에 의해 견고한 플러그인으로 구축).
kaiser
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.