2017-11-06 1 views
0

새 관리 메뉴를 추가하여 이벤트 목록을 표시하는 새로운 맞춤 플러그인을 만들었습니다. 특정 이벤트를 클릭하면이 이벤트에 대한 정보를 렌더링 할 내 플러그인의 다른 페이지로 사용자를 보내려고합니다. 간단하게 유지하고 쿼리 문자열 매개 변수를 사용할 수 있으므로 양식 POST를 수행 할 필요는 없지만 그뿐 아니라 또한 관심이 있습니다. 에서맞춤 플러그인 - 메인 페이지에서 다른 페이지로 데이터를 게시합니다.

  1. /my-plugin/reservation-management.php
  2. /my-plugin/reservation-management-details.php

내 설정 :

는 두 페이지가 있습니다 기본 페이지 (reservation-management.php) :

add_action('admin_menu', 'addReservationManagementMenuItem'); 

function addReservationManagementMenuItem(){ 

add_menu_page('Reservation Management', 'Reservation Management', 'manage_options', 'reservation_management_slug', 'reservation_management_building_function','',3); 

} 

첫 번째 화면을 구성하는 내 기능 내에는 일부 클릭 가능한 링크. 난 그냥 등, 코드를 단순화 일부 루프 로직을 제거

function reservation_management_building_function(){ 

if(!current_user_can('manage_options')){ 
    ?> 

    <h2>Clickable Link</h2> 
    <?php echo("<a href='reservation-management-details.php?id=$id'>Event</a>"); ?> 

<?php 
    } 
} 
?> 

하지만 예약 - details.php의 URL로 모든 이벤트를 작동하고 루프에서 렌더링 아이디 =의 x :는 단순화하기 위해? x는 각 이벤트의 고유 게시물 ID입니다.

문제는 단지 나를 찾을 수없는 페이지로 보냅니다. 심지어는 get_admin_url() 등을 사용하여 시도해 보았습니다.

사용자 정의 플러그인이 한 페이지에서 다른 페이지로 게시 할 수있는 기본적인 단계가 빠져 있다고 생각합니다. 아직 wp-admin 내에 있습니다.

href를 사용하여 관리자 사용자를 내 플러그인 디렉토리 내의 다른 관리 페이지로 안전하게 보내려면 어떻게해야합니까?

감사합니다.

답변

1

페이지가 플러그인에서 선언 되었습니까? 플러그인에 하위 메뉴 페이지를 추가해야하는 것 같습니다.

예 ( 편집) : 위의 예에서

add_action('admin_menu', 'addReservationManagementMenuItem'); 

function addReservationManagementMenuItem(){ 

add_menu_page('Reservation Management', 'Reservation Management', 'manage_options', 'reservation_management_slug', 'reservation_management_building_function','',3); 

//add any relative submenu pages here 
//you can have as many submenu pages as you need 
//please keep in mind that add_submenu_page() requires a different set 
//of parameters passed to it 

//if you want the submenu page viewed, and your function exists on your 
//plugin definition page 
add_submenu_page('reservation-management-details.php', 'Reservation Management Details', 'Reservation Management Details', 'manage_options', 'reservation_management_details_slug'); 

//if you don't want your submenu page accessible in the submenu 
//use null as the first parameter to remove it's inclusion from the submenu 
//specify the php file used 
add_submenu_page(null, 'Reservation Management Details', 'Reservation Management Details', 'manage_options', 'reservation-management-details.php'); 


} 

, 당신은 지금 그것을 정의했기 때문에, 플러그인에 새 페이지를 게시 할 수있을 것. 하지만 종종 나는 을 찾지 못합니다.은 '_POST'로 지정된 페이지에 누군가가 접근 할 수 있기를 원하므로 내 첫 번째 매개 변수는 null으로 설정됩니다.

편집 : 내 머리 꼭대기에서 기억할 수없는 유일한 점은 해당 POST URL이 있어야한다는 것입니다. 도움이 필요하면 알려주세요. 나는 그것을 해결해 줄 것입니다.

질문 사항이 있으면 알려주십시오.

+0

답장을 보내 주셔서 감사합니다. 하위 메뉴 페이지에서 reservation-management-details.php를 사용하셨습니까? 이후로 내 하위 페이지 .. 어쨌든 하위 메뉴 페이지는 항상 내가 만든 주 메뉴 아래에 실제 하위 메뉴를 추가합니까? 나는이 페이지를 아무도보고 싶지 않을 것입니다 - 나는 단지 그것에 게시 할 수 있기를 원합니다. 그래서 사용자는 submit 버튼을 눌러 그 페이지로 이동합니다. 위의 답변을 바탕으로 어떻게하면 메인 예약 관리 페이지에서 reservation-management-details.php에 게시 할 수 있습니까?게시물 URL은 무엇입니까? – NullHypothesis

+0

좋은 캐치. 답변에 수정되었습니다. – markp

관련 문제