Lista tuturor pluginurilor WordPress existente
Există vreun loc de unde pot obține o listă cu toate pluginurile WordPress existente, disponibile pe http://wordpress.org/extend/plugins/?
Încerc să testez site-ul meu pentru vulnerabilități și am nevoie de o astfel de listă. Mulțumesc

http://plugins.svn.wordpress.org/
Mult noroc. Este o listă foarte lungă și Otto devine de obicei foarte furios dacă cineva încearcă să scrapeze întregul depozit SVN.

SVN
Găsiți o listă cu toate plugin-urile în SVN - https://plugins.svn.wordpress.org/
Git
O altă opțiune este oglinda din GitHub, care are o API mai utilă pentru a lucra cu lista. - https://github.com/wp-plugins
API
De asemenea, puteți folosi API-ul și funcțiile sale pentru a obține o soluție mai ușor de utilizat pentru a parsa modificări etc., consultați https://developer.wordpress.org/reference/functions/plugins_api/
Suplimentar
Un serviciu suplimentar este https://wpdirectory.net/ care vă oferă, de asemenea, multe funcții utile. WP Dir este un serviciu web care permite căutări rapide folosind regex în Directoarele de Plugin-uri/Teme WordPress. În special regex-ul este foarte util.

Nu este cel mai bun răspuns, dar am încercat să rezolv problema mea în cel mai bun mod posibil.
Obținerea unei liste de plugin-uri
Aceasta nu va returna TOATE plugin-urile, dar va returna cele mai bine evaluate:
$plugins = plugins_api('query_plugins', array(
'per_page' => 100,
'browse' => 'top-rated',
'fields' =>
array(
'short_description' => false,
'description' => false,
'sections' => false,
'tested' => false,
'requires' => false,
'rating' => false,
'ratings' => false,
'downloaded' => false,
'downloadlink' => false,
'last_updated' => false,
'added' => false,
'tags' => false,
'compatibility' => false,
'homepage' => false,
'versions' => false,
'donate_link' => false,
'reviews' => false,
'banners' => false,
'icons' => false,
'active_installs' => false,
'group' => false,
'contributors' => false
)));
Salvarea datelor ca JSON
Deoarece datele pe care le obținem sunt foarte mari și ar afecta performanța, încercăm să extragem doar name
și slug
din array și apoi le scriem într-un fișier JSON:
$plugins_json = '{' . PHP_EOL;
// Obține doar numele și slug-ul
foreach ($plugins as $plugin) {
foreach ($plugin as $key => $p) {
if ($p->name != null) {
// Să facem JSON-ul mai frumos
$plugins_json .= ' "'. $p->name . '": {' . PHP_EOL;
$plugins_json .= ' "slug": "' . $p->slug . '"' . PHP_EOL;
end($plugin);
$plugins_json .= ($key !== key($plugin)) ? ' },' . PHP_EOL : ' }' . PHP_EOL;
}
}
}
$plugins_json .= '}';
file_put_contents('plugins.json', $plugins_json);
Acum avem un fișier JSON simplificat cu doar datele de care avem nevoie.
Pentru a menține actualizat fișierul JSON, rulăm acest script pentru a crea un fișier JSON la fiecare 24 de ore prin setarea unui Cron Job.
