sourcecode

WordPress 데이터베이스를 통해 플러그인을 비활성화하시겠습니까?

copyscript 2023. 2. 7. 20:04
반응형

WordPress 데이터베이스를 통해 플러그인을 비활성화하시겠습니까?

워드프레스 스크립트 wp-supercache를 비활성화해야 하는데(그것은 중대한 오류로 캐시되어 있기 때문에) 이 오류로 인해 wp-admin 리다이렉트가 실패하여 사이트에 접속하여 플러그인을 비활성화할 수 없습니다.

조언 좀 해주시겠어요?cpanel을 통해 데이터베이스에 접속할 수 있습니다.

플러그인의 폴더 이름을 변경한 후 오류가 사라졌는지 확인합니다(당연히 먼저 백업하십시오).그것이 도움이 되지 않는 경우는, 다음과 같은 해결책이 있습니다.

특정 플러그인을 비활성화하려면 모든 플러그인의 목록을 저장하는 직렬 문자열에서 해당 플러그인을 제거해야 합니다.option_value의 컬럼wp_options테이블은 @TimDurden에서 설명한 바와 같습니다.구체적인 형식을 변경해야 하는 것은 뻔뻔하게 인터넷에서 가져온 것입니다.

a:4:{
    i:0;s:19:"akismet/akismet.php";
    i:1;s:36:"google-sitemap-generator/sitemap.php";
    i:2;s:55:"google-syntax-highlighter/google_syntax_highlighter.php";
    i:3;s:29:"wp-swfobject/wp-swfobject.php";
}

그 첫 번째 캐릭터 세트-a:4- 배열과 그 길이를 지정합니다.또한 플러그인 목록의 각 행에는 인덱스가 있습니다.그래서:

  1. 인덱스를 감소시킵니다(이 경우 4에서 3까지).
  2. 각 행에서 다음 번호 뒤에 있는 숫자를 줄입니다.i:
  3. 사용하지 않도록 설정할 특정 플러그인을 제거합니다.

다음 절차에서 작성한 새 문자열을 사용하여 db 값을 업데이트합니다.

update wp_options set option_value=<new value> where option_id=<id of this option>

테이블 이름이 wp_options가 아닌 프레픽스가 추가되어 있을 수 있습니다.

/wp-content/plugins/에서 폴더 이름만 변경하면 플러그인이 자동으로 비활성화됩니다.활성화가 해제되면 로그인할 수 있습니다.

  1. 데이터베이스 백업 또는 wp_options 테이블만
  2. select option_value FROM wp_value WHERE option_name = 'active_plugins';

  3. 선택한 문자열(확정된 문자열)을 복사하여 https://serializededitor.com/ 에서 왼쪽에 붙여넣습니다.
  4. 비활성화할 플러그인을 제거합니다.
  5. 오른쪽에서 serialized 결과 문자열을 복사하여 active_plugins 값을 업데이트합니다.

    UPDATE wp_set set option_value = 'THE_NEW_SERIALIZED_'STRING' 여기서 option_name = 'active_plugins' 제한 1;

데이터베이스에서 옵션 문자열을 복구/삭제하기 위해 .dot에 작은 exe를 작성했습니다.

  1. 여기서 exe 다운로드
  2. MySQL 서버에서 실행

선택 * FROM WP_down WHERE option_name = 'active_plugins';

  1. 텍스트 상자에 결과 붙여넣기를 누르고 해석을 누릅니다.
  2. 필요 없는 건 제거하세요.
  3. 출력을 클릭하면 출력이 클립보드에 복사됩니다.
  4. 아래 작은 따옴표 안의 괄호를 출력 및 MySQL 서버에서 실행으로 바꿉니다.

UPDATE wp_set set option_value = '[내부 작은 따옴표를 출력으로 바꿉니다.' 여기서 option_name = 'active_plugins';

  1. 보증 없음...내가 프로그래머라고 주장하는 것은 아니다.

여기에 이미지 설명 입력

사이트에서 모든 Wordpress 플러그인을 비활성화하려면:

  1. 데이터베이스 관리 도구(PHPMyAdmin 등)에 로그인합니다.
  2. 다음 쿼리를 실행합니다.

UPDATE wp_options SET option_value = '' WHERE option_name = 'active_plugins';

또 다른 방법은 사이트를 백업하고 /wp-content/plugins/ 아래에 있는 플러그인의 폴더 이름을 다른 이름으로 바꾸는 것입니다.따라서 플러그인이 비활성화됩니다.오류가 발생할 수 있으므로 플러그인 폴더 삭제는 선호하지 않습니다.절차가 완료되면 워드프레스 사이트에 로그인하여 플러그인을 삭제합니다.

데이터베이스의 레코드 "active_plugins" 값만 변경하면 됩니다.프로세스는 이쪽에서 확인하실 수 있습니다.

답장이 늦었지만, 미래에 누군가에게 도움이 될 것이기 때문에 답한다.모든 플러그인은 직렬화된 방식으로 wp_options 테이블에 저장됩니다.이 필드는 수동으로 편집할 수 있습니다.또는 unserialize()를 사용하여 php와 같은 함수를 사용하여 serialize를 해제하면 어레이를 얻을 수 있습니다.해당 어레이에서 제거할 플러그인을 제거하도록 수정한 후 다시 직렬화합니다.그런 다음 표를 업데이트합니다.바로 그거야.만약 당신이 그것에 대해 더 알고 싶다면, 여기 좋은 기사가 있습니다.이게 다 설명이 되네요.

하면, 플러그 하게 할 수 .functions.php:

function activate_plugin_via_php() {
    $active_plugins = get_option( 'active_plugins' );
    array_push($active_plugins, 'unyson/unyson.php'); /* Here just replace unyson plugin directory and plugin file*/
    update_option( 'active_plugins', $active_plugins );
}
add_action( 'init', 'activate_plugin_via_php' );

언급URL : https://stackoverflow.com/questions/2624551/wordpress-deactivate-a-plugin-via-database

반응형