PHP 마법 학교 8기 2강: 소식을 배달해요! ‘자동 포스팅 마법: 워드프레스 API 연동’

안녕하세요! 가족과 함께하는 스마트 라이프입니다. 지난 시간에 우리 대신 인터넷을 탐험하며 정보를 모아오는 ‘뉴스 크롤링 로봇’을 성공적으로 소환했죠? 오늘은 그 로봇이 물어온 소중한 정보를 내 블로그에 자동으로 기록해 주는 ‘자동 포스팅 마법’을 배워보겠습니다!

PHP 마법 학교 8기 2강: 소식을 배달해요! '자동 포스팅 마법: 워드프레스 API 연동'

1. 워드프레스 API란 무엇인가요? ‘로봇 전용 문’

우리가 블로그에 글을 쓸 때는 관리자 화면에 로그인해서 제목과 본문을 직접 타이핑하죠? 하지만 로봇은 화면을 보고 마우스를 클릭할 수 없어요. 대신 워드프레스에는 로봇이 비밀번호를 대고 들어가서 바로 글을 남길 수 있는 ‘API’라는 전용 문이 있답니다. 이 문을 통해 데이터를 보내면 마법처럼 새 글이 짠! 하고 나타나요.

2. 자동으로 글을 올리는 주문서 (코드)

PHP의 curl이라는 마법 도구를 사용해 워드프레스 API에 글쓰기 요청을 보내는 방법을 알아봅시다. 지난 시간의 크롤링 코드와 합치면 완벽한 자동화 비서가 됩니다!

<?php
// auto_post_magic.php: 블로그 자동 포스팅기

function post_to_wordpress($title, $content) {
    $username = "관리자_ID";
    $password = "여기에_발급받은_애플리케이션_비밀번호";
    $api_url = "https://내블로그주소.com/wp-json/wp/v2/posts";

    $data = [
        'title'   => $title,
        'content' => $content,
        'status'  => 'publish' // 바로 발행해요!
    ];

    $ch = curl_init($api_url);
    curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
    curl_setopt($ch, CURLOPT_HTTPAUTH, CURLAUTH_BASIC);
    curl_setopt($ch, CURLOPT_USERPWD, "$username:$password");
    curl_setopt($ch, CURLOPT_POST, true);
    curl_setopt($ch, CURLOPT_POSTFIELDS, json_encode($data));
    curl_setopt($ch, CURLOPT_HTTPHEADER, ['Content-Type: application/json']);

    $response = curl_exec($ch);
    curl_close($ch);

    return json_decode($response, true);
}

// 지난 시간에 로봇이 가져온 뉴스를 보낸다고 상상해볼까요?
$my_title = "🤖 로봇이 전하는 오늘의 마법 뉴스";
$my_body = "여기에 로봇이 수집한 따끈따끈한 뉴스 내용을 넣으면 끝!";

post_to_wordpress($my_title, $my_body);
echo "마법처럼 블로그에 글이 등록되었습니다!";
?>

3. 왜 자동 포스팅 마법이 중요할까요?

이 마법은 우리 가족의 지식 저장소를 아주 풍성하게 만들어줘요!
1. 꾸준한 기록: 바빠서 글을 못 쓰는 날에도 로봇 비서가 ‘Money Teatime’ 블로그에 유용한 정보를 채워주니 이웃들이 매일 방문할 수 있죠.
2. 교육용 리포트: ‘EduPad’ 프로젝트에 적용하면 아이가 오늘 푼 문제 오답 노트를 매일 저녁 아빠 블로그로 자동 전송해 함께 검토하는 시스템도 만들 수 있답니다.

PHP 마법 학교 8기 2강: 소식을 배달해요! '자동 포스팅 마법: 워드프레스 API 연동'

4. 아이들과 함께하는 ‘우체부와 편지함’ 놀이

상자 하나를 ‘블로그(편지함)’라고 정하고 아이에게 ‘우체부(로봇)’ 역할을 맡겨보세요. 아빠가 쪽지에 뉴스를 적어주면 아이가 그 상자 구멍(API)에 쏙 집어넣는 거예요. “네가 쪽지를 직접 넣는 이 구멍이 바로 API란다. 코드를 잘 짜두면 아빠가 없어도 로봇 우체부가 매일 정보를 배달해 줄 거야!”라고 설명해 주세요. 데이터 전송과 수신의 개념을 아주 쉽게 깨닫게 됩니다.

마치며: 이제 나도 자동화 마법사!

오늘 우리는 수집한 정보를 블로그에 자동으로 기록하는 법을 배웠습니다. 이제 우리 학교는 정보를 찾고, 정리하고, 발표하는 모든 과정을 로봇에게 시킬 수 있게 되었네요! 다음 시간에는 이 로봇이 1년 365일 지치지 않고 일하게 만드는 ‘시간 마법: 크론탭(Crontab) 스케줄링’을 배워보겠습니다. 내일 아침에 만나요!