2012-10-29 2 views
2

Wordpress에서 플러그인 (WooCommerce)에 의해 추가되는 기존 메타 박스를 편집하려고하는데 어떻게해야할지 모르겠다.Wordpress에서 기존 WooCommerce 메타 박스 편집하기

add_meta_box('woocommerce-product-data', __('Product Data', 'woocommerce'), 'woocommerce_product_data_box', 'product', 'normal', 'high'); 

을 .. 그래서 화면에 HTML을 출력하는 함수이다 woocommerce_product_data_box() :

메타 박스는이 광고에 추가된다. 모든 기능을 잃지 않고이 기능을 편집 할 수있는 방법이 있습니까? 나는 그것의 일부만 제거하고 원래의 기능은 수정하지 않고 자한다.

필터로 어떻게 든이를 수행 할 수 있습니까? 아니면 다른 아이디어?

감사합니다.

답변

6

writepanel-product_data.php 파일에 해당 메타 상자를 쓰는 실제 함수를 찾을 수 있습니다. 24 행 :

function woocommerce_product_data_box() 

제품 데이터에있는 모든 것을 나열합니다. WooCommerce API를 사용하여 텍스트 상자 나 드롭 다운을 추가 할 수 있습니다. 드롭 다운 들어

woocommerce_wp_text_input(array('id' => 'YOURCUSTOMID', 'class' => '', 'label' => __('THELABELOFTHEFIELD', 'woocommerce'))); 

- - 추가 또는 삭제할 장소, 텍스트 필드에 대한 해당 시점

찾기 그래서

woocommerce_wp_select(array('id' => 'YOURCUSTOMID', 'label' => __('THELABELOFTHEFIELD', 'woocommerce'), 'options' => array(
      'OPTION1' => __('Option 1', 'woocommerce'), 
      'OPTION2' => __('Option 2', 'woocommerce'), 
      'OPTION3' => __('Option 3', 'woocommerce'), 
      'OPTION4' => __('Option 4', 'woocommerce'), 
      'OPTION5' => __('Option 5', 'woocommerce') 
      ))); 

, 당신은 입력을 제공 ID, YOURCUSTOMID을 입력 한 다음 관리자가 입력란에 내용을 입력 할 때 표시 할 내용을 레이블로 지정하십시오 (THELABELOFTHEFIELD).

Wordpress 게시물/페이지의 맞춤 메타 박스와 동일하지만 여전히 저장해야합니다. 위의 설명은 메타 박스 데이터를 저장하고 있음을 알려줍니다.

update_post_meta($post_id, 'YOURCUSTOMID', stripslashes($_POST['YOURCUSTOMID'])); 

을하고 당신 사용자 ID에 대한 변경 - 그럼, 당신은 그냥 모여 어떤 사용자 ID 저장 코드의 라인을 삽입합니다. global이 선언 된 후에는 해당 코드 행을 배치하십시오.

당연히 필드를 제거하기 위해 두 기능에서 모으고 싶지 않은 필드를 주석 처리 할 수 ​​있습니다.

희망이 있습니다.

+0

'writepanel-product_data.php'는 어디에서 찾을 수 있습니까? v2.3.8을 사용하고 있습니다. –

관련 문제