모든 사용자 및 관리자에 대한 관리자 편집 패널 및 메타 박스 위치 및 가시성 설정


10

내 WP 3.3 설정에는 고급 사용자 정의 필드 플러그인 (많은 메타 박스를 생성 함) 및 SEO 메타 박스 패널, Scribu의 Posts2Posts 연결 등과 같은 다른 플러그인이 포함 된 여러 게시물 유형 및 사용자 정의 편집 패널이 포함됩니다.

문제는이 패널의 모양 순서가 종종 무작위입니다 (Adavanced Custom Fields가 일종의 순서를 제공하더라도), 다른 플러그인에는 없어서 더 이상 메타 박스를 변경하고 싶을 수도 있기 때문에 항상 작동하지는 않습니다 게시물 유형에 따라 위치).

이제 Wordpress를 통해 적절한 권한을 가진 각 관리자 / 사용자는 편집 패널에서 메타 박스를 원하는 방식으로 정렬 할 수 있습니다. 그러나 ... 모든 관리자는 자신의 것을 준비해야합니다! 기본 / 고정 순서를 준비하거나 특히 superadmin 또는 한 관리자가 EVERYBODY의 패널 위치를 설정하도록하는 방법이 없습니까?

최소 4 명의 관리자와 편집자 / 저자가 거의 없습니다. 각 계정으로 로그인하는 패널을 설정해야하는 것은 말이되지 않습니다 ... 어리 석고 시간이 많이 걸리며 비 WordPress에 정통한 사용자에게는 혼란 스럽습니다. .

내 경우에 도움이 될 수있는 플러그인 또는 코드 스 니펫이 있습니까?

감사합니다


누군가 1 년 전 WP 포럼에서 같은 quetsions를 요청, 그의 주제는 해결되지없이 답변을 방치하고 일부 관리자는 스레드 폐쇄 wordpress.org/support/topic/...
unfulvio

답변:


7

remove_meta_box를 사용하여 기본 메타 박스를 제거하고 add_meta_box를 사용하여 다른 위치에 다시 추가 할 수 있습니다.

add_action('do_meta_boxes', 'wpse33063_move_meta_box');

function wpse33063_move_meta_box(){
    remove_meta_box( 'postimagediv', 'post', 'side' );
    add_meta_box('postimagediv', __('Featured Image'), 'post_thumbnail_meta_box', 'post', 'normal', 'high');
}

위의 답변은 다음과 같습니다. WP 메타 박스의 기본 위치를 변경하는 방법은 무엇입니까?

최신 정보

주요 좌절이 순전히 사용 가능한 메타 박스의 양이고 각 사용자가 모든 박스를 필요로하지 않는다고 생각하는 경우 functions.php 파일에 추가 된 다음 코드를 사용하여 하위 사용자 역할 또는 모든 역할에서 해당 박스를 숨길 수 있습니다. 참고-이 방법은 단순히 메타 상자를 숨기고 비활성화하거나 제거하지 않습니다.

//Hide Post Page Options from all except Administrator
if (!current_user_can('administrator')){
function hide_post_page_options() {
global $post;
$hide_post_options = "<style type=\"text/css\"> #wptotwitter_div, wpseo_meta, #al2fb_meta, #misc-publishing-actions .misc-pub-section label, #misc-publishing-actions .misc-pub-section #post-status-display, #misc-publishing-actions .misc-pub-section .edit-post-status, #visibility.misc-pub-section, .al2fb_post_submit, #slugdiv, #edit-slug-box, #screen-options-link-wrap { display: none; }</style>";
print($hide_post_options);
}
add_action( 'admin_head', 'hide_post_page_options'  );
}

//Hide Post Page Options from ALL users
function hide_all_post_page_options() {
global $post;
$hide_all_post_options = "<style type=\"text/css\"> #taxonomy-category li.hide-if-no-js, #commentstatusdiv, #wypiekacz_sectionid, #postexcerpt, #trackbacksdiv, #postcustom, #yarpp_relatedposts { display: none !important; }</style>";
print($hide_all_post_options);
}
add_action( 'admin_head', 'hide_all_post_page_options'  );

기본적으로 쉼표로 구분 된 div id 또는 클래스를 입력하면됩니다. 방금 메타 박스와 영역을 숨길 수 있다는 것을 보여주기 위해 방금 떠났습니다.

