1

시스템이 특정 요구 사항을 충족시키지 못하는 경우 사용자가 플러그인을 활성화하지 못하게하는 적절한 방법에 대해 궁금합니다. 수표를하는 것은 쉽고 나는 그것에 대한 도움이 필요하지 않으며, 더 이상 궁금해서 WordPress에 종료하고 오류 메시지를 표시하는 방법을 알려줍니다.WordPress 플러그인의 시스템 요구 사항을 확인하는 올바른 방법

현재 활성화 후크 방법에서 exit($error_message)die($error_message)을 모두 시도했습니다. 내 메시지가 표시되고 플러그인이 활성화되지 않은 경우 치명적 오류 메시지가 표시됩니다 (아래 이미지 참조). 새로운 사용자가 볼 수 있도록

enter image description here

누군가가 치명적인 오류를 표시하지 않고 적절한 오류 상자에 내 메시지를 표시 것이라고, 더 좋은 방법을 알고 있나요, 그냥 정말 나쁜 보인다.

사전에 도움을 주셔서 감사합니다.

답변

1

눈치 챘을 지 모르지만이 문서는 문서화되지 않았습니다. 대신 die()에, 이런 식으로 작업을 수행합니다

$plugin = dirname(__FILE__) . '/functions.php'; 
deactivate_plugins($plugin); 
wp_die('<p>The <strong>X</strong> plugin requires version WordPress 2.8 or greater.</p>','Plugin Activation Error',array('response'=>200,'back_link'=>TRUE)); 

wp_die 위의 라인()이 플러그인을 비활성화한다. 이 경우 function.php를 사용합니다. 플러그인 이름 메타 데이터 주석 선언이 있기 때문이며, 다른 파일을 사용하는 경우 위의 코드를 변경하십시오. 이 경로는 일치하는 경로와 매우 관련이 있습니다. 따라서 경로가 정상적으로 표시되는지 보려면 print_r(get_option('active_plugins'));die();을 사용하여 필요한 경로를 알 수 있도록 경로를 빼십시오. 필자는 plugin_code.php를 가지고 있었고, 나머지 플러그인 코드는 functions.php와 같은 디렉토리에 있었기 때문에 적절한 경로를 위해서 dirname(__FILE__)을 사용했다.

wp_die() 문의 끝은 중요합니다. 백 링크를 제공하고 오류 500 (wp_die()의 기본 Apache 코드)을 방지하기 때문입니다.

+0

방금 ​​스택 오버플로가 발생하여 답변에 대한 늦은 답변을 드려 죄송합니다. 나는 이번 주말에 그것을 점검하고 검증 된 후에 대답으로 표시 할 것이다. 시간을내어 다시 한번 감사드립니다. – macguru2000

0

단지 생각 일뿐입니다. WordPress 버전을 확인한 다음 PHP를 사용하여 사용자 정의 예외/오류를 비교하십시오. PHP 5.0 try catch는 좋은 방법입니다. 다음은 몇 가지 리소스입니다.

http://www.w3schools.com/php/php_exception.asp

http://php.net/manual/en/internals2.opcodes.throw.php

당신은 첫 번째 링크를 시도 할 수 있습니다. 꽤 기본입니다. 감사! 정보가 도움이되기를 바랍니다.

+0

잘 부탁드립니다. WordPress에 정품 인증 예외 처리기 또는 예외를 잡을 수있는 유사한 기능이 내장되어 있는지 알고 있습니까? – macguru2000

+0

WordPress에 이런 종류의 핸들러가 있는지 확실하지 않습니다. 그러나 그것은 PHP wordpress에서 아주 쉽기 때문에 거의 가지고 있지 않을 것입니다. – Sisir

관련 문제