UNPKG

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
/** * 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