#wptotwitter_div - WP to Twitter plugin
#wpseo_meta - Wordpress SEO by Yoastplugin
#al2fb_meta, .al2fb_post_submit - Add Link to Facebookplugin
#misc-publishing-actions .misc-pub-section label, #misc-publishing-actions .misc-pub-section #post-status-display, #misc-publishing-actions .misc-pub-section .edit-post-status, #visibility.misc-pub-section - Default Wordpress Publish Status and Visibility
#slugdiv, #edit-slug-box - The post slug
#screen-options-link-wrap - The "Screen Options" tab at the top of the page
#taxonomy-category li.hide-if-no-js - The "Most Used" categories tab
#commentstatusdiv - The comments on the post
#wypiekacz_sectionid - Wypiekacz plugin
#postexcerpt - Post excerpt
#trackbacksdiv - Trackbacks
#postcustom - Custom post fields
#yarpp_relatedposts - Yet Another Related Posts Plugin

(SE는 제목을 나타 내기 위해 #을 사용하기 때문에 예제를 "code"에 넣었습니다)

나는 당신처럼 모든 메타 박스에 몹시 좌절했기 때문에 이것을 당신에게 버릴 것이라고 생각했지만 궁극적으로 나는 원치 않는 박스의 수가 많았다 고 생각합니다. 내 웹 사이트의 "저자"의 경우 제목, 내용, 초안으로 저장, 지금 게시 또는 게시 일정, 태그, 카테고리 및 추천 이미지 ...가 전혀 간소화되었습니다.


그것은 내 문제를 해결하지 못합니다. 이렇게 wysiwyg 설정을 모든 사용자에게 복사하고 싶습니다 (따라서 패널의 모양을 한 번에 설정했습니다). 이유 : 일부 플러그인은 자체 메타 박스를 추가합니다. 또한 다른 게시물 유형의 경우 메타 상자를 적절하게 배치하고 싶습니다. Add_meta_box에는 도움이되지 않는 많은 메타 박스가있는 보통 / 높음 / 낮음 만 있습니다. 고급 맞춤 입력란에는 주문 번호가 있지만 다른 메타 박스가있는 경우에는 제대로 작동하지 않습니다. 이 작업을 수행하는 가장 좋은 방법은 wysiwyg입니다.
unfulvio

플러그인으로 생성 된 모든 추가 메타 박스를 사용하고 필요합니까? 필자는 불필요한 모든 메타 박스가 항상 나를 실망시키기 때문에 묻습니다. 그것이 실제로 귀하의 경우라면, 특정 사용자 역할에 필요하지 않은 상자를 단순히 숨기면 문제가 제거 될 수 있습니다.
Travis Pflanz

단순히 스타일을 사용하여 메타 박스를 숨기지 않고 사용자별로 메타 박스를 제거하지 않겠습니까?
Stephen Harris

내가 제거하는 모든 것이 메타 박스가 아니고 일부는 메타 박스의 일부이므로 두 가지가 아닌 하나의 기능 만 사용한다고 생각했습니다.
Travis Pflanz

트래비스, 이것 좀 더 써 줘서 고마워 그러나 CSS 솔루션은 메타 박스 이동 문제를 해결하지 못합니다 (이전의 필터링 및 재배치 솔루션은 부분적으로 수행함). 앞에서 언급했듯이 내 설정에는 특수 메타 박스가있는 많은 사용자 정의 게시물 유형이 있으며 거기에 있어야합니다. 실제로 숨기고 싶은 것은 거의 없습니다 (그러나 일부 관리자에게는 유용 할 것이므로 영구적으로 제거하고 싶지 않으며 CSS로 숨기는 것이 좋지 않습니다). 이 문제에 대한 만족스러운 해결책을 아직 찾지 못했습니다. 노력해 주셔서 감사합니다.
unfulvio

1

관리 플러그인 을 살펴 보셨습니까 ?

사용자 역할별로 메타 박스를 활성화 / 비활성화하고 위치를 구성 할 수도 있습니다. 구성하는 데 약간의 시간이 걸리며 문서는 적당하지만 장소에 얼룩이 있지만 설명하는 내용을 처리 할 수 ​​있습니다.


이 플러그인을 사용하면 가시성 만 "위치를 구성"할 수 없습니다 . 그것은 매우 멋진 플러그인입니다.
frnhr

플러그인을 자세히 보지 않았다고 고백하지만 플러그인을 조작 할 수 있다면 코드 추가를 통해 다른 플러그인을 조작 할 수 있습니다. 좋은 출발점을 만듭니다.
JCL1178
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.