워드프레스 회원가입과 동시에 회원등급 설정하기

1. wp_users라는 테이블에 m_level 이라는 칼럼을 만든다. ALTER TABLE wp_usersADD COLUMN m_level TINYINT(1) UNSIGNED CHECK (m_level BETWEEN 1 AND 5); 2. functions.php에 다음 코드를 삽입한다. //회원가입시m_level업데이트function add_user_m_level($user_id) {global $wpdb; }add_action(‘user_register’, ‘add_user_m_level’); 여기에서는 디폴트로 m_level을 5로 설정하고 있다.

워드프레스 사진 등 정보업데이트할때 기존 정보 삭제하는 법

워드프레스 wp-admin > 미디어 > 라이브러리 에서 delete permanently (영구삭제)를 할 경우, 서버에서도 삭제된다. 그러나 사이트에서 예를 들어 유저가 개인정보중에 자신의 사진을 변경한다고 하면, 기존의 사진과 새로운 사진이 모두 서버에 저장되어 서버 용량을 차지하게 된다. 그러므로 유저가 새로운 사진으로 업데이트 할 때는 기존의 사진은 삭제되도록 로직을 구성해야 한다. text라면 큰 용량을 차지하지 않겠지만, 사진이나 영상들은 … Read more

워드프레스 url 파라미터로 데이터 정보 넘기기

특정페이지에서 어떤 버튼을 클릭했을때 특정 정보를 URL 파라미터로 전송하도록 해보자. <a class=”apply-button” href=”https://englishtutoring.kr/%EA%B3%BC%EC%99%B8%EC%8B%A0%EC%B2%AD/?tutor=${encodeURIComponent(tutor.display_name)}” target=”_blank”>과외신청</a> 위 코드를 보면 display_name이라는 정보를 이동할 페이지로 넘겨주고 있다. 아래 코드를 보면 그 정보를 받아 특정 input에 받아오고 있다. <tr id=”tutor-row” style=”display:none;”> <th>희망교사</th> <td><input type=”text” id=”tutor_name” name=”tutor_name” readonly /></td> </tr> <script> document.addEventListener(‘DOMContentLoaded’, function() { const urlParams = new URLSearchParams(window.location.search); const tutorName … Read more

워드프레스 한국 시각 설정

워드프레스로 코딩을 하다보면 $current_datetime 이 미국시각으로 표시되는 경우가 있다. 현재의 시작을 한국 시각으로 설정하려면, 워드프레스 관리자 페이지에서 설정 -> 일반 -> 시간대에서 서울을 선택하면 된다.

Ultimate Member form 만들고 적용하는법

Ultimate Member 라는 플러그인은 회원관리에 아주 편한 툴이기는 하지만, 폼의 형태가 마음에 안들면 수정해야 한다. 필자는 위와 보통 위와 같이 mypage, 로그인, 회원가입 세가지 폼을 새로 만든다. 만들면 위에서 보는 것과 같이 새로운 아이디를 부여받게 된다. 한 예로 마이페이지는 profile form을 선택한다. 그리고 아래 +버튼을 눌러 항목을 하나씩 늘리며, 우측의 연필모양으로 설정을 변경한다. 그리고 cuctomize … Read more

구글TTS 어퍼스트로피 문제해결

구글 TTS가 어퍼스트로피를 제대로 인식하지 못하는 문제를 해결하기 위해, 어퍼스트로피를 특수 문자로 대체하는 방법을 고려할 수 있습니다. 이를 통해 어퍼스트로피가 포함된 단어가 제대로 발음되도록 할 수 있습니다. PHP함수에 아래 코드를 심어주면 된다. $gpt_response = str_replace(“‘”, “’”, $gpt_response); 이 코드는 GPT로부터 받은 응답에서 모든 어퍼스트로피를 유니코드 문자 ‘로 대체합니다. 이렇게 하면 구글 TTS가 이를 적절히 인식하여 … Read more

워드프레스 복사 및 크롤링 방지와 특정 페이지와 포스트 복사 가능하게 하기

1. head & footer 에 아래 라이브러리를 헤드섹션이 심는다. <script src=”https://cdnjs.cloudflare.com/ajax/libs/clipboard.js/2.0.8/clipboard.min.js”></script> 2. functions.php에 아래 코드를 심는다. (대부분 방지하되, allow_dopy라는 예외를 둔다) function disable_copy_paste() { ?> <script> document.addEventListener(‘DOMContentLoaded’, function () { function blockAction(e) { // If the target or any of its parents has the class ‘allow-copy’, do not block if (e.target.closest(‘.allow-copy’)) { return true; } … Read more

워드프레스 Latest posts 검색기능 넣는 법

아래 코드를 그대로 쓰면 된다. 단지, 파란색 부분을 수정해줘야 한다. <div style=”margin-top: 20px”>         <input type=”text” id=”search-input” placeholder=”검색어 입력” />         <button id=”search-button” class=”custom-button”>검색</button>         <button id=”reset-button” class=”custom-button”>전체 보기</button>     </div><br>     <!– latest-posts 컨테이너 –>     <div id=”latest-posts-container”></div>     <script>   … Read more

파일질라로 업로드해도 워드프레스 웹사이트에 반영이 안되는 경우

파일질라로 직접 수정된 파일 (예를 들어 A.php)을 업로드할 경우, 며칠 몇주가 지나도 반영이 안되는 경우가 있다. 이 역시 워드프레스내에 Breeze라는 플러그인을 통해 캐시를 리프레쉬 해주어야 한다.플러그인과 파일질라는 전혀 관계가 없는 것 같지만, 캐시를 리프레쉬해주지 않으면 반영이 안되어 애를 먹는 경우가 많다. 워드프레스 캐시 리프레쉬와 함께 브라우저 인터넷 사용기록 삭제를 동시에 해주고 작업한다면 이전의 페이지소스가 모두 … Read more