Send data to 3rd party api with wp_remote_post on wp_login

The ‘body’ needs to be an array, not including the ‘json_encode($user)’ piece. $response = wp_remote_post( ‘myapp.com/endpoint’, array( ‘method’ => ‘POST’, ‘headers’ => array(‘Content-Type’ => ‘application/json; charset=utf-8’), ‘body’ => $user ) ); I have this in my function since I also had issues with the body being an object: if (is_object($user) && !is_array($user)) $user = json_decode(json_encode($user), … Read more

Get Latest Plugin Version from WP API

Ok – here is a method – thanks to @Rarst for pointing me in the right direction. Include the require file if the plugins_api function is not found: if ( ! function_exists( ‘plugins_api’ ) ) { require_once( ABSPATH . ‘wp-admin/includes/plugin-install.php’ ); } Then, prepare a query to pass to plugins_api(): // set the arguments to … Read more

WP.org API: Accessing plugin downloads “Today” value?

Late answer A mini plugin as local API This plugin gives you – after you filled in the slug of your repository – the downloads stats as array. The keys are the dates, the values the downloads. <?php /** Plugin Name: (#84254) Plugin stats API */ function wpse84254_get_download_stats() { $response = wp_remote_request( add_query_arg( ‘slug’ ,’YOUR-REPO-PLUGIN-SLUG’ … Read more

Is it possible to enqueue the Youtube API script or does it have to be inline?

First, make sure the YT api is enqueued() and added to the footer. function wp_enqueue_scripts__youtube_api() { wp_enqueue_script( ‘yt-player-api’, ‘http://www.youtube.com/player_api’, array(), false, true ); } add_action( ‘wp_enqueue_scripts’, ‘wp_enqueue_scripts__youtube_api’ ); Next, output your div somewhere on the page. <div id=”‘ . $postid . ‘player”></div> Then, hook into wp_footer and make sure you set the priority higher that … Read more

Retrieving pages with multiple tags using REST API

I ran into the same problem but for posts. I found how to OR or AND tags together here: https://codex.wordpress.org/Class_Reference/WP_Query#Tag_Parameters To get entries that have both L1 AND L2 AND L3 ; use plus (+) https://example.com/cms/wp-json/pages?filter[tag]=L1+L2+L3 In case somebody else comes along and wants to OR terms together I’ll save you the trouble: To get … Read more

How to build an API as a plugin

First thing is the add rewrite rule function. You have – add_rewrite_rule(‘^wp-api/pugs/?([0-9]+)?/?’,’index.php?__wp-api=1&pugs=$matches[1]’,’top’); wp-api/pugs/?([0-9]+) this means, when you request <url>/wp-api/pugs/123, you will get a query variable pugs with parameter 123. $var = get_query_var(‘pugs’); // = 123 Now, you don’t really need pugs in the url as per you needs. So, just remove it this way. Also, … Read more

WordPress Rest API

What version of the REST API are you using? If you’re using the version that’s bundled with WordPress 4.4 (ie, v2), you’ll need to change your url to something like http://example.com/wp-json/wp/v2/posts. Reference WP API version 2 docs

Change Page’s Tag Using functions.php File

Check this out function custom_title($title_parts) { $title_parts[‘title’] = “Page Title”; return $title_parts; } add_filter( ‘document_title_parts’, ‘custom_title’ ); In custom_title, $title_parts contains ‘title’, ‘page’ (the pagination), ‘tagline’ (the slogan you specified) and ‘site’. Set “title” the way you like.