Skip to main content
Glama

Claudeus WordPress MCP

by deus-h
templates.ts3.83 kB
/** * WordPress Templates API Client * Handles FSE (Full Site Editing) templates and template parts */ import { BaseApiClient } from './base-client.js'; import { Template, TemplatePart, TemplateData, TemplateFilters } from '../types/template.js'; export class TemplatesApiClient extends BaseApiClient { // ========================================== // TEMPLATES // ========================================== /** * Get a list of templates */ async getTemplates(filters?: TemplateFilters): Promise<Template[]> { return this.get<Template[]>('/templates', filters); } /** * Get a single template by ID * @param id Template ID (slug format, e.g., "twentytwentyfour//home") */ async getTemplate(id: string): Promise<Template> { // Template IDs contain slashes and need special encoding const encodedId = id.split('/').map(encodeURIComponent).join('/'); return this.get<Template>(`/templates/${encodedId}`); } /** * Create a new template */ async createTemplate(data: TemplateData): Promise<Template> { return this.post<Template>('/templates', data); } /** * Update an existing template * @param id Template ID * @param data Template data to update */ async updateTemplate(id: string, data: Partial<TemplateData>): Promise<Template> { const encodedId = id.split('/').map(encodeURIComponent).join('/'); return this.put<Template>(`/templates/${encodedId}`, data); } /** * Delete a template * @param id Template ID * @param force Whether to bypass trash and force deletion */ async deleteTemplate(id: string, force: boolean = false): Promise<{ deleted: boolean; previous: Template }> { const encodedId = id.split('/').map(encodeURIComponent).join('/'); const queryString = force ? '?force=true' : ''; return this.delete<{ deleted: boolean; previous: Template }>(`/templates/${encodedId}${queryString}`); } // ========================================== // TEMPLATE PARTS // ========================================== /** * Get a list of template parts */ async getTemplateParts(filters?: TemplateFilters): Promise<TemplatePart[]> { return this.get<TemplatePart[]>('/template-parts', filters); } /** * Get a single template part by ID * @param id Template part ID (slug format, e.g., "twentytwentyfour//header") */ async getTemplatePart(id: string): Promise<TemplatePart> { const encodedId = id.split('/').map(encodeURIComponent).join('/'); return this.get<TemplatePart>(`/template-parts/${encodedId}`); } /** * Create a new template part */ async createTemplatePart(data: TemplateData): Promise<TemplatePart> { return this.post<TemplatePart>('/template-parts', data); } /** * Update an existing template part * @param id Template part ID * @param data Template part data to update */ async updateTemplatePart(id: string, data: Partial<TemplateData>): Promise<TemplatePart> { const encodedId = id.split('/').map(encodeURIComponent).join('/'); return this.put<TemplatePart>(`/template-parts/${encodedId}`, data); } /** * Delete a template part * @param id Template part ID * @param force Whether to bypass trash and force deletion */ async deleteTemplatePart(id: string, force: boolean = false): Promise<{ deleted: boolean; previous: TemplatePart }> { const encodedId = id.split('/').map(encodeURIComponent).join('/'); const queryString = force ? '?force=true' : ''; return this.delete<{ deleted: boolean; previous: TemplatePart }>(`/template-parts/${encodedId}${queryString}`); } }

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/deus-h/claudeus-wp-mcp'

If you have feedback or need assistance with the MCP directory API, please join our Discord server