숏코드shortcode 생성 및 사용 방법
숏코드(Shortcode)는 워드프레스에서 특정 기능을 간단하게 글이나 페이지에 삽입할 수 있도록 하는 짧은 코드입니다. 예를 들어, [address_translator]
숏코드는 우리가 만든 플러그인을 호출하여 한글 주소를 영문 주소로 변환하는 폼을 삽입합니다.
숏코드는 플러그인이나 테마의 functions.php 파일에 정의된 함수와 연결됩니다. 이 함수는 숏코드가 포함된 위치에 특정 HTML이나 PHP 코드를 삽입합니다.
숏코드 생성 및 사용 방법
1. 숏코드 생성
아래의 코드는 우리가 만든 플러그인 address-translator.php
에 숏코드를 정의하는 예입니다. 이 숏코드는 폼을 출력하며, 사용자가 한글 주소를 입력하고 변환 버튼을 클릭할 수 있도록 합니다.
<?php/*
Plugin Name: Address Translator
Description: Translates Korean addresses to English using public API.
Version: 1.0
Author: mesektok
*/
// 폼을 출력하는 함수 정의
function address_translator_form() {
ob_start(); // 출력 버퍼링 시작
?>
<form method=”post” action=””>
<label for=”korean_address”>한글 주소:</label>
<input type=”text” id=”korean_address” name=”korean_address” required>
<button type=”submit”>영문 주소 변환</button>
</form>
<div>
<?php
if ($_SERVER[‘REQUEST_METHOD’] === ‘POST’ && isset($_POST[‘korean_address’])) {
echo ‘<p>영문 주소: ‘ . fetch_english_address($_POST[‘korean_address’]) . ‘</p>’;
}
?>
</div>
<?php
return ob_get_clean(); // 출력 버퍼 내용을 반환하고 버퍼링 종료
}
// API 호출 및 주소 변환 함수 정의
function fetch_english_address($korean_address) {
$api_key = ‘your_api_key_here’;
$proxy = ‘http://your_proxy_ip:3128’;
$url = “https://api.data.go.kr/translate_address?serviceKey=$api_key&address=” . urlencode($korean_address);
$context = stream_context_create(array(
‘http’ => array(
‘proxy’ => $proxy,
‘request_fulluri’ => true,
),
‘ssl’ => array(
‘verify_peer’ => false,
‘verify_peer_name’ => false,
),
));
$response = file_get_contents($url, false, $context);
$data = json_decode($response, true);
if (isset($data[‘english_address’])) {
return $data[‘english_address’];
} else {
return “주소를 찾을 수 없습니다.”;
}
}
// 숏코드 등록
add_shortcode(‘address_translator’, ‘address_translator_form’);
?>
2. 숏코드 사용
워드프레스 관리자 페이지에서 글이나 페이지를 생성하거나 편집할 때, 우리가 정의한 숏코드를 삽입합니다.
- 새 글 또는 새 페이지 추가:
- 워드프레스 관리자 페이지에서 글 > 새 글 추가 또는 페이지 > 새 페이지 추가로 이동합니다.
- 숏코드 삽입:
- 글 또는 페이지 내용에
[address_translator]
숏코드를 입력합니다.
- 글 또는 페이지 내용에
[address_translator]
- 저장 및 게시:
- 글 또는 페이지를 저장하고 게시합니다.
- 게시된 페이지를 보면, 우리가 정의한 폼이 나타나고 한글 주소를 입력하여 영문 주소로 변환할 수 있는 기능이 동작합니다.
숏코드가 하는 일
- 입력된 한글 주소를 받아서 영문 주소로 변환하는 폼을 제공: 폼을 통해 사용자가 한글 주소를 입력할 수 있게 하고, 변환 버튼을 누르면 API를 호출하여 변환된 영문 주소를 출력합니다.
- 페이지 내에서 함수 호출: 숏코드는 특정 함수를 호출하여 해당 함수의 출력을 페이지에 삽입합니다.
결론
숏코드는 워드프레스에서 간단하게 특정 기능을 글이나 페이지에 삽입할 수 있도록 도와주는 강력한 도구입니다. 우리가 만든 플러그인의 경우, 숏코드를 사용하여 한글 주소를 영문 주소로 변환하는 기능을 손쉽게 사용할 수 있습니다.