WP 메타 박스의 기본 위치를 변경하는 방법은 무엇입니까?


답변:


22

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');
}

사이드 컬럼에서이를 제거하고 기본 컬럼에 추가합니다. 변경 post이 예제는 어떤 사용자 정의 포스트 유형의 이름은합니다.


이것이 이상적입니다. 다시 한번 Milo에 감사드립니다.
Mr.Brown

@Milo : 함수 이름 이 add_meta_box()필요한 것처럼 $callback워드 프레스에서 사용 하는 함수 이름을 어떻게 알 수 있습니까? meta_box '카테고리'(#categorydiv)를 사이드 바에 대해 동일한 작업을 수행하려고한다고 가정하십시오.
Mayeenul 이슬람

5
@MayeenulIslam 파일을 보면 /wp-admin/edit-form-advanced.phpWordPress가 모든 핵심 메타 박스와 콜백 및 인수가 추가되는 위치를 볼 수 있습니다. 카테고리의 경우입니다 post_categories_meta_box.
Milo

5

나도 이것으로 고투했다. 레이아웃 / 순서를 재정의하는 명확한 방법을 찾지 못했습니다. 특히 사용자가 상자를 드래그 할 때 / 변경 할 때 변경 될 수 있기 때문입니다.

나는 워드 프레스 (보통 돈을 지불)로 일을하고 싶습니다.

워드 프레스는 화면 당 사용자 당 드래그 한 위치를 저장하며, 사용중인 페이지 / 화면에 따라 사용하는 사용자 메타 키가 많이 있습니다.

따라서 각 새 사용자에 대해 조치 또는 필터를 추가하여 기본값을 원하는 방식으로 사용자 설정을 설정할 수 있습니다.
1) 영향을 줄 페이지를 끌어서 정렬 한 다음 2) phpmyadmin에서 사용자 메타의 id를 찾고 wp가 거기에 저장된 것을 확인하십시오. 3) 그런 다음 사용자가 개인 설정을 덮어 쓰지 않기 위해 해당 설정이 이미 설정되어 있지 않으면 다음과 같이 새 사용자 작업을 코딩하십시오. 수동 설정에서 찾은 값으로 원하는 방식으로 설정할 수 있습니다.

찾고있는 사용자 메타 메타 키에 대한 아이디어를 얻으려면 다음 스크린 샷을 참조하십시오. http://wpusersplugin.com/related-plugins/amr-user-templates/screenshots-for-user-templates/

(나는 일반 플러그인을 작성하여 관리자가 모든 종류의 페이지 / 화면에 대해 모든 사용자에 대해 선호하는 레이아웃을 정의 할 수있게되었습니다. 그런 다음 더 능숙 해지면 예를 들어 변경할 수 있습니다. 또한 wp가 변경 될 때도 깨지지 않습니다. 플러그인으로 템플릿 사용자 값을 가져 오는 것만으로 값을 하드 코딩 된 값으로 설정하지 않습니다.)


1
이 접근법의 아이디어가 마음에 들지만 Milo의 ​​솔루션은 훨씬 빠르기 때문에 대신 샷을 줄 것입니다.하지만이 접근법에 대해서도 알려 주셔서 감사합니다. 나중에이 방법을 사용하여 조사해 볼 것입니다. 나는 당신의 의견을 1up'd.
Mr.Brown

3
Anmari가 제안한 플러그인은 유료 상용 플러그인이며 지난해 8 월 이후 업데이트 된 것처럼 보이지 않습니다. 그 플러그인을 계속 유지하고 있습니까? 그렇지 않은 경우 Github에서 공유를 고려 했습니까?
unfulvio

이 방법을 공유해 주셔서 감사합니다.
Maor Barazany

0

메타 박스를 정확하게 주문하려면이 플러그인을 사용할 수 있습니다 : https://wordpress.org/plugins/post-meta-box-order/

사용자 옵션 (table wp_usermeta)의 meta-box-order_post에서 재생됩니다.

참고 1 :이 기술은 플래그 끝을 변경하여 모든 사용자 정의 CPT에 적용 할 수 있습니다. meta-box-order_ [YOUR_CPT]

참고 2 : 플러그인 코드에서 해시를 변경하여 모든 기존 사용자에게 새 주문을 적용하는 것을 잊지 마십시오.

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.