> CMS 튜토리얼 > Word누르다 > WordPress 플러그인은 올바른 방식으로 업데이트됩니다

WordPress 플러그인은 올바른 방식으로 업데이트됩니다

Jennifer Aniston
풀어 주다: 2025-02-15 12:56:11
원래의
925명이 탐색했습니다.
WordPress 플러그인 업데이트 메커니즘의 자세한 설명 및 모범 사례

WordPress 자체는 기본 플러그인 업데이트 프로세스를 제공하지 않으며 개발자는 직접 구현해야합니다. 여기에는 데이터베이스의 버전 번호 업데이트 및 필요한 경우 새 옵션 작성이 포함됩니다.

WordPress 플러그인의 버전 번호는 두 곳에 저장되어야합니다. 플러그인 메인 파일의 상수 및 데이터베이스의 옵션. 이를 통해 마지막 플러그인 업데이트 이후 데이터베이스 옵션이 업데이트되었는지 여부를 감지 할 수 있습니다.

옵션을 업데이트 할 때 개발자는 사용자의 선택을 덮어 쓰지 않도록주의해야합니다. 옵션이 데이터베이스에 존재하지 않으면 이미 존재하는 경우 덮어서는 안됩니다.

배열로 저장된 옵션의 경우, 개발자는 PHP 함수 를 사용하여 모든 키가 정의되고 존재하지 않는 옵션이 도입되지 않도록 할 수 있습니다. 또한 사용자가 이전 옵션을 변경하면 그 값이 유지됩니다. 몇 주 전, 나는 WP 사진 구체 (내가 개발 한 워드 프레스 플러그인)에 대한 이메일을 받았다. 문제는 큰 것입니다. 플러그인을 업데이트하면 일부 설치자가 충돌하게됩니다. 조사 후 문제는 플러그인에서 사용하는 옵션에서 비롯된 것으로 나타났습니다.이 설치 업체는 내가 추가 한 새로운 옵션에 대한 기본값을 제공하지 않습니다.

이 값은 매우 중요하므로 기본값을 생성하는 방법이 필요합니다. 그러나 내가 생각하는 것과는 반대로 WordPress는 업데이트 프로세스를 처리 할 기본 방법을 제공하지 않습니다.

이것이이 튜토리얼을 작성하고 싶은 이유입니다. 먼저, 업데이트 프로세스가 필요한 이유와 WordPress가 그러한 프로세스를 제공하지 않는 이유를 정확하게 이해할 것입니다. 그런 다음 옵션을 업데이트하기 위해 자신만의 프로세스를 올바르게 작성하는 방법을 보여 드리겠습니다. array_merge() 플러그인 업데이트 프로세스의 중요성 일반적으로 파일을 변경하는 것만으로는 충분하지 않습니다. 예를 들어, WordPress 파일을 새 버전으로 수동으로 업데이트 할 때 플랫폼은 버튼을 클릭하여 데이터베이스를 업데이트하도록 요청합니다.

플러그인에서 옵션을 사용한다고 가정 해 봅시다. 플러그인이 발전함에 따라 새 버전에서 더 많은 옵션이 필요합니다. 사용자가 먼저 플러그인을 활성화 할 때 새로운 옵션을 쉽게 만들 수 있습니다. 활성화 후크를 사용하면됩니다.

예를 들어 다음 코드를 살펴 보겠습니다

대신 WordPress Plugin Updates the Right Way 사용에 익숙하지 않은 경우 걱정하지 마십시오. 업데이트 프로세스를 다루는 방법에 대해 나중에 설명하겠습니다. 새 옵션을 원하거나 새 버전에서 기존 옵션 값을 업데이트하는 경우 이미 플러그인을 사용하는 사용자 데이터베이스를 업데이트해야하므로 업데이트 직후에 호출되는 기능이 필요합니다. .

