programing

고급 사용자 정의 필드 - 이전에 선택한 분류법으로 사후 개체 필드 필터링

jooyons 2023. 10. 17. 20:14
반응형

고급 사용자 정의 필드 - 이전에 선택한 분류법으로 사후 개체 필드 필터링

이벤트라는 사용자 지정 게시물 유형이 있는데, 많은 위치 목록에서 선택한 위치를 추가하고자 합니다.이 과정을 더 쉽게 하기 위해 지역성이라는 범주로 이 위치들을 필터링하고자 합니다.

이를 위해 Locations라는 사용자 지정 게시물 유형과 Locality라는 사용자 지정 분류법을 만들었습니다.로컬리티(Taxonomy) 및 로케이션(Locations)(Post Object)에 대해 두 개의 드롭다운을 보유한 필드 그룹이 각 이벤트에 추가되었습니다.

제가 아직 달성하지 못한 것은 선택한 지역에 따른 위치 필터입니다.

현재 선택한 다른 사용자 정의 필드에 따라 선택한 항목을 동적으로 필터링하고 관리자가 선택한 항목을 변경할 수 있다고 생각하지 않습니다.WP_Query와 매우 유사한 쿼리 수정을 통해 필드에 표시되는 선택 항목을 필터링할 수 있으며, 즉시 수행할 수는 없다고 확신합니다.

저는 거의 속임수를 쓰고 분류 체계로 게시물을 만드는 대신, 게시물 이름 자체에 지역성과 위치를 모두 포함합니다.

그러니까, 분류학과 함께 [런던 박물관]을 게시하세요 [런던]

가 될 것입니다

[런던][런던박물관]

[런던][하이드파크] 등

혹은 비슷한 것.특정 지역에 한 곳만 지정하고 싶으시다니...

그런 다음 관계 필드를 만들고 런던 박물관을 찾을 때마다 입력합니다.

런던 뮤즈...

지금쯤이면 이 질문이 진부한 것 같지만, 이벤트에 위치와 지역이라는 두 개의 사용자 정의 필드를 추가하면 사용자의 삶이 더 쉬워질 것입니다.이렇게 하면 두 개의 테이블을 결합할 필요가 없고 WP meta_query를 사용하여 게시물을 쉽게 필터링할 수 있습니다.

로컬리티를 선택할 때마다 해당 위치가 표시되어야 하고 마지막으로 이벤트를 위치로 필터링할 수 있어야 한다는 것을 이해했습니다.

=> 위치 설정을 위해 지역성과 위치에 대한 두 개의 드롭다운을 할당했습니다.ajax를 사용해야 합니다. 로컬리티를 선택하면 다음 드롭다운에서 선택한 로컬리티에 대한 옵션이 표시됩니다.

=> 이벤트 게시글에 값을 추가하려면: 두 가지 옵션이 있을 수 있습니다 i) 위치를 분류 체계로 추가하고 "세금 쿼리"를 사용하여 필터 ii) 위치를 이벤트의 상위로 추가하고 wp_query에서 "child of"를 검색하여 필터할 수 있습니다.

두 가지 옵션이 있습니다.

  1. 로컬리티 필드를 변경할 때 위치 필드를 필터링하도록 사용자 정의 js를 프로그래밍합니다.ACF는 HTML의 모든 필드에 대해 필드 ID를 설정하기 때문에 이 작업은 그리 어렵지 않을 것입니다.이 js 스크립트를 관리 후크(아마도 admin_enqueue_scripts, 이 솔루션을 확인하십시오)에 입력하고 사용자 지정 게시 유형을 필터링할 수 있습니다.

  2. 모두 ACF gui에서 할 수 있지만, 약간의 속임수이기도 하고, acf의 분류학 분야에 대한 조건부 논리가 부족하기 때문이기도 합니다.이벤트 acf 필드에 로컬리티가 있는 만큼의 위치 필드를 작성해야 합니다.그런 다음 이 위치를 특정 지역으로 설정합니다.enter image description here 이제 이상한 부분이 나옵니다.지역성이 예를 들어 다음과 같은 경우 표시할 조건부 논리를 설정할 수 있습니다.러시아, 하지만 '구체적 가치' 분야가 부족합니다.따라서 두 가지 규칙을 설정해야 합니다. 하나는 '보다 크다'를 설정하는 것이고, 하나는 '보다 적다'를 설정하는 것입니다. 이 규칙은 지역이 많은 경우에는 어려움이 있겠지만, 지역 목록에 몇 개의 항목만 있는 경우에는 좋은 선택이 될 수 있습니다.위치 필드의 이름을 모두 '위치'로 지정하면 get_field('위치')로 값을 얻을 수 있습니다.이 테스트를 해봤는데 모든 위치 필드의 이름에 충돌이 없습니다.location. ACF는 그곳에서 꽤 괜찮은 일을 해왔고, 이 분야들에 대한 독특한 이름들을 가지고 있으며, 당신이 원하는 대로 이 분야들에 이름을 붙일 수 있습니다.

언급URL : https://stackoverflow.com/questions/42671558/advanced-custom-fields-filtering-a-post-object-field-by-previously-chosen-taxo

반응형