Skip to content

Releases: he-works/wp-he-sorts

v1.0.16

Choose a tag to compare

@Seunghan-Lee Seunghan-Lee released this 03 Jul 06:01

치명적 버그 수정

자동 업데이트("지금 업데이트") 진행 시 "Cannot redeclare he_sorts_init()" 오류로 플러그인이 자동 비활성화되던 문제를 수정했습니다.

원인: GitHub에서 내려받은 압축 파일의 폴더명(wp-he-sorts-main)과 실제 설치된 폴더명(plugin-HE-SORTS)이 달라서, 워드프레스 코어가 업데이트 후 재활성화를 시도할 때 잘못된(예전) 폴더 경로를 기준으로 삼아 이미 로드된 플러그인과 같은 함수가 선언된 파일을 다시 불러오면서 충돌이 발생했습니다.

after_install() 훅에서 destination_name 값도 함께 올바르게 갱신하도록 수정했습니다.

⚠️ 이 문제로 인해 v1.0.15로 자동 업데이트를 시도하다 플러그인이 비활성화되신 분은, 자동 업데이트가 아니라 FTP로 파일을 직접 교체한 뒤 플러그인을 다시 활성화해주세요.

v1.0.15

Choose a tag to compare

@Seunghan-Lee Seunghan-Lee released this 03 Jul 05:00

버그 수정 (핵심)

에디터 페이지 CSS가 워드프레스 좌측 관리자 메뉴와 본문을 함께 감싸는 #wpwrap을 display:flex; flex-direction:column으로 강제 변경하고 있었습니다. 이로 인해 워드프레스 자체의 메뉴 위치 계산 스크립트와 충돌해 관리자 메뉴가 화면 하단으로 밀려나고 편집 화면이 대부분 빈 여백으로 보이는 문제가 발생했습니다.

#wpwrap/#wpcontent/#wpbody는 더 이상 건드리지 않고, HE SORTS 자신의 래퍼(.he-sorts-wrap)에만 calc(100vh - 관리자바 높이)로 높이를 직접 계산해 적용하도록 변경했습니다.

기타

  • SortableJS를 외부 CDN(jsdelivr) 대신 플러그인 내장 파일로 전환 (외부 스크립트 차단 환경 대응)
  • SortableJS 로드 실패 시에도 나머지 에디터 기능은 정상 동작하도록 초기화 로직 분리

v1.0.14

Choose a tag to compare

@Seunghan-Lee Seunghan-Lee released this 24 Apr 07:54

버그 수정

  • 하위 항목 분산 문제 수정: 1뎁스 항목(하위 메뉴 포함)을 2뎁스로 이동 후 다시 1뎁스로 꺼낼 때 하위 항목이 기존 부모 아래에 남아있던 문제 수정 — recalculateParents() 를 "유효한 parentId 유지 + 이동한 항목만 DOM 재탐색" 하이브리드 방식으로 수정
  • 레이블에 </span> 출력 문제 수정: 초기화(reset) 후 에디터 메뉴 텍스트 옆에 </span> 문자가 출력되던 문제 수정 — strip_menu_badge() 를 중첩 <span> 처리가 가능한 strip_tags() 방식으로 변경

v1.0.13

Choose a tag to compare

@Seunghan-Lee Seunghan-Lee released this 23 Apr 09:48

v1.0.13 (2026-04-23)

  • 버그 수정: 부모 항목 삭제 시 자식 항목이 고아로 남아 depth가 강제 감소되던 문제 수정 — 삭제 시 하위 항목 전체(block)를 함께 제거하고 하위 항목 수를 confirm 메시지에 표시
  • UX 개선: 에디터 높이를 calc(100vh - 73px) 고정값 대신 flex-chain으로 계산 — WP 버전·테마별 관리자바 높이 차이 대응
  • UX 개선: WP 관리자바 실제 높이를 JS로 읽어 --wp-admin-bar-h CSS 변수로 주입 — 헤더 sticky top이 정확하게 적용됨

v1.0.11

Choose a tag to compare

@Seunghan-Lee Seunghan-Lee released this 23 Apr 09:03

v1.0.11 (2026-04-23)

  • 버그 수정: 드래그로 항목을 이동할 때 하위 메뉴가 따라오지 않던 문제 수정
  • 버그 수정: 1뎁스 항목을 2뎁스로 이동 시 하위 메뉴가 전부 열려 보이고 토글 화살표가 작동하지 않던 문제 수정
  • 버그 수정: duplicate_page_settings 등 원래 1뎁스였던 메뉴를 2뎁스로 이동 시 권한 오류 수정
  • 버그 수정: googlesitekit-settings 등 3뎁스 메뉴 빈 화면 문제 추가 개선 ($_parent_pages 올바르게 업데이트)

v1.0.10

Choose a tag to compare

@Seunghan-Lee Seunghan-Lee released this 23 Apr 08:00

변경 사항

버그 수정

  • 3뎁스 메뉴 권한 오류: hbu-settings, googlesitekit-settings 등 접근 시 "권한 없음" 오류 해결
    • 원인: WordPress admin.php가 non-.php 부모 슬러그를 가진 depth-3 항목의 훅 이름을 잘못 계산 (admin_page_xxx vs. 실제 등록된 이름)
    • 해결: PHP에서 $_registered_pages에 별칭 추가 + 액션 위임으로 접근 허용
  • 항목 이동 시 하위 메뉴 자동 펼쳐짐: 메뉴를 다른 항목 하위로 이동할 때 하위 메뉴가 모두 펼쳐지던 문제 수정

