2011-03-16 2 views
2

이전 플러그인을 대체하는 플러그인이 만들어졌습니다. 기존 플러그인의 설정 페이지에서 새 플러그인을 다운로드하여 설치하고 이전 플러그인이 개발자가 더 이상 지원하지 않음을 알리는 링크가있는 알림을 만들고 싶습니다. 현재 내 관리자 패널의 플러그인 페이지에서 링크는 다음과 같이 설치하는 것은 :WordPress Plugin 설치 링크 생성 방법

  1. 확인 :

    http://www.example.com/wp-admin/network/update.php?action=install-plugin&plugin=wptouch&_wpnonce=a8d64aa295 
    

    URI를 만들 때 너무 명심 적어도 두 가지가 나에게 보인다 이 사이트가 다중 사이트 설정인지 여부

  2. 정확한 nonce가 생성되는지 확인하십시오.

아무도 제대로 할 방법을 알고 있습니까? 이 URI를 생성 할 때 고려해야 할 사항이 있습니까?

미리 도움을 주셔서 감사합니다.

답변

6

답변을 찾았습니다. wp-admin/import.php에는 이것이 어떻게 작동하는지에 대한 좋은 예가 있습니다. 당신의 관리자 페이지의 아무 곳이나 태그를 연결

$plugin_name = 'my_plugin_name'; 
$install_link = '<a href="' . esc_url(network_admin_url('plugin-install.php?tab=plugin-information&plugin=' . $plugin_name . '&TB_iframe=true&width=600&height=550')) . '" class="thickbox" title="More info about ' . $plugin_name . '">Install ' . $plugin_name . '</a>'; 

그럼 그냥 출력 :

여기 내 구현입니다.

당신이 공상 얻고 Thickbox와 모달 창 효과를 추가하려면, 단지 기능 add_thickbox()을 사용하고 같은 일반적인 관리 요청이라고 액션에 첨부 :

add_action('admin_menu', 'my_plugin_add_thickbox'); 
function my_plugin_add_thickbox() { 
    add_thickbox(); 
} 

것은해야한다고 그것!

+0

thickbox를 사용할 때 설치 버튼이 작동하지 않습니다. 다른 누구나 그 문제가 있습니까? – Danger

1
$action = 'install-plugin'; 
$slug = 'akismet'; 
wp_nonce_url(
    add_query_arg(
     array(
      'action' => $action, 
      'plugin' => $slug 
     ), 
     admin_url('update.php') 
    ), 
    $action.'_'.$slug 
); 

사용하십시오. 나는 이것을 발견하고 그것이 효과가있을 것이라 확신한다.