워드프레스 이야기
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
.htasccess 파일로 WordPress 디렉토리 보호,잠금
개인적으로 모든 메모를 워드프레스에서 관리하기로 마음먹고 이것 저것 설정하다보니 미디어 파일에 올라가는 pdf pptx xlsx 과 같은 파일을 암호화 또는 접근할 수 없게 설정해야 했다. 하지만 나는 또 봐야하는 입장이었다. 워드프레스에서 구성해서 하는 것은 한계가 있어서 웹서버에서 접근 할 수 없게 설정해야겠다 생각했다. 1단계 일단 인증받지 못한 유저가 접근하려할때 나타낼 401.html을 워드프레스 루트폴더에 생성 2단계 … Continued