Cum activezi un plugin prin PHPMyAdmin sau FTP?

26 aug. 2015, 18:47:24
Vizualizări: 88.4K
Voturi: 25

Tocmai am dezactivat un plugin pe site-ul meu și acum îmi afișează temutul ecran alb al morții. Știu că site-ul va funcționa din nou dacă reactivez plugin-ul.

Există vreo modalitate de a activa manual un plugin prin PHPMyAdmin sau prin FTP?

1
Comentarii

probabil ar fi util să anunți proprietarul plugin-ului despre această problemă. Poate plugin-ul are nevoie de puțină îmbunătățire

User User
27 aug. 2015 11:26:12
Toate răspunsurile la întrebare 4
10
42

Am rezolvat această problemă accesând PHPMyAdmin la tabela "Options" și apoi la rândul active_plugins.

Aveam următoarele informații stocate acolo (formatate pentru lizibilitate):

a:10:{
    i:0;s:49:"1and1-wordpress-wizard/1and1-wordpress-wizard.php";
    i:1;s:29:"acf-repeater/acf-repeater.php";
    i:2;s:30:"advanced-custom-fields/acf.php";
    i:3;s:45:"limit-login-attempts/limit-login-attempts.php";
    i:4;s:27:"redirection/redirection.php";
    i:6;s:33:"w3-total-cache/w3-total-cache.php";
    i:7;s:41:"wordpress-importer/wordpress-importer.php";
    i:8;s:24:"wordpress-seo/wp-seo.php";
    i:9;s:34:"wpml-string-translation/plugin.php";
    i:10;s:38:"wpml-translation-management/plugin.php";
}

Am adăugat o nouă linie (pentru plugin-ul lipsă) și am incrementat a:10 la a:11 pentru a indica că acum există 11 elemente în array:

a:11:{
    i:0;s:49:"1and1-wordpress-wizard/1and1-wordpress-wizard.php";
    i:1;s:29:"acf-repeater/acf-repeater.php";
    i:2;s:30:"advanced-custom-fields/acf.php";
    i:3;s:45:"limit-login-attempts/limit-login-attempts.php";
    i:4;s:27:"redirection/redirection.php";
    i:5;s:40:"sitepress-multilingual-cms/sitepress.php";
    i:6;s:33:"w3-total-cache/w3-total-cache.php";
    i:7;s:41:"wordpress-importer/wordpress-importer.php";
    i:8;s:24:"wordpress-seo/wp-seo.php";
    i:9;s:34:"wpml-string-translation/plugin.php";
    i:10;s:38:"wpml-translation-management/plugin.php";
}

i: pare a fi numărul item-ului, iar datorită comentariului lui JHoffmann, s: pare a fi lungimea șirului care urmează.

Site-ul funcționează acum ca înainte!

26 aug. 2015 19:32:38
Comentarii

s reprezintă șir de caractere (string), iar numărul care urmează indică lungimea acestuia.

JHoffmann JHoffmann
26 aug. 2015 19:37:20

@JHoffmann Mulțumesc pentru informație! Am actualizat răspunsul meu. Poți să-mi spui unde ai învățat asta? Există vreo resursă bună care explică astfel de lucruri? Mulțumesc.

Django Reinhardt Django Reinhardt
26 aug. 2015 19:40:06

i reprezintă de fapt o valoare întreagă (integer), s înseamnă șir de caractere (string), iar numărul de lângă s indică lungimea șirului.

Pieter Goosen Pieter Goosen
27 aug. 2015 11:25:46

@PieterGoosen Aceeași întrebare și pentru tine: Unde ai învățat asta? Există vreo resursă pe undeva?

Django Reinhardt Django Reinhardt
27 aug. 2015 14:10:49

Acelea sunt date serializate. Nu am o sursă exactă, dar poți să te uiți în direcția datelor serializate. Poți să te uiți și la JSON, deoarece acolo se folosesc mai mult date serializate

Pieter Goosen Pieter Goosen
27 aug. 2015 14:18:13

@DjangoReinhardt După cum a spus Pieter Goosen, acestea sunt date serializate, așa cum sunt generate de funcția serialize din PHP. În WordPress există și o funcție wrapper numită maybe_serialize

JHoffmann JHoffmann
28 aug. 2015 02:25:32

Aș dori să standardizeze numele fișierului pluginului care declară pluginul în sine. Lucrez la scrierea unui script care va descărca, instala și activa automat pluginurile. Aceasta este piesa lipsă!

cpcdev cpcdev
7 mai 2016 02:14:33

Actualizarea acelei valori direct în tabela bazei de date a determinat ca toate pluginurile mele să fie dezactivate. După ce am făcut asta, trebuie să activez din nou toate pluginurile prin interfața de administrare WordPress. Mă întreb ce anume determină dezactivarea pluginurilor după actualizarea valorii opțiunii 'active_plugins'.

Marcos Buarque Marcos Buarque
26 sept. 2018 16:24:32

Funcționează perfect. Mulțumesc, campioni.

Umar Niazi Umar Niazi
12 dec. 2020 08:11:10

Susțin, a funcționat exact cum este descris pentru mine. Interesant, se pare că valorile i: nu trebuie să fie consecutive... Am avut a:40 și apoi numerele i au mers de la 0 la 38, iar ultimul a fost 40, nu a existat 39. Am schimbat a: la 41 și am adăugat noul meu plugin la final cu i:41 și a funcționat perfect.

