Skip to main content
Glama
shortcodes.php•1.56 kB
<?php /** * WPMCP Shortcode Operations */ if (!defined('ABSPATH')) exit; class WPMCP_Shortcodes { public function __construct() { add_action('rest_api_init', [$this, 'register_routes']); } public function register_routes() { $ns = 'wpmcp/v1'; register_rest_route($ns, '/shortcodes/list', [ 'methods' => 'GET', 'callback' => [$this, 'list_shortcodes'], 'permission_callback' => [$this, 'check_permissions'] ]); register_rest_route($ns, '/shortcodes/execute', [ 'methods' => 'POST', 'callback' => [$this, 'execute_shortcode'], 'permission_callback' => [$this, 'check_permissions'] ]); } public function check_permissions() { return current_user_can('manage_options'); } public function list_shortcodes() { global $shortcode_tags; $shortcodes = []; foreach ($shortcode_tags as $tag => $callback) { $shortcodes[] = [ 'tag' => $tag, 'callback' => is_string($callback) ? $callback : 'Closure' ]; } return ['shortcodes' => $shortcodes, 'total' => count($shortcodes)]; } public function execute_shortcode($request) { $content = $request->get_param('content'); if (empty($content)) return new WP_Error('missing_content', 'Content required'); return ['input' => $content, 'output' => do_shortcode($content)]; } }

Latest Blog Posts

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/RaheesAhmed/wordpress-mcp-server'

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