범주 메타 박스에서 "+ 새 범주 추가"링크를 제거하는 방법


9

그 문제에 대한 Wordpress 카테고리 메타 박스 또는 사용자 정의 분류 상자 안에는 "+ Add New Category"라는 텍스트 링크가 있습니다.이 링크는 JS 또는 CSS 해킹을 사용하지 않고 제거하여 숨길 수있는 방법이 있습니까? 일종의 필터 또는 동작 후크를 사용하여 숨기는 방법이 가장 좋습니다.

조치 후크 또는 필터 메소드가 없으면 제거 할 수있는 최후의 수단으로 JS 및 CSS 솔루션을 사용할 수 있습니다.

내가 이것을하는 이유는 Magento와 통합 된 Wordpress 설치가 있고 Magento 데이터베이스의 브랜드 목록으로 "brands"라는 사용자 지정 분류법을 작성하고 채우므로 게시물을 브랜드에 할당 할 수 있기 때문입니다. 분명히 이것은 사용자가 자신의 용어를 추가하고 Magento와 동기화를 유지하기 위해 동적으로 추가 된 브랜드 만 선택할 수 있기를 원하지 않음을 의미합니다.

감사합니다.

답변:


14

기본 메타 박스는 파일에 등록되어 있습니다 wp-admin/includes/meta-boxes.php. 거기 post_categories_meta_box()에서 분류 메타 박스를 생성하는 함수 를 찾을 수 있습니다 . 현재 출력을 필터링하는 데 사용할 수있는 후크가 없습니다. 그러나 다음 중 하나를 수행 할 수 있습니다.

  1. 사용하여 remove_meta_box()기존의 카테고리 METABOX를 제거하고 당신의 자신을 등록합니다 add_meta_box(). 복사 및 과거 새 METABOX 함수에 기존 코드 라인의 코드 블록을 제거 345하는 367.
  2. 보다 확실한 방법 :으로 edit_terms사용자 역할에서 기능을 제거하십시오 remove_cap(). metabox 함수를 보면 온라인 345에서 사용자에게 기능이 있는지 확인하는 if 문을 볼 수 있습니다 edit_terms. 그렇다면가 + Add New XY표시됩니다. 여기서 문제는 기능 이름이 동적이며 무엇이든 될 수 있습니다. 다른 기능 이름으로 분류법을 등록하는 경우 작동하지 않을 수 있습니다 (예상되지 않음).

1
어 그래. 기능은 실제로 좋은 방법입니다. 그러나 나는 다른 분류법에서 특히 하나의 능력을 제거하고 싶지 않습니다. 나는 좋은 구식 CSS와의 링크를 숨기는 것이 가장 쉬운 선택이라고 결정했습니다. 좋은 제안에 감사드립니다.
Dwayne Charrington

2
rofflox의 게시물에 대해서는 언급 할 수 없지만 기능은 "manage_categories"로 변경되었습니다.
pkmatte

감사합니다! 이것은 내가 찾을 수있는 가장 좋은 방법입니다. 멀티 사이트에서이 기능을 사용하고 있으므로 "setup_network"기능을 사용하여 사이트 관리자가 플러그인으로 추가 된 분류법에 대해 이러한 기능을 사용하지 못하도록 편집 할 필요가 있습니다.
Sam
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.