wp_localize_script()로 숫자를 전달할 때

아래 예제 코드와 결과를 보면 명확하다. wp_localize_script() 로 전달한 연관 배열의 최상위 키의 값들은 모두 문자열로 변경된다. 때때로 PHP 측에서 자바스크립트 쪽으로 값을 전달할 때 타입이 달라 의도치 않은 버그를 낼 때가 있다. 이것은 wp_localizae_script() 함수의 알짜인 WP_Scripts::localize() 함수 구현에서 이유를 찾을 수 있다. 함수 내부에서 배열 내부의 키/값을 순회하면서 값을 문자열로 캐스팅한다. 단, 스칼라가… wp_localize_script()로 숫자를 전달할 때 계속 읽기

우커머스 장바구니 추가 로직에 대해 노트

우커머스 상거래 중 기본이 되는 작업 중 하나는 장바구니에 물건을 담는 과정일 것이다. 관련 플러그인 개발을 하면서 자꾸 이 부분을 반복하게 된다. 하여 이 과정을 아주 간단하게 노트한다. 우커머스에는 기본적으로 네 가지 상품 타입이 존재한다. 기본 상품 (simple) 옵션 상품 (variable) 그룹 상품 (grouped) 외부 상품 (external) 이중 외부 상품은 사이트 외부의 상품을 단순 링크할… 우커머스 장바구니 추가 로직에 대해 노트 계속 읽기

멀티사이트의 멀티사이트, 멀티 네트워크

멀티 사이트는 여러 워드프레스 사이트를 하나의 설치본으로 관리할 수 있게 한다. 이렇게 만들면 데이터베이스에는 추가적으로 테이블이 생기게 된다. 이 중 wp_blogs, wp_site 가 눈에 뜨인다. 보통 멀티사이트를 만들면 wp_blogs 에는 멀티로 만든 사이트 목록이 기록된다. 그리고 wp_site는 주로 단일 레코드가 기록될 것이다. 그런데 wp_site의 레코드를 통해 멀티사이트의 확장이 가능하다. 즉, 하나의 워드프레스 설치본으로 멀티사이트를 여러… 멀티사이트의 멀티사이트, 멀티 네트워크 계속 읽기

ESNext #6: Hooks

훅 기능은 워드프레스에서 구현한 기능이며 일반적인 자바스크립트가 아니지만, 카테고리를 간결하게 유지하고 싶어 이 곳에 작성한다. PHP에서 작성된 add_action, add_filter 같은 훅 제어가 JavaScript에서도 아주 유사하게 작성되어 있다! 자바스크립트가 비동기 방식이고, 이벤트 핸들링을 위해 콜백 함수를 쓰는 것이 매우 일상적이긴 하지만, 자바스크립트 고유의 콜백 방식을 쓰기는 조금 난감할 때가 있는데, 이 패키지를 사용하면 문제 없이 훅을… ESNext #6: Hooks 계속 읽기

발행일
카테고리 ES Next

ESNext #5: 동적 렌더링과 사이드바에 커스텀 필드 편집

지난 포스트에서는 블록의 속성값에 대해 간단하게 알아 보았다. 블록이 어떻게 자신의 값을 저장하고 표현하는지 알 수 있었다. 블록은 HTML 주석 부분에 블록이 필요한 데이터를 JSON 형태로 저장하거나, 자신이 가지고 있는 HTML 마크업 구조에서 가져올 수 있고, 또 커스텀 필드로부터 가져올 수 있다. 단, 블록 자체는 HTML 코드 그대로 기록하기 때문에 이런 동적인 값들을 표현하려면 생짜… ESNext #5: 동적 렌더링과 사이드바에 커스텀 필드 편집 계속 읽기

발행일
카테고리 ES Next

ESNext #4: 블록 에디터 속성

블록 에디터는 post_content 필드에 직접 기록된다. 그리고 기본적으로 블록의 내용 또한 이 필드 안에 본문으로서 기록된다. 예를 들어, ESNext #2: 블록 제작에서 작성한 Hello, World! 블록은 다음처럼 텍스트로 기록된다. HTML 코드로 기록되는 것이 보인다. 그리고 주석으로 이것이 워드프레스 블록임을, 또 어떤 블록 타입인지를 기록하는 것이 보인다. wp:로 시작하고 /wp:로 닫는 것으로 보인다. ‘wp-esnext-study/wes02-hello-world‘는 내가 지정한… ESNext #4: 블록 에디터 속성 계속 읽기

발행일
카테고리 ES Next