Query and Orchestrate the ‘WordPress’ ‘API’
‘WordPress’ has a fairly comprehensive ‘API’ https://developer.wordpress.com/ that makes it possible to perform blog orchestration (‘CRUD’ operations on posts, users, sites, etc.) as well as retrieve and process blog statistics. Tools are provided to work with the ‘WordPress’ ‘API’ functions.
<dalek_voice>
YOU WILL O-BEY </dalek_voice>
WordPress API requiring authentication means you have to do the OAuth2
dance, and most API calls require authentication. That means you need to
start off working with the WordPress API in/from pressur
using the
wp_auth()
function. For that to work, YOU MUST::
\=> Go here and make an app: https://developer.wordpress.com/apps/
\=> Put the Client ID
you receive into ~/.Renviron
with a line that
looks like:
`WORDPRESS_API_KEY=#####`
\=> Put the Client Secret
you receive into ~/.Renviron
with a line
that looks like:
`WORDPRESS_API_SECRET=Yn50ds........`
And start with a fresh R session for any of this to even have a remote possibility of working.
I’ll make friendlier documentation for ^^ in the near future.
Only minimal functionality is provided at present (enough to get stats out).
You are encouraged to poke around the source and contribute PRs or issues for high priority items you’d like to see in the package.
The following functions are implemented:
wp_about_me
: Get metadata about the current user.wp_auth
: Authenticate to WordPresswp_get_posts
: Get all posts across all sites of the authenticated
userwp_post_stats
: Retrieve statistics for a WordPress postwp_site_info
: Get information about a sitewp_site_stats
: Get a site’s statsremotes::install_gitlab("hrbrmstr/pressur")
# or
remotes::install_github("hrbrmstr/pressur")
NOTE: To use the ‘remotes’ install options you will need to have the {remotes} package installed.
library(pressur)
# current version
packageVersion("pressur")
## [1] '0.2.0'
library(hrbrthemes)
library(ggplot2)
wp_auth()
stats <- wp_site_stats()
ggplot(stats$visits, aes(period, views)) +
geom_col(fill = ft_cols$slate) +
scale_y_comma() +
labs(x = NULL, y = "views", title = "Site Views") +
theme_ipsum_gs(grid="Y")
Please note that this project is released with a Contributor Code of Conduct. By participating in this project you agree to abide by its terms.
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.