상현

wordpress

wp_nav_menu()로 생성된 submenu ul에 클래스이름 추가

wp_nav_menu()로 생성된 메뉴중에 서브 메뉴에 ul에 클래스를 부여할 수 있는 옵션이 없다. 어떻게하면 서브메뉴에 특정한 클래스를 부여할 수 있을까? WordPress에서 메뉴 HTML을 만드는 데 사용하는 ‘walker’개체를 확장 할 수 있습니다. 하나의 메서드만 재정의 하면 됩니다. 그런 다음 워커의 인스턴스를 인수로 전달하면 다음 wp_nav_menu와 같습니다.

wp_nav_menu()로 만드는 메뉴에서 li에 클래스 추가하는 방법

커스텀 워커를 만들 필요없이 추가 인수를 사용하고 nav_menu_css_class에 대한 필터를 설정하면 된다. use case

Archive 페이지에서 게시판 스타일

https://gist.github.com/Hansanghyeon/2b441b8b91a07b97869c44c51972c567 Table style <table /> <div /> bootstrap layout CHANGELOG 2021-02-07 Added 맨 첫 페이지버튼, 마지막 페이지 버튼 예외처리로 추가 첫 번째 페이지 일때는 disable 클래스를 부여

현재 페이지에서 네비게이션 부모 쿼리 가져오기

지금까지 페이지에서 object_id로 부모 메뉴 이름을 얻었습니다. 단, 메뉴에서 Archive 페이지로 이동하면 object_id가 0이므로 상위 메뉴를 가져올 수 없었습니다. 위 방법으로 어느 타입의 페이지든 네비게이션 목록에서 현재 페이지가 네비게이션 목록의 부모 이름을 가져와서 해결했습니다! 하지만 Archive 페이지 자체는 메뉴에 등록되어있기 때문에 원하는 대로 나왔는데 해당 글타입의 상세페이지를 모두 메뉴에 등록할 수 없기때문에 문제가 생겼습니다. 메뉴에 … Continued

archive template 폴더, 파일 지정

특정 포스트타입의 archive 템플릿을 위처럼 정의할 수 있습니다.

외부네트워크가 차단된 워드프레스 설정추가

베어본 형태나 VPN 같이 단절된 환경일때 플러그인 메뉴나 업데이트 메뉴에서 외부의 요청을 기다리게 된다. 워드프레스는 외부와 통신을 차단할 수 있는 옵션이있다. 위 설정을 하게되면 모든 외부 통신을 차단하게 된다. 하지만 단절된 환경이 아닌 의도적으로 차단하는 경우도 있다. 그럴때 예외적으로 몇몇 호스팅만 허용하게 만드는 방법도 있다. 위 처럼 적용하게 되면 *.wordpress.org의 요청들을 차단하지 않는다.

wp-grahpql 코드블럭 entity

워드프레스에서 렌더링할때는 문제가 없었는데 wp-graphql로 데이터를 받을때 코드블럭 내부의 < 와 같이 특수한 entity 문자들이 인코딩되어서 나오는 문제가 있었다. 위 필터로 해당 문제를 해결 할 수 있었다.

구텐베르그 자동임베드 비활성화하기

구텐베르그에서 링크를 삽입하면 무조건적으로 embeded 되는 이러한 UX 나에게는 너무나 불편했다. 단지 링크로 삽입하고 싶었을 뿐인데 해당 구텐베르그의 자동임베트를 비활성화하는 방법은 functions.php에 해당 액션을 추가해주면 된다. embeded되는 ux가 비활성화되는 것이지 아직 링크가 링크로만 삽입되는 것은 불가능했다. embeded되는 프로레스가 없어서져서 바로 링크로 변환하면 된다.

워드프레스 미디어 파일 다운로드

워드프레스에서 미디어에 사진을 보면서 쉽게 다운로드 받는 방법이 없을까 고민했다 항상 자료를 다운받을때 URL을 입력하고 해당 URL에 접속해서 save했으니까.. 불편했다. https://wordpress.org/plugins/download-media-file/ 이 플러그인을 이용하면 미디어 파일에 손쉽게 다운로드 받을수 있는 UI를 만들어 준다 추가적으로 동일 파일에 미디어에 표시는 하고 싶지않고 uploads에 직접적으로 올려둔 이미지들도 링크해 두고 싶어서 플러그인 내부를 조금 수정해서 개인적으로 사용하게 만들었다. 이런 … Continued