https://github.com/shinshin86/wp-rest-api-posts-wordcount
Using the WP REST API, get the title, URL, content text, and number of characters in the content of all published articles of the target WordPress in JSON format.
https://github.com/shinshin86/wp-rest-api-posts-wordcount
wordpress wp-rest-api
Last synced: about 1 month ago
JSON representation
Using the WP REST API, get the title, URL, content text, and number of characters in the content of all published articles of the target WordPress in JSON format.
- Host: GitHub
- URL: https://github.com/shinshin86/wp-rest-api-posts-wordcount
- Owner: shinshin86
- License: mit
- Created: 2021-06-15T02:11:40.000Z (about 5 years ago)
- Default Branch: main
- Last Pushed: 2022-12-31T03:20:12.000Z (over 3 years ago)
- Last Synced: 2025-06-02T14:18:55.732Z (about 1 year ago)
- Topics: wordpress, wp-rest-api
- Language: TypeScript
- Homepage:
- Size: 533 KB
- Stars: 0
- Watchers: 2
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# wp-rest-api-posts-wordcount

[](https://github.com/shinshin86/wp-rest-api-posts-wordcount/actions/workflows/test.yml)
Using the WP REST API, get the title, URL, content text, and number of characters in the content of all published articles of the target WordPress in JSON format.
## Install
```sh
npm install wp-rest-api-posts-wordcount
# or
yarn add wp-rest-api-posts-wordcount
```
## Usage
Support `CJS/ESM/UMD`.
### CommonJS
```javascript
const getWordcountList = require('wp-rest-api-posts-wordcount');
(async () => {
try {
const response = await getWordcountList('your wordpress url');
console.log(response);
} catch (e) {
console.error(e);
}
})();
```
### ES Modules
```javascript
import getWordcountList from('wp-rest-api-posts-wordcount');
try {
const response = await getWordcountList('your wordpress url');
console.log(response);
} catch (e) {
console.error(e);
}
```
### UMD
After loading the script, it is available with the function name `GetWPWordcountList`.
```html
UMD Sample
Search
document.getElementById('search').addEventListener('click', async (e) => {
const url = document.getElementById('url').value;
const response = await GetWPWordcountList(url);
console.log({ response });
});
```
Returns the result.
```javascript
[
{
title: 'Post title',
url: 'Post url',
content: 'content text',
wordcount: word count(Number of characters in the content),
publishDate: '2020-01-01T00:00:00'
},
{
title: 'Post title',
url: 'Post url',
content: 'content text',
wordcount: word count(Number of characters in the content),
publishDate: '2020-02-01T00:00:00'
},
{
title: 'Post title',
url: 'Post url',
content: 'content text',
wordcount: word count(Number of characters in the content),
publishDate: '2020-03-01T00:00:00'
},
...
]
```
### Sort options
It is possible to sort by either wordcount or publishDate.
wordcount: asc
```javascript
const response = await getWordcountList('your wordpress url', {
sort: { wordcount: 'asc' },
});
```
wordcount: desc
```javascript
const response = await getWordcountList('your wordpress url', {
sort: { wordcount: 'desc' },
});
```
publishDate: asc
```javascript
const response = await getWordcountList('your wordpress url', {
sort: { publishDate: 'asc' },
});
```
publishDate: desc
```javascript
const response = await getWordcountList('your wordpress url', {
sort: { publishDate: 'desc' },
});
```
## Development
### test
```sh
npm run test
```
## Licence
[MIT](https://github.com/shinshin86/wp-rest-api-posts-wordcount/blob/main/LICENSE)
## Author
[Yuki Shindo](https://shinshin86.com)