RSS

태그 보관물: wordpress

Simple Post Box 플러그인에 대한 소개

wp_등록 확인[Wordpress.org에 게시한 첫 플러그인 : Simple Post Box]

Simple Post Box는 블로그의 최신 포스트를 보여주는 박스입니다. 기본으로 제공되는 위젯과 내용상은 동일하지만 jquery와 CSS를 이용하여 액티브하게 만들었습니다. 우측하단의 아이콘을 클릭하면 최신 포스트가 위쪽으로 움직이며 나타납니다.

spb-이미지

SVN은 http://plugins.svn.wordpress.org/simple-post-box/

readme 파일 작성할 때는 영어의 압박으로 힘들었지만, 사전, 번역툴, 워드프레스 플러그인 디렉토리를 참조하며 작성했습니다. 주요 내용은 Simple Post Box에 대한 설명, 사용 가능 환경, 버전 정보 등이다.

=== Plugin Name ===
Contributors: jandbond
Donate link:
Tags: post, posts, simple, box, korean, plugin
Requires at least: 2.0.2
Tested up to: 3.2
Stable tag: 1.0

This plugin will help you to display recent posts in your site.

== Description ==

Simple Post Box is a very easy plugin for WordPress which displays your recent 5 posts with a simple box. This plugin will be shown on the footer of your pages. Once you click the icon, a recent post will be shown. This is a jQuery and css based box.

Thank you.

== Installation ==

1. Download the .zip file
2. Extract the contents and upload into your wp-content/plugins directory
3. Activate the plugin in your WordPress Dashboard

== Screenshots ==

1. screenshot-1.png
2. screenshot-2.png

== Changelog ==

= 1.0 =
* This is the first version of the plugin.

== Upgrade Notice ==
There have been no upgrades yet.


플러그인 추가 후 앞으로 해야 할 일들이 많네요. 지속적인 개선은 물론이거니와 소스 공유와 커밋에 대한 것, 스크린 샷 올리기, 피드백 받고 처리하기 등….

Advertisements
 
 

태그: ,

워드프레스 루프 만들기[3]

커스텀 쿼리를 만드는 가장 간단한 방법, get_posts()를 알아보자.

get_posts()는 내부적으로 WP_Query를 이용한다. 하지만 포스트와 관련된 모든 탬플릿 태크를 바로 사용할 수 는 없다. 탬플릿 태그와 관련된 전역 데이터가 자동으로 생성되지 않기 때문이다. 이를 위해서는 setup_postdata()를 호출해 값을 채워주는 과정이 필요하다.

그리고 get_posts()의 반환값이 배열이라는 점에 주의해야 한다. 리턴값을 받으려면 foreach를 통해 각각의 루프 코드를 받아야 한다. 아래 소스에서 확인해 보자.

<ul>
<?php
global $post;
$args = array( 'numberposts' => 5, 'offset'=> 1, 'category' => 1 );
$myposts = get_posts( $args );
foreach( $myposts as $post ) :	setup_postdata($post); ?>
	<li><a href="<?php the_permalink(); ?>"><?php the_title(); ?></a></li>
<?php endforeach; ?>
</ul>

이 함수는 사이드바나 풋터에 관계없이 다중 루프를 구성하거나 간편하게 데이터를 가져올 때 주로 사용한다.

 
 

태그: , ,

워드프레스 루프 만들기[2]

커스텀 쿼리를 만드는 두 번째 방법을 알아보자. 바로 query_posts()다.

워드프레스 페이지가 호출되면 콘텐츠 정보가 전역변수인 $wp_query에 생성된다. 루프를 통해 데이터를 불러오더라도 기본 쿼리는 변경하지 않고 파라메터를 이용해 데이터를 조작한다. 하지만 이 기본 쿼리를 변경할 필요가 있을 때 사용하는 게 query_posts()이다.

query_posts()는 로우레벨 접근방식으로 기본 쿼리를 변경하는 장점이 있지만, 반대로 기본 쿼리를 변경하기 때문에  캐시가 지워져 성능에 영향을 미칠 수 있다. 재활용성과 데이터베이스 성능 저하를 고려해야 한다.

전역변수인 $wp_query를 변경하기 때문에 한 번 이상 호출하거나, 루프 내에서 호출하게 되면 메인 루프 내용이 달라져 잘못된 콘텐츠가 반환되므로 주의가 필요하다.

<?php
// retrieve one post with an ID of 5
query_posts( 'posts_per_page=3&paged='.$paged' );

// set $more to 0 in order to only get the first part of the post
global $more;
$more = 0;

// the Loop
while (have_posts()) : the_post();
	the_content( 'Read the full post »' );
endwhile;

wp_reset_query();
?>

query_posts( ‘posts_per_page=3&paged=’.$paged’)의 결과로 기본 추출된 포스트 콘텐츠가 변경된다. 즉, query_posts()가 없었다면 출력되었을 콘텐츠는 더 이상 나타나지 않는다.

query_post()는 $query_string을 변경하여 기본 쿼리를 변경하므로, 사용후에는 wp_reset_query() 함수를 호출해서 쿼리 복원을 해주는 게 좋다.

query_post()는 주로 single 루프의 결과값을 바꾸고 싶을 때 주로 사용한다. 포스트의 개수나 어떤 카테고리에서 제외하고픈 포스트나 테그등을 제한할 때 사용하면 좋다. 다중 루프에서도 사용할 수는 있지만, WP_Query를 사용하는 편이 낫다.

참고 : 파라메터 사용 법 : http://codex.wordpress.org/Function_Reference/WP_Query#Parameters

 
 

태그: , , ,

워드프레스 디버깅-Xdebug 설치

눈 깜짝할 사이에 벌어지는 놀라운 마술쇼를 볼 때면, 마술사의 손과 발을 멈춰서 비밀을 캐보고 싶을 때가 있다. 마술사의 모자도 뒤집고 소맷귀도 뒤져보고 검은색 양복 안주머니도 들여다보는 식으로 말이다.

현실에서는 이렇게 할 수 없지만, 프로그래밍의 세계에서는 충분히 가능하다. 바로 직관적인 디버깅을 통해서다. Xdebug와 Eclipse가 그해답이다.

Xdebug를 내려받아 설치하고 환경설정을 해보자.

php 디버깅 도구로 Xdebug를 이용한다. 다운로드는 아래 사이트에서 받는다.

http://xdebug.org/download.php

다양한 버전이 올라와 있는데 설치된 환경에 맞게 받으면 된다. Xdebug 2.1.2버전의 PHP 5.2. VB6 TS (32 bit)를 선택한다.

바이너리명에 TS라고 붙은 건 Thread Safe이다.
Xdebug 다운로드

php가 설치된 폴더에 복사해주면 Xdebug설치가 끝난다.

– 위치 : C:\APM_Setup\Server\PHP5\ext\

Xdebug설치

php에 디버그 등록을 해준다. php.ini를 열어 편집하자.

– 위치 : C:\APM_Setup\php.ini

php.ini기본 설정된 Zend 디버그는 주석 처리하고 Xdebug를 다음과 같이 설정한다.

Xdebug setting

zend_extension_ts에 이전에 복사한 Xdebug파일명을 등록해주어야 한다.

자, Xdebug 환경설정이 모두 끝났다. 아파치 서버를 재시작하고 제대로 적용되었는지 확인해 보자.

phpinfo()가 포함된 php파일을 하나 만들고 웹 브라우저에 띄워보자.

phpinfo()

Xdebug관련 항목이 나오면 정상이다.

 
 

태그: , , ,