programing

WordPress 플러그인이 설치되었는지 확인하는 방법이 있습니까?

telebox 2023. 3. 28. 21:34
반응형

WordPress 플러그인이 설치되었는지 확인하는 방법이 있습니까?

플러그인이 Just installed인지 알 수 있는 방법이 있는지 알고 싶습니다.아직 활성화 되어있어도 상관없지만 플러그인이 설치되어있다면!

당신은 그것을 할 수 있는 좋은 방법을 알고 있나요?

좀 더 구체적으로 말씀드려야겠어요.플러그인이 어디에 있는지, 설치되어 있는지 확인하는 방법도 알고 있습니다.문제는 플러그인이 설치되어 있는지 프로그래밍 방식으로 확인할 수 있는지 여부입니다.

즉, WordPress는 플러그인의 액티베이션에서 원하는 조작을 할 수 있는 register_activation_hook()을 제공하지만 플러그인의 인스톨에 관련된 훅은 없습니다.플러그인 설치를 확인할 수 있는 방법이 있습니까?

지금까지 찾은 가장 좋은 방법은 다음과 같습니다. (이것은 WP 3.5 기준으로 작성되었습니다.)

정보:

register_activation_hook에서 주의할 점은 wp-admin/plugins에서 활성화링크를 클릭하는 사이에 미디어 페이지로 호출된다는 것입니다.php 및 플러그인 활성화 알림을 볼 수 있습니다.이 사실을 알게 된 것은, 이 제품을 사용해 보고 나서입니다.$_GET[ Activate ]링크에서 송신되는 변수입니다.잘 살펴보면 클릭하는 링크와 최종 링크가 약간 다릅니다.이것이 당신이 사용할 수 없는 이유입니다.add_action(), do_action() or add_filter(), ..내부register_activation_hook()트리거합니다.플러그인이 활성화되면 즉시 리디렉션됩니다.

솔루션:

단,add_option이와 같은 후크 처리 중에

/* Main Plugin File */
...
register_activation_hook( __FILE__, function() {
  add_option('Activated_Plugin','Plugin-Slug');
  /* activation code here */
});

add_action('admin_init','load_plugin');
function load_plugin() {
    if(is_admin()&&get_option('Activated_Plugin')=='Plugin-Slug') {
     delete_option('Activated_Plugin');
     /* do some stuff once right after activation */
    }
}

그럼 시작할 수 있을 거야

확인할 수 있는 방법은 여러 가지가 있습니다.

  • 플러그인 폴더가 있는지 확인합니다.
  • 후크 또는 필터가 정의되어 있는지 확인합니다.
  • define()이 정의되어 있는지 확인합니다.이것에 대해 plugins_loaded 훅이 실행될 때까지 기다립니다.
  • 옵션 필드에서 플러그인으로 설정된 관련 값을 확인합니다.
  • 클래스가 정의되었는지 확인합니다.

언급URL : https://stackoverflow.com/questions/7738953/is-there-a-way-to-determine-if-a-wordpress-plugin-is-just-installed

반응형