반응형

전체 글 162

워드프레스 위젯 만들기

워드프레스는 다양한 위젯을 제공하며 사용자가 직접 생성도 가능하다. 사이드바에 기능별로 묶여 있는 위젯을 쉽게 볼 수 있는데, “최근글”, “카테고리”,”방문자 카운트”, “달력” 등이 모두 위젯이다. 하나의 위젯은 하나의 클래스이기 때문에 사이드바에 같은 위젯을 여러 개 올려도 무방하다. 위젯의 구성은 매우 간단하다. 먼저 WP_Widget를 상속한 클래스를 생성한다. 다음으로 정해진 네 개의 기능별 function을 만들어 필요한 기능을 구현하면 된다.class My_Widget extends WP_Widget { public function __construct() { // 생성자, 위젯이 실행되면 가장 먼저 처리된다. } public function form( $instance ) { // 관리자..

wordpress 2013.08.09

워드프레스 플러그인 만들기 기본 개념

워드프레스로 뭔가를 개발할 때 테마 종속적이지 않도록 하기 위해선 플러그인을 사용하는 게 좋다. 플러그인을 만들면 코어 파일을 수정하지 않고도 많은 변화를 줄 수 있다. 코어 파일을 수정하면 워드프레스를 업데이트할 때마다 다시 커스터마이징을 해야 한다. 보안을 위해선 업데이트를 안 할 수도 없기 때문에 귀찮지 않으려면 코어 파일은 건드리지 말아야 한다. 즉, 워드프레스를 커스터마이징할 땐 플러그인을 만드는 게 좋은 것 같다. 플러그인의 기본 개념 워드프레스는 플러그인을 통해서 거의 모든 것을 조작할 수 있도록 하고 있다. 예를 들어 보자. 로그인 메시지를 조금 바꾸고 싶다고 하자.function modify_login_message($msg){ $msg .= '나 말곤 아무도 로그인하지 마!'; retu..

wordpress 2013.08.09

워드프레스 로그인 화면 직접 꾸미기 & 플러그인 10선

로그인 화면은 워드프레스 대시보드로 접근하는 게이트입니다. 웹사이트 관리를 위해 꼭 한번은 거쳐야하는 페이지이죠. 잠깐 거쳐가는 페이지라 크게 신경을 안쓰는 경우도 있지만 로그인 화면에 접근하는 사람들이 많은 사이트에서는 로그인 페이지도 웹사이트와 동일한 느낌으로 꾸며서 일관성을 유지하는 것이 좋습니다. 워드프레스 로그인 폼 커스터마이징 워드프레스 기본 로그인 폼은 위와 같이 워드프레스 로고, 아이디, 패스워드, 패스워드 분실, 그리고 홈으로 가기 링크가 있습니다. 아무래도 로그인 페이지에서 가장 먼저 바꾸고 싶은 것이 워드프레스 로고가 아닐까 싶습니다. 로그인 페이지 로고 변경하기 1. 먼저 로고 이미지를 준비해야겠죠. 로고 이미지는 스타일 변경에 따라 사이즈를 변경할 수 있지만 기본틀에 맞추기 위해서..

wordpress 2013.08.09

워드프레스의 포스트 SNS로 공유하기

워드프레스는 다양한 SNS로 해당 게시물을 공유할 수 있는 다양한 플러그인을 가지고 있습니다. 그러나 워드프레스 자체가 해외에서 제작된 CMS 툴이다 보니 국내의 SNS 서비스들로의 공유를 제공하는 플러그인은 아직 제작/배포되어 지고 있지 않습니다. 때문에 국내 SNS에서 제공하고 있는 API 관련 매뉴얼 페이지를 확인하여 국내 SNS로의 공유도 가능할 수 있는 소스를 제작해 보았습니다. 디자인 형태는 티스토리의 형태를 참고하여 제작하였으나, 미투데이, 요즘, 마미피플로의 공유하는 각 서비스의 API 문건을 확인하여 제작되어 테스트까지 완료된 상태입니다. 소스는 아래와 같습니다.

wordpress 2013.08.06

워드프레스 사용자 등급별 역할 이해하기

워드프레스 블로그는 다른 블로그 툴과는 다르게 작성자가 1인으로 한정되지 않는다. 이에 워드프레스 블로그는 운영하다보면 마음 맞는 사람들을 모아 같이 블로깅하고자 할 경우에 사용할 수 있으며, 신문이나 기업에서 권한을 부여하여 글을 올릴 경우에도 적절하다. 이런 역할을 정의하고 구분해 줄 수 있는 것이 바로 회원제 시스템의 도입으로 사용자의 가입을 받을 수 있거나 새로운 사용자를 추가할 수 있도록 하여 일반적인 블로그처럼 1인 미디어로서 국한하는 것이 아니라 다중의 사용자가 사용할 수 있는 구조를 만들었다. 워드프레스는 사용자 등급별 역할과 권한이 매우 체계적으로 되어있어 진정한 CMS(Content Management System)의 장점을 누릴 수 있다. 워드프레스에서는 기본적으로 6가지가 있으며 가..

wordpress 2013.08.06

Wordperss의 Permalink를 Short URL로 치환하기

워드프레스의 고유주소(Permalink)는 다양한 형태로 변형하고 사용이 가능합니다. 일반적인 Permalink는 /?p=숫자 의 구조를 가지지만, SEO를 위해 고유주소를 /%postname%/ 이나 /%category%/%postname%/, /%post_id%/%postname%/ 등과 같은 형태로 많이 변형하여 사용하고 있습니다. 그런데 이런 경우 SNS로 공유하는데 있어 permalink의 주소가 너무 길어지다보면 특히 한글의 경우 알수 없는 문자로 치환까지 되다보니 많은 글자수를 차지하게 되어집니다. 그래서 Short URL에 대한 필요성이 대두되었고 많은 Short URL을 제공해주는 사이트가 있습니다. 그런데 이 Short URL을 어떻게 공유하는 곳에 사용하게 할 수 있을까? 하는 것이 ..

wordpress 2013.08.06

포스트 첫 이미지 추출

오늘은 포스트의 특성 이미지에 이미지를 지정하지 않을 경우 리스트나 특정 페이지에 해당 게시물의 썸네일 이미지 부재로 인해 빈 공간으로 나오는 것을 방지해 줄 수 있도록 포스트의 첫 이미지를 추출하여 사용하는 방법을 살펴보겠습니다. 우선 테마의 function.php 파일에 아래의 소스를 추가합니다. // 포스트 첫 이미지 추출 function catch_that_image() { global $post, $posts; $first_img = ''; ob_start(); ob_end_clean(); $output = preg_match_all('//i', $post->post_content, $matches); $first_img = $matches [1] [0]; // no image found dis..

wordpress 2013.08.06

jQuery를 UI 레이아웃 플러그인

http://layout.jquery-dev.net/demos.cfm UI 레이아웃 데모 TIP : 데모를 본 후이 페이지로 돌아가려면 '뒤로'를 클릭 플러그인 레이아웃에 대한 기본 데모가 있습니다 : example.html - 미니멀 한 예 simple.html - 간단하지만 완벽한 레이아웃 complex.html는 - 많은 기능을 활용하여 '중첩 된 레이아웃'을 가지고 destroy.html은 - 레이아웃을 제거하는 '파괴'방법이 있습니다 destroy2.html - 레이아웃을 계단식 쇼는 '파괴'와 '만들기' body_padding.html - 쇼 레이아웃 패딩 (삽입)와 마진 (초기) 레이아웃을 위해 대신 BODY의 컨테이너 요소를 사용하여 데모 : container.html - 컨테이너 폭과 수..

jQuery 2013.06.09

페이징

function paging($page, $page_row, $page_scale){ global $total_record; global $id; //총 페이지 수 구하기 $total_page = ceil($total_record / $page_scale); //페이징의 시작 페이지 구하기 $start_page = ((ceil($page / $page_scale) - 1) * $page_scale) + 1; //페이징의 마지막 페이지 구하기 $end_page = $start_page + $page_scale - 1; if($end_page >= $total_page) $end_page = $total_page; //페이지를 표시할 변수 초기화 $paging_str = ""; //페이지가 1보다 작으면 1..

PHP 2013.05.15

jQuery 란 무엇인가 ?

jQuery 란 무엇인가 2006년 초에 개발된 자바 스크립트 라이브러리로써 기존에 라이브러리는 놀랍고 강력한 고급 기술에 중점을 두는 컨셉으로 등장했지만 jQuery는 웹페이지를 개발하는 개발자의 생각하는 방식을 바꾸는데 그 목적을 두었다고 한다. 왜 jQuery 인가 웹페이지를 개발 하다보면 동적으로 화면을 컨트롤 하거나 css로 디자인을 변경하고 또는 애니매이션등의 효과를 줘야 할 경우가 많다. 이러한 효과를 저 수준의 자바스크립트로 작성하게 되면 엄청난 코딩 수의 압박으로 만들기도 전부터 걱정이 앞설 것이다. 이러한 모든 작업을 쉽고 빠르게 작업해 줄수 있수 있도록 해줄놈이 jQuery 이란 놈이다. 튀지 않는 자바 스크립트 HTML 엘리먼트에 스타일을 적용하고 자바스크립트 호출을 넣는 방법은 지..

jQuery 2013.05.09

MySQL flush privileges 명령어

MySQL flush privileges 명령어 INSERT나 UPDATE, DELETE문을 이용해서 MySQL의 사용자를 추가,삭제하거나, 사용자 권한 등을 변경하였을 때, MySQL에 변경사항을 적용하기 위해서 사용하는 명령어가 flush privileges 입니다. 아래는 highbird 데이터베이스에 bird 유저를 추가하는 예제입니다. 끝에 flush privileges 명령어를 사용해서 변경사항을 적용해 주는 것을 확인하실 수 있습니다. 이 flush privileges 는 정확히 말하면 grant 테이블을 reload 함으로 변경사항을 바로 적용해주는 명령어인데, INSERT, UPDATE와 같은 SQL문이 아닌 grant 명령어를 사용해서 사용자를 추가하거나 권한등을 변경하였다면 굳이 실행..

mysql 2013.04.15

subquery의 결과가 여러개 일때, 한개의 필드로 가져오기

서브 쿼리의 결과가 여러 개 일때, 스트링으로 만들어서 가져 오기 [mysql string CONCAT row] 참고 사이트 : http://stackoverflow.com/questions/276927/can-i-concatenate-multiple-mysql-rows-into-one-field 핵심은 group_concat 함수를 쓰면 된다. 아래는 "|" 문자열로 서브 쿼리의 결과를 문자열로 연결해서 반환하는 쿼리이다. 뭐. 이런식으로 BTable에 있는 bookName을 "|"로 연결해서 가져오고 싶을 경우 저런 식으로 ~ SELECT ATable.num, ATable.keyword, (select group_concat(bookName separator '| ') from BTable where..

mysql 2013.03.20
반응형