John Smith John Smith
25 feb. 2024 06:40:07
Arată celelalte 5 comentarii
5
19
//Folosind acest cod poți activa un plugin din fișierul functions.php
    function activate_plugin_via_php() {
        $active_plugins = get_option( 'active_plugins' ); // Obține lista plugin-urilor active
        array_push($active_plugins, 'unyson/unyson.php'); /* Înlocuiește aici directorul și fișierul plugin-ului unyson cu cele ale plugin-ului dorit */
        update_option( 'active_plugins', $active_plugins ); // Actualizează lista plugin-urilor active    
    }
    add_action( 'init', 'activate_plugin_via_php' ); // Adaugă acțiunea la inițializare
16 iul. 2016 21:47:16
Comentarii

Dacă dorești să activezi mai mult de un plugin, atunci repetă...

Anil Jadhav Anil Jadhav
16 iul. 2016 21:49:49

array_push($active_plugins, 'unyson/unyson.php');

Anil Jadhav Anil Jadhav
16 iul. 2016 21:49:56

poți de asemenea să adaugi un if(!in_array('unyson/unyson.php',$active_plugins)) pentru a te asigura că nu este adăugat de mai multe ori

Pierre Pierre
28 mai 2018 14:00:12

Unde pot găsi fișierul functions.php? Este în directorul temei sau în wp-includes?

Wesley Gonçalves Wesley Gonçalves
11 mai 2020 06:06:49

Simt că, deși răspunsul marcat ca corect funcționează, acesta ar trebui să fie cel marcat corect, deoarece este realizat complet din interiorul WordPress, nu implică manipularea directă a bazei de date și, în general, este mai puțin probabil să producă erori. functions.php se află în directorul temei, de obicei ar trebui să creați o temă copil și să-l editați acolo, deoarece functions.php din tema părinte își va pierde modificările la următoarea actualizare a temei.

John Smith John Smith
25 feb. 2024 06:42:37
3

O altă soluție pentru o abordare diferită care ar putea fi utilă cuiva în viitor. De asemenea, puteți muta folderul pluginului în folderul Must Use (pe care probabil va trebui să-l creați dacă nu a fost folosit până acum). Calea este de obicei:

wp-content/mu-plugins

Pluginurile din acest folder vor rula întotdeauna. Consultați următoarea resursă pentru mai multe informații:

https://codex.wordpress.org/Must_Use_Plugins

Notă: Singurul lucru de luat în considerare este că aceste pluginuri sunt încărcate înaintea celorlalte din folderul de pluginuri. De asemenea, consultați limitările din linkul de mai sus, deoarece pot exista alte probleme care ar putea împiedica funcționarea corectă a pluginului dumneavoastră.

1 iun. 2016 10:04:12
Comentarii

Mi-a salvat viața pe un site vechi de 5 ani, creat de alt dezvoltator, care a instalat 2 plugin-uri dependente unul de celălalt și pe care am dezactivat accidental unul dintre ele.

Meloman Meloman
3 iul. 2020 09:32:41

Haha - mă bucur că a funcționat pentru tine! :)

TomC TomC
3 iul. 2020 09:33:41

O soluție de rezervă foarte bună, mulțumesc pentru postare, tocmai am învățat ceva nou. :-)

Trisha Trisha
5 iul. 2022 23:08:42
4

Puteți pur și simplu să redenumiți folderul pluginului, de exemplu:

"_aksimet" pentru a-l dezactiva apoi înapoi la "aksimet" pentru a-l reactiva (dacă era activ)

Puteți face acest lucru pentru toate folderele de "plugins" împreună.

Alternativ, puteți accesa MySQL și urmați acest ghid pas cu pas, pe scurt:

  1. MYSQL > wp_options
  2. căutați intrarea active_plugins (ambele etape pot fi realizate prin SELECT * FROM wp_options WHERE option_name = 'active_plugins';)
  3. apoi scrieți pluginul vostru acolo așa cum sunt scrise celelalte pluginuri (i este indexul, s este pentru lungimea șirului).

Sper că vă ajută

26 aug. 2015 18:49:49
Comentarii

Mulțumesc. Am încercat să dezactivez și se pare că codul pentru acest plugin este prea integrat pe întreg site-ul. Am nevoie de o modalitate să-l reactivez :(

Django Reinhardt Django Reinhardt
26 aug. 2015 18:57:15

Ce vrei să spui prin asta? Pentru reactivare, pur și simplu redenumește-l înapoi. Ai întâmpinat vreo eroare sau ceva de genul?

Karolína Vyskočilová Karolína Vyskočilová
26 aug. 2015 19:28:57

Plugin-ul a fost dezactivat prin interfața WP Admin. După dezactivare, nu am mai putut accesa site-ul meu. Nu a fost nimic de "redenumit" deoarece nu l-am dezactivat prin redenumire via FTP.

Django Reinhardt Django Reinhardt
26 aug. 2015 19:33:28

Am actualizat răspunsul meu, dar este cu siguranță ciudat. Care a fost pluginul? Poți să revii la tema twentyfifteen (redenumind tema ta), să o activezi și să verifici ce nu a funcționat, apoi să te întorci la tema ta.

Karolína Vyskočilová Karolína Vyskočilová
27 aug. 2015 11:20:34