사상 최초! My GPTs로 워드프레스 최고관리자 획득 - (코딩 없이) 글 조회, 수정, 등록까지 전과정 제어 (챗GPT Actions OAuth)

Поділитися
Вставка
  • Опубліковано 26 сер 2024
  • 이전 영상에서 My GPTs로 워드프레스에 글 업로드하는 방법을 보여드렸습니다.
    • API 사용료 없는, 무제한 워드프레스 ...
    단지 글을 생성하는 것에 그치지 않고 외부 워드프레스에 업로드까지 해주는 거죠.
    그런데 이것에 그치지 않고 포스팅 조회, 수정, 등록, 내용 덧붙이기까지 전과정 제어가 가능하게 했습니다.
    특히 인상적인 것은 원하는 만큼 긴 글을 생성할 수 있게 했다는 것입니다.
    이론적으로 200 페이지의 긴글도 생성 가능합니다.
    어떤 노하우가 있는지 확인해 보세요.
    영상에서 사용중인 플러그인이 유료만 가능한 상태로 변경되었습니다.
    아래 영상을 통해 해결하세요 (플러그인 없이 진행하는 방법입니다)
    • 챗GPT GPTs , 워드프레스 1분에 ...
    FREE BGM "?きそば行進曲" by もっぴ?さうんど
    채널에 가입하여 혜택을 누려보세요.
    / @sourceplayground