후크를 활성화하는 것은 약간 혼란 스러울 수 있습니다. 결국, 플러그인을 자동으로 업데이트하면 비활성화 및 재 활성화 되므로이 후크가 호출 될 것으로 예상 할 수 있습니다. 그러나 그것은 사실이 아닙니다.

더 정확하게는 예전 이었지만 WordPress는 버전 3.1 에서이 동작을 중단했습니다. 개발 팀은이 옵션을 설명했으며 Make WordPress Core 블로그에서 전체 설명을 읽을 수 있습니다. 주된 이유는 사용자가 플러그인을 수동으로 업데이트하면 활성화 후크를 건너 뛸 수 있기 때문에 매번 호출되지 않기 때문입니다.

따라서 WordPress는 플러그인 업데이트 후 기능을 자동으로 호출 할 수있는 기본 메소드를 제공하지 않습니다. 그렇기 때문에 자신의 프로세스를 구축해야합니다. </press></p> <with> 업데이트 프로세스를 다루는 방법 <of>이 튜토리얼 의이 부분에서는 플러그인이 업데이트 된 후 주어진 기능을 자동으로 호출하는 방법을 보여 드리겠습니다. 다음 섹션에서 기존 옵션의 업데이트와 새로운 옵션 작성 (동일한 기능)을 올바르게 처리하는 방법을 알 수 있습니다. <p> 이 방법의 <this> 원리 <le> 우리의 방법의 전역 원칙은 플러그인의 버전 번호를 두 곳에 저장한다는 것입니다. 플러그인 메인 파일의 상수 및 데이터베이스의 옵션. <p> <the> 데이터베이스의 숫자는 현재 설치된 버전을 저장하고 상수의 숫자는 현재 버전입니다. 이 두 숫자가 다른 경우 마지막 플러그인 업데이트 이후 데이터베이스 옵션이 업데이트되지 않았으므로이를 수행해야합니다. </the></p> 이 경우 필요한 모든 옵션을 업데이트하는 함수를 호출합니다. 이 기능은 또한 데이터베이스에 저장된 버전 번호를 업데이트 하여이 기능을 과도하게 해석하지 않도록합니다. <p> </p> 상수 <have> 이제 우리가해야 할 일을 다루었으므로 이제 코드를 작성할 시간입니다! 먼저 플러그인 기본 파일에 상수 정의를 추가하고 현재 버전 번호를 값으로 가져갑니다. 문제를 방지하기 위해 아직 존재하지 않았는지 테스트합니다. <h3> </h3> <plug> 일반적으로 플러그인 버전은 디지털 아이덴티티를 사용하지만 다른 시스템을 사용하는 경우 자유롭게 사용하십시오. 여기서 유일한 제약 조건은 각 버전에 고유 식별자 또는 데이터베이스 (새로운 옵션, 새로운 기본값 등)를 변경 해야하는 각 버전에 대해 고유 한 식별자를 제공하는 것입니다. <p> </p> 함수 를 점검하십시오 <to> 이제 데이터베이스를 업데이트 해야하는지 확인하기 위해 기능을 작성해야합니다. 이 기능은 이전에 정의 된 상수를 현재 데이터베이스에 저장된 값과 비교합니다. 이를 위해 동작을 사용하여 기능을 어디서나 호출 할 수 있으며 모든 플러그인이로드되면 트리거됩니다. <p> </p> 이 기능은 간단합니다. 다른 옵션과 마찬가지로 데이터베이스에 저장된 버전 번호를 검색하여 상수와 비교합니다. 이러한 값이 다르면 기능을 호출합니다. <p> </p> <need> 이제 몇 가지 문제를 명확히해야합니다. 먼저 옵션이 데이터베이스에 아직 존재하지 않으면 어떻게됩니까? 옵션이 존재하지 않으면 <h3>는 버전 번호와 다른 False를 반환하므로 함수가 호출됩니다. </h3> <we> 그렇다면 왜 우리는 활성화 기능을 호출합니까? 명확하게 말하면, 업데이트 프로세스에 특별히 사용되는 새 기능을 만들 수 있습니다. 그러나 이렇게하면이 새로운 기능이 옵션을 만드는 것과 동일 할 수 있으므로이 새로운 기능이 활성화와 매우 유사하다는 것을 알 수 있습니다. <p><number> 데이터베이스의 버전 번호를 업데이트하십시오 <whatever> 위에서 불리는 활성화 함수에서 원하는대로 할 수 있습니다. 그러나 한 가지 필요한 것이 필요하며 이는 데이터베이스에 저장된 버전 번호를 업데이트하는 것입니다. 이렇게하면 페이지가로드 될 때마다 기능을 호출하지 않습니다. <h3> </h3> <trick> 트릭에 주목하십시오. 실제로 옵션이 아직 존재하지 않으면 <p>가 생성합니다. 존재하면 값을 표시된 값으로 업데이트합니다. 그렇기 때문에 문제없이 활성화 기능을 업데이트 기능으로 사용할 수 있습니다. </p> <div class="code" style="position:relative; padding:0px; margin:0px;"><pre class='brush:php;toolbar:false;'>function my_awesome_plugin_activation() { update_option('my_awesome_plugin_option', 'default value'); } register_activation_hook(__FILE__, 'my_awesome_plugin_activation');
로그인 후 복사
로그인 후 복사
업데이트 옵션

