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.