@iflow-mcp/claudeus-wp-mcp
Version:
The most comprehensive WordPress MCP server - 145 production-ready tools for complete WordPress management with AI
74 lines • 2.08 kB
JavaScript
/**
* WordPress Widgets & Sidebars API Client
* Handles widget and sidebar management operations
*/
import { BaseApiClient } from './base-client.js';
export class WidgetsApiClient extends BaseApiClient {
// ==========================================
// SIDEBARS
// ==========================================
/**
* Get all registered sidebars
* @param filters Optional filters
*/
async getSidebars(filters) {
return this.get('/sidebars', filters);
}
/**
* Get a specific sidebar by ID
* @param id Sidebar ID
*/
async getSidebar(id) {
return this.get(`/sidebars/${id}`);
}
/**
* Update a sidebar (replace all widgets)
* @param id Sidebar ID
* @param widgets Array of widget IDs to place in sidebar
*/
async updateSidebar(id, widgets) {
return this.post(`/sidebars/${id}`, { widgets });
}
// ==========================================
// WIDGETS
// ==========================================
/**
* Get all widgets
* @param filters Optional filters (sidebar, context)
*/
async getWidgets(filters) {
return this.get('/widgets', filters);
}
/**
* Get a specific widget by ID
* @param id Widget ID
*/
async getWidget(id) {
return this.get(`/widgets/${id}`);
}
/**
* Create a new widget
* @param data Widget data (id_base, sidebar, instance)
*/
async createWidget(data) {
return this.post('/widgets', data);
}
/**
* Update an existing widget
* @param id Widget ID
* @param data Widget data to update
*/
async updateWidget(id, data) {
return this.post(`/widgets/${id}`, data);
}
/**
* Delete a widget
* @param id Widget ID
* @param force Whether to force delete (bypass trash)
*/
async deleteWidget(id, force = false) {
const endpoint = force ? `/widgets/${id}?force=true` : `/widgets/${id}`;
return this.delete(endpoint);
}
}
//# sourceMappingURL=widgets.js.map