사용자의 선택을 덮어 쓰지 마십시오! add_option()

위의 옵션이 존재하지 않으면

가 false를 반환합니다. 이 동작을 사용하여 업데이트하려는 옵션이 데이터베이스에 존재하는지 테스트합니다. 이 경우, 우리는 아무것도하지 않습니다. 그렇지 않으면이 옵션을 만듭니다.

이 테스트는 우리가 무시하고 싶지 않은 옵션에 필요합니다. 어떤 경우에는 버전 번호를 고려할 때이 작업을 수행하고 싶을 수도 있습니다. 이전 가치를 유지하고 싶지 않습니다!

특별 케이스 - array <🎜 🎜> WordPress는 배열이 옵션의 값을 저장할 수 있도록하고 다른 옵션을 만드는 것보다 더 어렵지 않습니다. 예를 들면 :

update_option() 여러 설정이 필요한 경우 배열을 사용하는 것이 좋습니다. 이렇게하면 데이터베이스에서 많은 항목을 사용하지 않으며 동일한 이름의 옵션을 사용하여 다른 플러그인의 가능성을 제한합니다. 그러나 업데이트 프로세스를 고려할 때 문제가 발생할 수 있습니다.

이유를 이해하려면 키가있는 옵션으로 배열이 있다고 가정 해 봅시다. 사용자는 반드시 이러한 값을 개인화합니다. 위에서 수행 한 테스트를 사용하여 옵션이 존재하지 않고 이러한 선택이 덮어 쓰지 않은 경우에만 옵션 만 만들 수 있습니다. 이것은 단순 해 보이지만 배열에서 새 키를 만들려면 어떻게해야합니까?

옵션이 데이터베이스에 존재하는 경우 이전 코드가 생성되지 않으므로 새 키가 존재하지 않습니다. 그러나 조건을 삭제하면 배열이 새 업데이트 될 때마다 기본값을 검색합니다. 이상적이지 않습니다. 다행히 해결책이 있습니다! update_option() 먼저, 옵션의 기본값이 포함 된 배열을 정의합니다 (새 키가 존재하는 경우).

그런 다음 데이터베이스에 저장된 배열을 검색합니다. get_option()

function my_awesome_plugin_activation() {
    update_option('my_awesome_plugin_option', 'default value');
}
register_activation_hook(__FILE__, 'my_awesome_plugin_activation');
로그인 후 복사
이제 PHP 함수 <🎜 🎜>를 사용하여 기본 배열을 첫 번째 매개 변수로, 사용자의 배열을 두 번째 매개 변수로 사용할 수 있습니다. 이런 식으로 우리는

