WordPress – List All Plugins

| | |

Place the following code on a file ex. ListAllPlugins.php and then navigate to http://yourdomain.com/ListAllPlugins.php

<?PHP
require($_SERVER['DOCUMENT_ROOT'] . "/wp-load.php");
require($_SERVER['DOCUMENT_ROOT'] . "/wp-admin/includes/plugin.php");

function PrintPluginList($option)
	{
		$all_plugins = get_plugins();

		if ($option == 1)
			{
				print_r(array_values($all_plugins));
			}
		else
			{
				echo json_encode($all_plugins);
			}
	}

PrintPluginList($_GET['op']);
?>

This is a PowerShell script to automate some of the information

.\GetWordPressPlugins.ps1 http://yourdomain.com/
$url = ($args[0] + "/ListAllPlugins.php?op=1")

$site = (Invoke-WebRequest -Uri $url)
$splitsite = $site -split "`n"

$Array = @()

foreach($line in $splitsite)
    {
        if ($line -match "\[Name\]")
            {
                $Name = ($line -split "=>")[1]
                $Name = $Name.Trim()
            }
        if ($line -match "\[Version\]")
            {
                $Version = ($line -split "=>")[1]
                $Version = $version.Trim()
                         
                   $Array +=(, ($Name + "|" + $Version + "|" + $PluginURI))
            }
        if ($line -match "\[PluginURI\]")
            {
                $PluginURI = ($line -split "=>")[1]
                $PluginURI = $PluginURI.Trim()               
               if ([string]::IsNullOrEmpty($PluginURI))
               {
               $PluginURI = "n/a"    
               }
            }
       
    }
$Array
All information on this site is shared with the intention to help. Before any source code or program is ran on a production (non-development) system it is suggested you test it and fully understand what it is doing not just what it appears it is doing. I accept no responsibility for any damage you may do with this code.