최근에 워드프레스 API를 이용하여 자동으로 포스팅을 하는 글을 썼습니다.
여기서는 API를 통해 기본적인 정보를 제공하면 정보에 맞춰서 자동으로 포스팅을 생성하는데요.
저는 이렇게 생성된 포스팅 페이지의 기본 디자인은 에쁘지 않습니다.
때문에 Elementor 을 활용해 내가 제작한 템플릿이 AI 통해 생성한 포스팅 디자인에 적용되게 하는 것이 목적입니다.
바로 시작하겠습니다.
자, 이게 현재 기본적인 디자인입니다.
별로 예쁘지가 않습니다.
기본적으로 생성이 되는 포스팅 글은 테마 내부에 있는 php 의 영향을 받습니다.
테마마다 그 파일의 경로가 다를 수는 있습니다.
/wp-content/themes/hello-elementor/single.php
Hello Elementor 테마의 경우에는 다음과 같은 경로의 영향을 받습니다.
그렇다면 이 single.php 파일을 뜯어 고쳐야 할까…? 한다면 그건 너무 복잡합니다.
Elementor 통해서 기본적인 디자인을 수행하다면 적용 가능한 간단한 방법이 있습니다.
이를 통해서 어떤 방법으로 자동화 포스팅의 디자인을 통제 가능할지 보겠습니다.
왼쪽 대쉬보드에서 Templates 라는 메뉴가 있습니다.
이거를 클릭하고 “Theme Builder” 들어가주세요.
테마 빌더 내부에서는 “Single Post” 파트를 클릭합시다.
이동 후에 상단의 “Add New” 버튼을 눌러서 제작 단계에 돌입합니다.
이후에는 자신이 원하는 포스팅 양식대로 디자인이 필요합니다.
자신의 스타일에 맞게 디자인을 해주세요.
또한 다음과 같이 Posts 에서 Categories 으로 이동합시다.
여기에서 ChatGPT 라는 카테고리를 하나 만들겠습니다.
위와 같이 작성하고 Add 통해서 해당 카테고리를 추가하겠습니다.
저는 기본적으로 다지인을 시작하면 나타나는 템플릿을 이용할 것입니다.
“Blocks” 부분에서 Single Post” 카테고리를 가지고 있는 디자인들이 있습니다.
이 중 하나를 골라서 입맛대로 다듬으면 되지 않을까 싶습니다.
대충 디자인이 어떤 식으로 보이는지 봤습니다.
이제 이걸 적용하기 위해 상단 우측에 있는 Publish를 눌러줍니다.
대충 디자인이 어떤 식으로 보이는지 봤습니다.
이제 이걸 적용하기 위해 상단 우측에 있는 Publish를 눌러줍니다.
위와 같이 Condition 을 설정할 수가 있습니다.
저는 앞서 설정한 카테고리를 가진 POST 들에만 이러한 양식을 적용하고자 합니다.
요렇게 설정하면 되겠네요.
코드에 대한 자세한 설계 및 구동 방식은 위 포스팅을 참고해주세요.
우선은 앞선 포스팅에도 이야기 됐던 .env 파일에 하나의 key값을 추가합니다.
WP_CATE=https://yourwordpress.com/wp-json/wp/v2/categories
다음과 같이 내 카테고리들에 대한 정보들이 담긴 주소입니다.
도메인은 내 사이트에 맞게 변경해주세요.
import os
import requests
from dotenv import load_dotenv
from requests.auth import HTTPBasicAuth
# .env 파일 로드
load_dotenv()
# 환경 변수에서 설정 값 가져오기
WP_URL = os.getenv("WP_CATE") # WordPress REST API URL (예: "https://yourwordpress.com/wp-json/wp/v2/categories")
WP_USER = os.getenv("WP_USER") # WordPress 로그인 ID
WP_PASSWORD = os.getenv("WP_PASSWORD") # WordPress 애플리케이션 비밀번호
def fetch_categories():
response = requests.get(WP_URL, auth=HTTPBasicAuth(WP_USER, WP_PASSWORD))
if response.status_code == 200:
categories = response.json()
print("\n✅ [ WordPress 카테고리 목록 ] ✅")
for cat in categories:
print(f"🔹 ID: {cat['id']} | Name: {cat['name']} | Slug: {cat['slug']} | Count: {cat['count']}")
else:
print("❌ 카테고리 정보를 가져오지 못했습니다.")
print("🔹 응답 코드:", response.status_code)
print("🔹 응답 메시지:", response.text)
# 실행
if __name__ == "__main__":
fetch_categories()
이후에 다음과 같은 코드를 실행하겠습니다.
이렇게 카테고리 목록과 ID를 알 수 있습니다.
제가 GPT 통해 생성하는 글들은 모두 카테고리가 ChatGPT로 지정이 되도록 할 겁니다.
이 카테고리의 ID는 38이네요?
data = {
"title": title,
"content": content,
"status": "publish", # "draft"로 설정하면 초안으로 저장됨
"categories" : [38]
}
그럼 기존의 server.py 에서 data의 부분을 다음과 같이 추가하면 됩니다.
그럼 이 data를 통해 생성이 되는 포스팅은 ChatGPT라는 카테고리를 가지고 시작하게 됩니다.
이렇게 앞서 설정한 양식에 그대로 값이 들어가는 것을 볼 수 있습니다.
조금 더 디테일하게 Chat GPT Prompt 를 수정하면 되지 않을까 싶습니다.
다음에도 또 비루한 주제를 가지고 포스팅을 해보겠습니다.
여기까지 봐주신 분들 정말 감사합니다.^^