배열에 정의 된 모든 키를 포함하는 배열을 얻을 수 있으며 존재하지 않는 옵션이 없습니다. 사용자가 이전 옵션 중 하나를 변경하면 그 값이 유지됩니다. array_merge()를 사용하면 항상 최신 정의를 유지합니다. $default array_merge() 마지막으로

를 사용하여 결과를 데이터베이스에 저장합니다.
if (!defined('MY_AWESOME_PLUGIN_VERSION'))
    define('MY_AWESOME_PLUGIN_VERSION', '3.4.1');
로그인 후 복사

<,> 우리는 거의 끝났지 만 기능이 처음 실행되면 이제 발생할 수있는 오류를 수정해야합니다. update_option() 이 기능은 플러그인이 활성화 될 때 호출됩니다. 이것이 우리가 원하는 것입니다. 그러나이 경우 옵션은 아직 존재하지 않으므로

는 false를 반환합니다. 문제는 false를
function my_awesome_plugin_check_version() {
}

add_action('plugins_loaded', 'my_awesome_plugin_check_version');
로그인 후 복사
의 매개 변수로 사용하면 오류가 발생한다는 것입니다.

우리가 원하는 것은 간단합니다. 옵션이 존재하지 않으면

가 빈 배열이되기를 원합니다. 이를 위해

의 두 번째 매개 변수를 사용할 수 있으며, 이는 얻을 기본값을 나타냅니다 (False를 반환하지 않기 위해). get_option() array_merge()

결론 <🎜 🎜> 일단 조심스럽게 읽으면 WordPress 플러그인의 업데이트를 처리하는 프로세스는 복잡하지 않습니다. 그러나 초기화 옵션이없는 문제가있을 수 있으므로 옵션을 사용하는 경우 중요합니다.

현재 WordPress는 플러그인 업데이트를 처리하는 기본 방법을 제공하지 않습니다. 실제로, 위에 나열된 문제를 감안할 때,이 유형의 기능이 언젠가 소개되면이 튜토리얼과 유사한 방식으로 구현해야합니다. $option 내 샘플 플러그인 코드를 여기에서 얻을 수 있습니다. 이 코드를 자신의 WordPress 플러그인 업데이트 프로세스를 구현하기위한 프레임 워크로 생각하십시오. 의견이 있으시면 아래 의견에 알려주십시오. get_option() WordPress 플러그인 업데이트 FAQ (FAQ) <인> WordPress 플러그인을 정기적으로 업데이트하는 것이 중요합니까?

WordPress 플러그인에 대한 정기적 인 업데이트는 다음과 같은 이유로 중요합니다. 첫째, 업데이트에는 종종 웹 사이트 성능을 향상시킬 수있는 새로운 기능과 기능이 포함되어 있습니다. 둘째, 업데이트는 일반적으로 웹 사이트의 보안을 위험에 빠뜨릴 수있는 버그 및 취약점을 수정합니다. 마지막으로 업데이트는 최신 버전의 WordPress와의 호환성을 보장하여 웹 사이트가 원활하고 효율적으로 실행되도록합니다.
if (MY_AWESOME_PLUGIN_VERSION !== get_option('my_awesome_plugin_version'))
    my_awesome_plugin_activation();
로그인 후 복사
내 WordPress 플러그인에 대한 안전한 업데이트를 보장하는 방법은 무엇입니까?

보안 업데이트를 보장하려면 업데이트 프로세스를 시작하기 전에 웹 사이트를 백업하십시오. 이런 식으로 업데이트 프로세스 중에 문제가있는 경우 웹 사이트를 이전 상태로 쉽게 복원 할 수 있습니다. 또한 스테이징 사이트에서 업데이트를 테스트하기 전에 라이브 사이트에 적용하는 것이 좋습니다.

플러그인 업데이트가 실패하면 어떻게해야합니까?

