
Research
Malicious npm Packages Impersonate Flashbots SDKs, Targeting Ethereum Wallet Credentials
Four npm packages disguised as cryptographic tools steal developer credentials and send them to attacker-controlled Telegram infrastructure.
wporg-api-client
Advanced tools
npm i wporg-api-client
Note: add --save
if you are using npm < 5.0.0
This library exposes methods for all the APIs listed here: https://codex.wordpress.org/WordPress.org_API
const { getPluginsList } = require("wporg-api-client");
const fetchPluginsList = async () => {
let pluginsList = {};
try {
pluginsList = await getPluginsList();
console.log(pluginsList, "pluginsList");
} catch (error) {
console.log(error.message, "error");
}
};
fetchPluginsList();
const { getPluginDownloads } = require("wporg-api-client")
const fetchPluginDownloads = async (plugin_slug) => {
let downloadsCount = 0;
try {
const apiResponse = await getPluginDownloads(plugin_slug);
downloadsCount = apiResponse.data
console.log(downloadsCount, "downloadsCount");
} catch (error) {
console.log(error.message, "error");
}
}
fetchPluginDownloads("contact-form-7")
Table of contents:
Note: Params marked with asterisk(*) are required.
Available API versions: 1.0
getCoreTranslations(wp_version, api_version)
Note: wp_version starts from 4.0
getCoreTranslations('4.9.5')
Available API versions: 1.7
getCoreVersionInfo(wp_version, locale, api_version)
getCoreVersionInfo('4.0.1', 'eu')
Available API versions: 1.1
getCoreCreditDetails(wp_version, locale, api_version)
getCoreCreditDetails('4.0.1', 'eu')
Available API versions: 1.0
getCoreChecksums(wp_version*, locale, api_version)
getCoreChecksums('5.5.1', 'eu')
Available API versions: 1.1
getBrowserInfo(useragent*)
getBrowserInfo('Chrome/86.0')
Available API versions: 1.0
getCoreVersionStabilityInfo(wp_version, api_version)
getCoreVersionStabilityInfo() //returns all versions info
getCoreVersionStabilityInfo('4.6.20') //returns specific version info
Available API versions: 1.0
getCoreStats(api_version)
getCoreStats()
search(string): Textual search, using a free-form string
tag('string' | 'array'): Return themes with a specified tag or set of tags(array of strings)
author(string): WordPress.org username of the author, pass this filter to return plugins authored by them
page(number): page number default: 1
per_page(number): Plugins to show per page default: 24
browse(string): Predefined themes ordering. Possible values are
Available API versions: 1.1, 1.2
getPluginsList(filters, api_version)
getPluginsList()
getPluginsList({
tag: ['photography', 'blue'],
browse: 'popular',
page: 1,
per_page: 10,
//... other filters
})
Available API versions: 1.1, 1.2
filterPluginsBy(filter_key*, filter_value*, page, per_page, api_version)
filterPluginsBy('search', 'buddypress', 1, 5)
filterPluginsBy('tag', ['popup', 'slideshow'])
filterPluginsBy('author', 'wordpressdotorg', 2, 3)
filterPluginsBy('browse', 'popular')
Available API versions: 1.1, 1.2
getPluginInfo(plugin_slug, api_version)
getPluginInfo('wordpress-seo');
Available API versions: 1.1, 1.2
getPluginHotTagsList(api_version)
Note: tags_count is not implemented in the original api yet
getPluginHotTagsList()
Available API versions: 1.0
getPluginTranslations(slug, plugin_version, api_version)
getPluginTranslations('classic-editor', '1.5');
Available API versions: 1.0
getPluginDownloads(plugin_slug*, limit, api_version)
limit: Downloads in last {limit} days
getPluginDownloads('classic-editor', 7)
getPluginStats(plugin_slug*, api_version)
getPluginStats('classic-editor')
search(string): Textual search, using a free-form string
tag('string' | 'array'): Return themes with a specified tag or set of tags(array of strings)
theme(string): Slug of a specific theme to return
author(string): WordPress.org username of the author, pass this filter to return themes authored by them
page(number): page number default: 1
per_page(number): Themes to show per page default: 24
browse(string): Predefined themes ordering. Possible values are
Available API versions: 1.1, 1.2
getThemesList(filters, api_version)
getThemesList()
getThemesList({
tag: ['photography', 'blue'],
browse: 'popular',
page: 1,
per_page: 10,
//... other filters
})
Available API versions: 1.1, 1.2
filterThemesBy(filter_key*, filter_value*, page, per_page, api_version)
filterThemesBy('search', 'grid', 1, 15)
filterThemesBy('tag', ['photography', 'blue'])
filterThemesBy('theme', 'gridmag')
filterThemesBy('author', 'wordpressdotorg', 2, 3)
filterThemesBy('browse', 'popular')
Available API versions: 1.1, 1.2
getThemeInfo(theme_slug, api_version)
getThemeInfo('simple-grid')
Available API versions: 1.1, 1.2
getPopularThemeTags(tags_count, api_version)
getPopularThemeTags()
getPopularThemeTags(5)
Available API versions: 1.0
getThemeTranslations(theme_slug*, theme_version, api_version)
getThemeTranslations('grocery-store', '1.0.2')
Main Filters
location(string):
latitude(number | string) and longitude(number | string)
ip(string)
country(string): Country name
Filters To Be Used In Conjunction With Others
timezone(string)
number(number): No of events to show
locale(string)
getEventDetails(params, api_version)
getEventDetails({ country: 'IT' });
getEventDetails({ ip: '136.0.16.1' })
getEventDetails({
latitude: '41.900001525879'
longitude: '12.479999542236'
})
getEventDetails({ location: 'Australia' })
getEventDetails({ number:5, location:'Australia' })
Available API versions: 1.0
getStats(type, api_version)
getStats('php')
getStats('mysql')
getStats('wordpress')
Available API versions: 1.1
generateSecretKey(api_version)
generateSecretKey()
Available API version: 1.1
getPopularImportPlugins(api_version)
getPopularImportPlugins()
FAQs
Node.js client for wordpress.org APIs
The npm package wporg-api-client receives a total of 210 weekly downloads. As such, wporg-api-client popularity was classified as not popular.
We found that wporg-api-client demonstrated a not healthy version release cadence and project activity because the last version was released a year ago. It has 2 open source maintainers collaborating on the project.
Did you know?
Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.
Research
Four npm packages disguised as cryptographic tools steal developer credentials and send them to attacker-controlled Telegram infrastructure.
Security News
Ruby maintainers from Bundler and rbenv teams are building rv to bring Python uv's speed and unified tooling approach to Ruby development.
Security News
Following last week’s supply chain attack, Nx published findings on the GitHub Actions exploit and moved npm publishing to Trusted Publishers.