워드프레스 쇼트코드 생성: 파라미터 활용 가이드

워드프레스 개발 - 파라미터를 포함한 쇼트코드 생성

카테고리

프로그래밍/소프트웨어 개발

서브카테고리

웹 개발

대상자

  • 워드프레스 개발자
  • PHP와 워드프레스 쇼트코드 활용에 관심 있는 중급 이상 개발자
  • 난이도: 중간 (PHP 기본 지식과 워드프레스 쇼트코드 이해 필요)

핵심 요약

  • add_shortcode("prices_table", "handle_prices_table_shortcode") 함수로 쇼트코드를 등록
  • array_change_key_case($atts, CASE_LOWER)로 파라미터 이름을 소문자로 통일
  • shortcode_atts()로 기본값(header, body)을 설정하고 사용자 입력으로 덮어씌움

섹션별 세부 요약

1. 쇼트코드 등록 및 기본 구조

  • add_shortcode() 함수로 쇼트코드 이름과 콜백 함수를 연결
  • 콜백 함수 handle_prices_table_shortcode$atts$content를 매개변수로 받음
  • $content가 존재하면 빈 값 반환 (내용을 포함하는 쇼트코드는 본 문서에서 다루지 않음)

2. 파라미터 처리 및 기본값 설정

  • $atts 배열의 키를 소문자로 변환: array_change_key_case($atts, CASE_LOWER)
  • shortcode_atts()로 기본값 정의:

```php

array(

"header" => array("#","Fruit Name","Fruit Price"),

"body" => array(

array("Fruit 1","Price 1"),

array("Fruit 2","Price 2")

)

)

```

  • 사용자 입력이 없을 경우 기본값이 자동으로 적용됨

3. 테이블 생성 로직

  • 테이블 헤더 생성: $finalAtts['header'] 배열을 순회하며 태그 생성

```php

for($i = 0; $i <= count($finalAtts['header']); $i++ ){

$htmlMarkup .= "".$finalAtts['header'][$i]."";

}

```

  • 테이블 본문 생성: $finalAtts['body'] 배열을 순회하며 / 태그 생성

```php

foreach($finalAtts['body'] as $index => $rowValues ){

$num = $index + 1;

$htmlMarkup .= "".$num."";

foreach($rowValues as $record ){

$htmlMarkup .= "".$record."";

}

}

```

  • 최종 HTML 문자열을 return $htmlMarkup;로 반환

결론

  • 쇼트코드 파라미터는 소문자로 통일하고 shortcode_atts()로 기본값을 설정해 안정성을 확보하세요
  • 테이블 생성 시 foreachfor 루프를 활용해 배열 데이터를 HTML로 변환
  • 생성한 쇼트코드는 워드프레스 게시물에 [prices_table]로 직접 삽입하여 테스트 가능