플러그인 업데이트가 실패하면 첫 번째 단계는 백업에서 웹 사이트를 복원하는 것입니다. 그런 다음 실패의 원인을 결정하십시오. 이는 다른 플러그인 또는 테마와의 충돌 또는 WordPress 버전과의 호환성 문제로 인한 것일 수 있습니다. 문제를 식별 한 후에는 직접 문제를 해결하거나 플러그인 개발자에게 문의하여 도움을받을 수 있습니다.

WordPress 플러그인 업데이트 프로세스를 자동으로 수행하는 방법은 무엇입니까?

WordPress에는 플러그인을 자동으로 업데이트 할 수있는 내장 기능이 있습니다. WordPress 대시 보드의 플러그인 섹션으로 이동하여 자동으로 업데이트하려는 플러그인을 선택하고 자동 업데이트 활성화를 클릭 하여이 기능을 활성화 할 수 있습니다.

플러그인 업데이트가 내 웹 사이트에 문제가 발생하면 플러그인 업데이트를 롤백 할 수 있습니까?

예, 플러그인 업데이트가 웹 사이트에 문제가 발생하면 플러그인 업데이트를 롤백 할 수 있습니다. WP 롤백과 같은 몇 가지 사용 가능한 플러그인이있어 이전 버전의 플러그인으로 쉽게 복원 할 수 있습니다.

고급 WordPress 플러그인을 업데이트하는 방법은 무엇입니까?

고급 WordPress 플러그인은 무료 플러그인과 유사하게 업데이트됩니다. 그러나 업데이트에 액세스하려면 유효한 라이센스 키가 있어야합니다. 라이센스 키를 입력 한 후 WordPress 대시 보드에서 플러그인을 업데이트 할 수 있습니다.

여러 WordPress 사이트에 대한 업데이트를 관리하는 가장 좋은 방법은 무엇입니까?

여러 WordPress 사이트를 관리하는 경우 각 사이트에 대한 플러그인을 개별적으로 업데이트하는 데 많은 시간을 소비해야 할 수도 있습니다. 보다 효율적인 방법은 ManageWP 또는 MainWP와 같은 WordPress 관리 도구를 사용하여 단일 대시 보드에서 모든 웹 사이트에 대한 업데이트를 관리 할 수 ​​있습니다.

특정 WordPress 플러그인의 자동 업데이트를 비활성화하는 방법은 무엇입니까?

특정 플러그인에 대한 자동 업데이트를 비활성화하려면 Easy Updates Manager와 같은 플러그인을 사용할 수 있습니다. 이 플러그인을 사용하면 웹 사이트의 각 플러그인의 자동 업데이트를 제어 할 수 있습니다.

내 버전의 WordPress와 플러그인 업데이트의 호환성을 확인하는 방법은 무엇입니까?

플러그인을 업데이트하기 전에 WordPress 플러그인 디렉토리의 플러그인 페이지를 방문하여 WordPress 버전과의 호환성을 확인할 수 있습니다. 여기에서는 다른 버전의 WordPress와 플러그인의 호환성에 대한 정보를 찾을 수 있습니다.

플러그인 업데이트가 내 웹 사이트를 중단하면 어떻게해야합니까?

플러그인 업데이트가 웹 사이트를 중단하면 첫 번째 단계는 백업에서 웹 사이트를 복원하는 것입니다. 그런 다음 문제를 일으킨 플러그인을 비활성화하십시오. WordPress 대시 보드에 액세스 할 수없는 경우 WP-Content/Plugins 디렉토리에서 플러그인 폴더를 바꾸어 FTP를 통해 플러그인을 비활성화 할 수 있습니다. 플러그인을 비활성화 한 후에는 플러그인 개발자에게 문제를 해결하거나 문의하여 도움을받을 수 있습니다.

위 내용은 WordPress 플러그인은 올바른 방식으로 업데이트됩니다의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
저자별 최신 기사
인기 추천
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