Så här inaktiverar du inaktivering av plugin från WordPress Admin Panel

Så här inaktiverar du inaktivering av plugin från WordPress Admin Panel / Handledningar

En av de bästa delarna om WordPress är tillgängligheten av plugins som gör ditt jobb enkelt som användare och som utvecklare. Ofta när man skapar webbplatser för kunder använder vi som utvecklare plugins som är helt avgörande för att webbplatsen ska ha vissa funktioner. Nyligen har vi stött på ett problem där en av våra kunders webbplats bröts. Sidofältet laddades inte helt, det saknades element på den enkla postsidan som freaked dem ut. Slutsatsen i denna berättelse var att en av deras nya medarbetare som var ny på WordPress avaktiverade några av de plugins som krävdes för att webbplatsen ska fungera korrekt. Vi gick in och aktiverade alla plugins som deaktiverades, men det var nödvändigt att göra något för att vi skulle kunna förebygga problemet i framtiden. I den här artikeln kommer vi att visa dig hur du inaktiverar instängning av plugin från WordPress Admin Panel (endast för specifika plugins).

Teoretiskt bör du kunna använda Justin Tadlocks medlemmars plugin och skapa ny roll för användarna. Klienten vi hade behövde dock inte gå till denna rutt. Det är ett litet företag, och de anställde den nya medarbetaren för att hantera sina sociala medier och bloggar, så vi kan inte begränsa åtkomsten. De ville ge honom möjlighet att aktivera / inaktivera plugins efter hans vilja. Vi var tvungna att hitta ett sätt som skulle hålla vår kund lycklig, och vi måste också hitta ett sätt att förhindra att problemet uppstår i framtiden. Tack och lov till Steve Taylor hittade vi ett utdrag som låter dig ta bort länken "Avaktivera" från specifika plugins. Det tar också bort länken Redigera för alla plugins eftersom vi inte vill att vår klient ska redigera några plugin-program via redigeraren.

Så allt du behöver göra är att klistra in följande koder i ditt temas funktioner.php-fil:

 add_filter ('plugin_action_links', 'disable_plugin_deactivation', 10, 4); funktion disable_plugin_deactivation ($ actions, $ plugin_file, $ plugin_data, $ context) // Ta bort redigera länken för alla om (array_key_exists ('edit', $ actions)) unset ($ actions ['edit']); // Avaktivera länk för viktiga plugins om (array_key_exists ('deactivate', $ actions) && in_array ($ plugin_file, array ('facebook-open-graph-meta-in-wordpress / fbogmeta.php', 'wp-pagenavi / wp-pagenavi.php '))) unset ($ actions [' inaktivera ']); returnera $ actions;  

Nu behöver du ändra arrayen av $ plugin_file där du ser listan med angivna plugins. Filens sökväg är i förhållande till / wp-innehåll / plugins /. Så i exemplet ovan är "Facebook-open-graph-meta-in-wordpress / fbogmeta.php" en fil i mappen facebook-open-graph-meta-in-wordpress som finns i plugin-mappen. Du kan ändra listan för att lägga till så många plugins som du vill.

Detta trick är en genväg, och det förhindrar faktiskt inte den faktiska avaktiveringen. Allt vi gör är att dölja deaktivera länken. Alla med lite WordPress-kunskap kan generera en avaktiveringsadress och köra den. Men om din klient är häftig nog att göra det, vet de redan vad FTP är, och de kan helt enkelt ta bort plugin så.

Arbetar du på ett tema som absolut kräver en specifik plugin för att den ska fungera korrekt? Glöm inte att släppa koden ovan.