КОМЕНТАРІ • 18

  • @sourcePlayground
    @sourcePlayground  5 місяців тому +1

    아래 내용은 Actions에 들어갈 Schema입니다. 참조하세요. (이중 servers의 url은 개개인에 맞게 수정하셔야 합니다)
    {
    "openapi": "3.0.0",
    "info": {
    "title": "워드프레스 자동 포스팅",
    "description": "워드프레스 OAuth를 사용해 자동으로 글을 생성합니다",
    "version": "v1.0.0"
    },
    "servers": [
    {
    "url": "my.myphar.net"
    }
    ],
    "paths": {
    "/wp-json/wp/v2/posts": {
    "get": {
    "operationId": "getAllPosts",
    "description": "게시물 목록 조회",
    "parameters": [
    {
    "name": "after",
    "in": "query",
    "description": "이 시간 이후에 발행된 게시물만 조회합니다 (형식: YYYY-MM-DDTHH:MM:SS) 전체 글 조회시 비워둡니다",
    "default": "",
    "schema": {
    "type": "string"
    }
    },
    {
    "name": "before",
    "in": "query",
    "description": "이 시간 이전에 발행된 게시물만 조회합니다 (형식: YYYY-MM-DDTHH:MM:SS) 전체 글 조회시 비워둡니다",
    "default": "",
    "schema": {
    "type": "string"
    }
    },
    {
    "name": "search",
    "in": "query",
    "description": "이 값이 포함된 게시물에 대한 검색을 실행합니다. 전체 글 조회시 비워둡니다",
    "default": "",
    "schema": {
    "type": "string"
    }
    },
    {
    "name": "categories",
    "in": "query",
    "description": "카테고리 ID 값으로 이 카테고리에 속하는 게시물만 조회합니다. 전체 글 조회시 비워둡니다",
    "default": "",
    "schema": {
    "type": "string"
    }
    },
    {
    "name": "post_id",
    "in": "path",
    "description": "조회하고자 하는 게시물의 고유 ID로 /wp-json/wp/v2/posts/{post_id}로 접속하면 해당 post_id 게시물만 조회됩니다. post_id 값이 없 게시물 전체를 조회하게 됩니다. 전체 글 조회시 비워둡니다",
    "required": true,
    "default": "",
    "schema": {
    "type": "string"
    }
    }
    ]
    },
    "post": {
    "operationId": "createPost",
    "parameters": [
    {
    "name": "post_id",
    "in": "path",
    "required": true,
    "description": "수정하고자 하는 게시물의 ID (이 값이 있으면 해당 ID의 게시물에 대한 수정 모드, 이 값이 0이면 새글쓰기 모드입니다)",
    "schema": {
    "type": "integer"
    }
    }
    ],
    "requestBody": {
    "required": "true",
    "content": {
    "application/json": {
    "schema": {
    "type": "object",
    "properties": {
    "categories": {
    "type": "string",
    "description": "getAllCategories를 통해 얻은 카테고리 ID (이 값은 필수가 아님. 없어도 등록됨)"
    },
    "title": {
    "type": "string",
    "description": "글 제목"
    },
    "content": {
    "type": "string",
    "description": "글 내용"
    },
    "status": {
    "type": "string",
    "description": "글 상태 ( publish (즉시 발행), pending (보류 또는 대기), future (date_gmt 시간에 예약 발행) )"
    },
    "date_gmt": {
    "type": "string",
    "description": "status가 future인 경우, 이 값의 시간에 예약 발행됨 (GMT 형식의 시간) "
    }
    }
    }
    }
    }
    }
    }
    },
    "/wp-json/wp/v2/categories": {
    "get": {
    "operationId": "getAllCategories",
    "description": "모든 카테고리 조회 (이것을 통해 /wp-json/wp/v2/post의 categories에 들어갈 카테고리 ID 목록을 얻을 수 있습니다)",
    "parameters": [
    {
    "name": "search",
    "in": "query",
    "description": "이 값은 특정 키워드로, 카테고리를 검색하고자 할 때 사용합니다",
    "default": "100",
    "schema": {
    "type": "string"
    }
    }
    ]
    }
    },
    "/wp-json/custom/append-post-content": {
    "post": {
    "operationId": "appendContents",
    "requestBody": {
    "required": "true",
    "content": {
    "application/json": {
    "schema": {
    "type": "object",
    "properties": {
    "post_id": {
    "type": "string",
    "description": "내용을 추가하고자 하는 게시물의 ID"
    },
    "content": {
    "type": "string",
    "description": "기존 내용에 추가하고자 하는 내용"
    }
    }
    }
    }
    }
    }
    }
    }
    }
    }

    • @sourcePlayground
      @sourcePlayground  5 місяців тому

      //아래 내용은 functions.php 마지막 부분에 추가하실 내용입니다
      // functions.php 내용 수정은 코드 파일을 건드리는 것이라, 반드시 백업 후 진행해 주세요. 그래야 문제 생길때 복원 가능합니다.
      // functions.php 위치 -> /wp-content/themes/사용중테마/funcions.php
      function append_post_content( $request ) {
      // post_id를 POST 요청 본문으로부터 받음
      $post_id = $request['post_id'];
      $append_content = $request['content'];
      // 게시물을 조회
      $post = get_post( $post_id );
      if ( !$post ) {
      return new WP_Error( 'not_found', 'Post not found', array( 'status' => 404 ) );
      }
      // 기존 내용에 추가
      $new_content = $post->post_content . $append_content;
      // 게시물 업데이트
      wp_update_post( array(
      'ID' => $post_id,
      'post_content' => $new_content
      ) );
      return new WP_REST_Response( array( 'status' => 'success', 'post_id' => $post_id ), 200 );
      }
      // 커스텀 엔드포인트 등록 예: my.myphar.net/wp-json/custom/append-post-content
      add_action( 'rest_api_init', function () {
      register_rest_route( 'custom', '/append-post-content', array(
      'methods' => 'POST',
      'callback' => 'append_post_content',
      'args' => array(
      'post_id' => array(
      'required' => true,
      'validate_callback' => function($param, $request, $key) {
      return is_numeric( $param );
      }
      ),
      'content' => array(
      'required' => true,
      'validate_callback' => function($param, $request, $key) {
      return is_string( $param );
      }
      ),
      ),
      ) );
      } );

    • @sourcePlayground
      @sourcePlayground  5 місяців тому

      영상에서 사용중인 플러그인이 유료만 가능한 상태로 변경되었습니다.
      아래 영상을 통해 해결하세요 (플러그인 없이 진행하는 방법입니다)
      ua-cam.com/video/77Lzaj_UhP4/v-deo.html

  • @user-jc2tu6zz8e
    @user-jc2tu6zz8e 23 дні тому

    👍👍👍👍👍

  • @bang7lew
    @bang7lew 5 місяців тому +1

    조금 전에 해봤습니다. 너무 잘되네요. ㅎㅎㅎ 감사합니다. 활용 가능성이 무궁무진해지네요.

  • @zonenazzang
    @zonenazzang 5 місяців тому

    원하는 기능이 속시원하게 해결되었네요... 감사합니다...

  • @Madrex1090
    @Madrex1090 2 місяці тому

    와 선구자가 여기계시네... 지금부터 추종자 되겠습니다

  • @user-cj5fw7dj6l
    @user-cj5fw7dj6l 5 місяців тому

    뭔말인지 모르겠으나... 일단 끝까지 들어봄. 모르면 반복해서 듣다보면 알아진다! ㅎ 영상 말미 헤픈 트럭보고... 어이쿠~하고 엄지척 세워봄!

  • @peostar777
    @peostar777 5 місяців тому

    내공과 상상력이 무한하시네요 최고십니다 ㅎ 😊 저는 서버 에 약해 많은 지도 부탁드립니다 허접블로거드림

  • @angdrelee7605
    @angdrelee7605 5 місяців тому

    티스토리는 셀레니움으로 밖에 안될까요.? 승인받아놓은게 여러개인데 api가종료되서 셀레늄 외 다른 방법은 없을까 궁금합니다 어떻게든 해결하시는게 참 좋습니다 내용이 엄청 좋아요 짱구도 잘 굴리시는거 같고 저랑 비슷한거 같아서 응원드립니닷

    • @sourcePlayground
      @sourcePlayground  5 місяців тому

      ㅎㅎ 감사합니다.
      셀레니움 같은 가상 브라우저로 처리하되 그 과정을 api로 만들면 My GPTs로 제어 가능합니다
      글내용 덧붙여 쓰면 이 영상처럼 긴 글도 가능하구요
      가상 브라우저 외에 딴 방법은 안될듯 해요

  • @user-uo1ws8hi5w
    @user-uo1ws8hi5w 5 місяців тому

    잘 보고있습니다 혹시 api비용없는 워드프레스 처럼 티스토리도 가능한가요?

    • @sourcePlayground
      @sourcePlayground  5 місяців тому

      티스토리 API가 공식적으로 중단되어서 어렵습니다.
      API 비용없는 워드프레스와 같은 방법으로 특정 폴더에 자동으로 글이 생성되도록 처리한 후, 해당 글을 티스토리에 올리는 것이 최선책일 듯 합니다. 이 방법은 아직 시도하지 못한 방법이구요.
      이전 영상 중, "챗GPT 활용법 - 파이썬으로 자동 블로그.." 영상이 있는데, 이 방법을 쓰면 챗GPT API를 통해 내컴퓨터 폴더에 글을 차곡차곡 쌓을 수 있습니다. 그걸로 응용해 보실 수 있습니다. 물론 챗GPT API를 쓰기에 API 비용은 들겁니다. (API 비용은 글 생성 개수에 비해 그리 크지 않은 비용입니다)

  • @wggg676
    @wggg676 5 місяців тому

    와.... .와.....와.....

  • @lilpum3903
    @lilpum3903 5 місяців тому

    형 애드센스 승인 받기 전인데 오토 포스팅으로 가능할까용?

    • @sourcePlayground
      @sourcePlayground  5 місяців тому

      오토라도 애드센스 승인되냐는 말씀이시죠?
      블로그 전문은 아니지만 주위를 보면
      케이스 바이 케이스인것 같습니다
      어떤 분들은 승인 받고.. 반면에 실패하는 경우도 있더군요. 2, 3번에 시도한 경우도 계시구요
      글생성시 도움되는 정보성 글이 생성되도록 또 자연스럽게 생성되도록 프롬프트를 잘 작성하는게 중요해 보입니다 (또는 My GPTs를 잘 훈련)