2010-06-11 3 views
1

저는 Wordpress 플러그인을 만들고 기존 사용자 엔터티와 비슷한 "공급 업체"엔터티의 관리를 담당하는 메뉴 페이지를 추가했습니다.Wordpress - Plugin - Administration -?

모든 레코드에 대해 편집 버튼이있는 사용자 목록과 비슷한 목록 페이지가 있습니다. "편집"버튼을 클릭하면 "편집 공급 업체"로 이동해야합니다 (해당 하위 메뉴 항목이 관리자 메뉴) 페이지를 엽니 다. 모든 것은 "plugins/wp_vendors"폴더에 저장됩니다.

질문 : 해당 편집 페이지를 여는 데 사용해야하는 URL은 무엇입니까? 공급 업체 편집 페이지에서 슬러그를 어떻게 등록해야합니까?

추신. 공급 업체 목록

add_menu_page('Vendors', 'Vendors', 8, 'C:\wordpress\wp-content\plugins\wp-vendors\vendors-list.php'); 

와 관리자 메뉴에 추가됩니다 그리고 나는 사람이 나를 도와 줄 수

http://localhost/wp-admin/admin.php?page=wp-vendors/vendors-list.php 

와 목록 페이지를 열 수 있습니까?

add_menu_page('Vendors', 'Vendors', 'manage_options', 'wp-vendors', 'my_admin_page_callback'); 

사용자 수준의 인수가 사용되지 않습니다, 그래서 기능을 사용하는 것이 좋습니다 :

답변

2

음, 첫 번째 I는 초기 add_menu_page 호출을 수정 건의 할 것입니다. 또한 관리자 페이지에 콜백 함수를 사용하는 것이 좋습니다. 플러그인 파일 출력 데이터가 기본적으로 예기치 않은 오류를 유발할 수 있기 때문입니다.

자, 요청하는 것을 할 수있는 몇 가지 방법이 있습니다. 새 하위 메뉴를 등록 할 수 있습니다.

add_submenu_page('wp-vendors', 'Edit Vendor', 'Edit Vendor', 'manage_options', 'wp-vendors-edit', 'my_admin_edit_page_callback'); 

그런 다음 해당 기능을 사용하여 편집 할 공급 업체 ID를 확인하십시오. 존재하지 않으면 기본 공급 업체 메뉴 페이지로 다시 리디렉션하십시오. 이 방법

, URL은 다음과 같습니다

http://localhost/wp-admin.php?page=wp-vendors-edit&vendor=<vendor ID> 

다른 방법은 URL 인수를 사용하여 검사하는 경우와 관리자 페이지 콜백을 분리하는 것입니다. 예를 들어 :

http://localhost/wp-admin.php?page=wp-vendors&action=edit&vendor=<vendor ID> 
:

if((isset($_GET['action']) && $_GET['action'] == 'edit') && (isset($_GET['vendor']) && !empty($_GET['vendor']))){ 
    //You're editing a vendor. 
} else { 
    //You're listing the vendors. 
} 

는 다음과 같이 편집보기에 대한 링크를 만들