Resource Information
Method
POST
URL
https://public-api.wordpress.com/rest/v1.1/sites/$site/widgets/new
Requires authentication?
Yes
Method Parameters
Parameter
Type
Description
$site
(string)
Site ID or domain.
Query Parameters
Parameter
Type
Description
context
(string)
display:
(default) Formats the output as HTML for display. Shortcodes are parsed, paragraph tags are added, etc..
edit:
Formats the output for editing. Shortcodes are left unparsed, significant whitespace is kept, etc..
http_envelope
(bool)
false:
(default)
true:
Some environments (like in-browser JavaScript or Flash) block or divert responses with a non-200 HTTP status code. Setting this parameter will force the HTTP status code to always be 200. The JSON response is wrapped in an "envelope" containing the "real" HTTP status code and headers.
pretty
(bool)
false:
(default)
true:
Output pretty JSON
meta
(string)
Optional. Loads data from the endpoints found in the 'meta' part of the response. Comma-separated list. Example: meta=site,likes
fields
(string)
Optional. Returns specified fields only. Comma-separated list. Example: fields=ID,title
callback
(string)
An optional JSONP callback function.
Request Parameters
Parameter
Type
Description
id_base
(string)
The base ID of the widget.
sidebar
(string)
The ID of the sidebar where this widget will be active.
position
(int)
Optional. The position of the widget in the sidebar.
settings
(object)
Optional. The settings for the new widget.
Response Parameters
Parameter
Type
Description
id
(string)
The actual ID of the widget.
sidebar
(string)
The ID of the sidebar where this widget will be active.
position
(int)
The final position of the widget in the sidebar.
settings
(array)
The settings for the new widget.
Resource Errors
These are the possible errors returned by this endpoint.
HTTP Code
Error Identifier
Error Message
403
unauthorized
User is not authorized to access widgets
400
missing_data
The data you provided was not accurate.
400
no_data
No data was provided.
403
unauthorized
User cannot access this private blog.
403
unauthorized
User cannot access this restricted blog
Example
curl \
-H 'authorization: Bearer YOUR_API_TOKEN' \
--data-urlencode 'id_base=text' \
--data-urlencode 'sidebar=sidebar-2' \
--data-urlencode 'position=0' \
--data-urlencode 'settings=Array' \
'https://public-api.wordpress.com/rest/v1.1/sites/12345678/widgets/new'
<?php
$options = array (
'http' =>
array (
'ignore_errors' => true,
'method' => 'POST',
'header' =>
array (
0 => 'authorization: Bearer YOUR_API_TOKEN',
1 => 'Content-Type: application/x-www-form-urlencoded',
),
'content' =>
http_build_query( array (
'id_base' => 'text',
'sidebar' => 'sidebar-2',
'position' => '0',
'settings' =>
array (
'title' => 'hello world',
),
)),
),
);
$context = stream_context_create( $options );
$response = file_get_contents(
'https://public-api.wordpress.com/rest/v1.1/sites/12345678/widgets/new',
false,
$context
);
$response = json_decode( $response );
?>
Response
{
"id": "text-3",
"id_base": "text",
"settings": {
"title": "hello world"
},
"sidebar": "sidebar-2",
"position": 0
}