
자신의 블로그에 올리고자 하는 포스트가 다른곳에서 퍼오거나 개인목적의 포스트라면 XML에 까지 포함시키기가 꺼림직 할 것이다. 그래서 델버님의 '글을 XML에 포함 안시키기'팁을 적용하여 사용하였지만, 공개+싱크 예약을 할경우 RSS업데이트는 항상 수동으로 해주어야 한다는 불편함이 있어 예약에서 '공개+싱크'로 작성 할 경우 + RSS까지 되도록 만들어 보았다.
좌측에 있는 그림은 본인의 태터 포스트 입력창이다. 여러가지 기능이 애드온 되어 있으므로 등록예약 항목만 참고하기 바란다.
이 기능을 에드온 하려면 첫번째로 델버님의 글을 XML에 포함 안시키기가 적용되어 있어야 한다. 그리고 다음의 코드를 추가해 보자.
편집할 파일은 inc_function.php, article_edit.php 두개이다.
※ 백업필수
article_edit.php 250열 부근에 아래의 코드를 찾는다.(article_edit.php 수정은 하지 않아도 무방함)
<td><input type="radio" value="0" name="subscription">수동으로 처리 / 생성시각에 <input type="radio" value="1" name="subscription">공개 <input type="radio" value="2" name="subscription">공개+싱크</td>
이것을 아래처럼 수정한다.
<td><input type="radio" value="0" name="subscription">수동 / 예약 <input type="radio" value="1" name="subscription">공개 <input type="radio" value="2" name="subscription">공개+싱크+RSS</td> <!-- 공개+싱크+RSS 예약 추가 -->
inc_function.php1500열 부근에 function set_article_sync에서 아래의 코드를 찾는다.
if ($mode && !$is_public) $add_query = " , is_public = '1'";
그 아래 줄에 다음처럼 추가해 준다.
if ($mode && !$is_public) $add_query = " , is_public = '1' and perm_xml = '1'"; // 공개+싱크+RSS 예약 추가
이상이다. 소스가 난해하여 각종 버그가 일어날 소지가 다분하다. 버그리포트는 이곳에 남겨주기 바란다.
※ 예약 이벤트 발생시 Warning: Missing argument 4 for set_article_xml() in... 에러가 뜹니다. 에러가 한번 뜨고 난 이후에는 정상적으로 작동 하지만 껄끄럽군요. 버그를 잡아 보도록 하겠습니다.
※ 싱크를 하면 RSS에 추가되고 퍼블릭만하면 RSS에 추가되지 않도록 변경하였다.
Comments
Got something to add? You can just leave a comment.
안녕하세요, 우연히 들어왔는데..
저부분을 추가하면 리더기에 읽히지 않을수 있는건가요?(제가 이런걸 잘 몰라서요;;)
그렇다면 제가 원하던 바로 그 기능일텐데 말이예요 +_+b
위에 설명중에 싱크를 수동으로 처리..이런부분이 있는데요;; 이해가 안가서 그러는데 ㅠㅠ
그냥 xml생성 안하기 선택한후 싱크는 수동으로 맞춘후 public을 누르면 리더기나 올블이나 태터 센터에 잡히지 않을수 있는건지 궁금합니다 'ㅂ'
reply edit
xml에 등록되지 않는다는 것은 올블로그, 블코, 다음rss, 타인의 리더기 등에서 공개되지 않는다는 것을 뜻합니다.
reply edit
태터에 같은 글이 두개 올라왔네요. ^^ (버그?)
소스는 안봤는데, 개념은 좋은거 같네요.
개인 미디어의 개념은 축소되지만 개인 홈피로 공존할 수 있는 가능성을 열어주네요.
reply edit
자신이 사용하고자 하는 용도에 따라 변하는 것이니까요 ^^
reply edit
링크가 짤려서 볼 수가 없습니다..
구글이나 웹 아카이브 사이트를 뒤져봐도 찾을 수가 없네요 ㅠㅠ
혹시 파이어준님꼐서는 이 팁의 원문을 가지고 계시나요?
reply edit
저는 이미 이팁을 사용하고 있지 않습니다. 별도로 XML파싱 여부를 판단하지않고 간단하게 싱크할때에만 파싱되도록 조작하여 사용중입니다. 설명드리면, inc_function.php를 여시고 function update_xml() 문자열을 검색하셔서 속하는 내용에 아래의 코드를 변경해 주시면 됩니다.
변경전 : is_public = '1'
변경후 : is_public = '1' and is_sync = '1'
reply edit
감사합니다. 잘 동작하네요.
그런데 싱크 버튼 막 누르면서 테스트 하다가 12시간에 싱크 5개 제한 먹었어요;
앞으로는 글 쓸 때 조심해야 겠네요.
좋은 정보 감사드립니다.
reply edit
잘 작동되신다니 다행입니다. ^^
reply edit
Your Reaction Time!