UX 개선

  • 3뎁스 이동 차단: 하위 메뉴가 있는 항목은 3뎁스로 이동 불가 (드래그·들여쓰기 버튼 모두 차단)
  • ▲/▼ 버튼 위치 변경: 드래그 핸들 바로 우측(메뉴 아이콘 왼쪽)으로 이동 — 펼치기/접기 화살표와 혼동 방지
  • 드래그 핸들 아이콘 변경: ≡ (hamburger) 스타일로 변경

v1.0.9

Choose a tag to compare

@Seunghan-Lee Seunghan-Lee released this 23 Apr 07:35

변경 사항

버그 수정

  • 권한 오류 수정: hbu-gdrive, duplicate_page_settings 등 플러그인 페이지 접근 시 '권한 없음' 오류 해결 — PHP URL 정규화 제거, 클라이언트 JS(he-sorts-menu.js)에서 처리
  • 커스텀 메뉴 아코디언 수정: HE SORTS로 추가한 커스텀 메뉴의 하위 항목으로 이동 시 WP 관리자 사이드바에서 해당 메뉴가 펼쳐지지 않던 문제 수정

신규 기능

  • ▲/▼ 이동 버튼: 각 항목 우측에 위/아래 화살표 버튼 추가 — 드래그 없이 클릭으로 동일 레벨 한 칸씩 이동 가능

UX 개선

  • 헤더 버튼 이동: 저장 / 항목 추가 / 구분선 / 초기화 버튼을 상단 헤더 우측으로 이동 (기존 사이드바 컬럼 제거, 트리 패널 공간 확대)
  • 자동 접힘: 드래그·들여쓰기·내보내기로 뎁스 변경 시 이동된 항목의 하위 메뉴 자동 접힘 처리

v1.0.8

Choose a tag to compare

@Seunghan-Lee Seunghan-Lee released this 23 Apr 05:22

v1.0.8 (2026-04-23)

버그 수정

  • 2뎁스·3뎁스로 이동한 메뉴 클릭 시 프론트 404 에러 수정
    • 서브메뉴 URL을 admin.php?page=slug 형식으로 정규화
    • 커스텀 부모 아래로 이동한 항목도 올바른 관리자 URL로 이동

UX 개선

  • 드래그 시 접혀있는 하위 메뉴가 강제로 펼쳐지던 현상 수정
    • 수동으로 펼친 하위 메뉴만 그대로 유지됨
    • 드래그 종료 후 접힘 상태 정상 복원

설치 방법

he-sorts-1.0.8.zip 을 WordPress 플러그인 업로드 화면에서 업로드하세요.
기존 버전이 설치되어 있다면 "이미 설치된 플러그인 교체" 옵션이 표시됩니다.

v1.0.7

Choose a tag to compare

@Seunghan-Lee Seunghan-Lee released this 23 Apr 04:28

v1.0.7 (2026-04-23)

버그 수정

  • 커스텀 메뉴 항목의 target="_blank" 설정이 실제 관리자 메뉴에 반영되지 않던 문제 수정
  • 구분선 slug가 WordPress 기본 구분선과 충돌할 수 있던 문제 수정
  • 자동 업데이트 시 파일시스템 초기화 오류 및 같은 경로 이동으로 인한 파일 삭제 버그 수정

보안 강화

  • 커스텀 메뉴 아이콘 필드에 이미지 URL 입력 시 올바르게 sanitization 처리

안정성

  • Firefox 등 일부 브라우저에서 드래그 depth 추적이 작동하지 않던 문제 수정 (SortableJS onMove 활용)
  • 손상된 config 데이터로 인한 무한 재귀 방지 로직 추가

설치 방법

he-sorts-1.0.7.zip 파일을 WordPress 플러그인 업로드 화면에서 업로드하세요.
기존 버전이 설치되어 있다면 "이미 설치된 플러그인 교체" 옵션이 표시됩니다.

v1.0.6

Choose a tag to compare

@Seunghan-Lee Seunghan-Lee released this 23 Apr 00:23
[1] _blank target 적용 admin_head 훅 + inject_custom_target_script() 메서드 추가. 커스텀 메뉴에 target: '_blank'가 저장되어 있으면 JS로 실제 메뉴 링크에 주입
[2] 구분선 slug 충돌 방지 separator-he-10 → separator-he-sorts-10 형식으로 변경해 다른 플러그인과 충돌 제거
[3] 아이콘 URL 입력 허용 http로 시작하면 esc_url_raw(), Dashicon 클래스명이면 sanitize_html_class() 처리. 빈 값 fallback 추가. sanitize_config()와 ajax_add_custom_item() 두 곳 모두 수정
[4] 드래그 depth 추적 안정화 document.mousemove 리스너 삭제, SortableJS onMove 콜백으로 대체 → Firefox 등에서 mousemove 미발화 문제 해결. dragStartX는 onStart의 evt.originalEvent.clientX에서 캡처
[5] DFS 무한루프 방지 he_sorts_dfs()에 &$visited 파라미터 추가. config 데이터 손상으로 순환 참조 발생 시에도 무한 재귀 방지