Source code for wp_api.endpoints.block_patterns

"""
Block Patterns endpoint for the WordPress REST API (available in WordPress 5.8+)
"""

from typing import Dict, List, Optional, Any, Union
from .base import BaseEndpoint


[docs] class BlockPatterns(BaseEndpoint): """WordPress Block Patterns API wrapper"""
[docs] def __init__(self, client): """ Initialize the block patterns endpoint with a client instance Args: client: WordPress API client instance """ super().__init__(client) self.endpoint = "__experimental/block-patterns" # Experimental endpoint as of WP 5.8
[docs] def list(self, **params) -> List[Dict]: """ Get all registered block patterns Args: **params: Query parameters to include in the request Returns: List of block patterns """ try: return self.client.get(self.endpoint, params) except Exception as e: raise ValueError(f"Failed to retrieve block patterns: {str(e)}") from e
[docs] def get_categories(self, **params) -> List[Dict]: """ Get all registered block pattern categories Args: **params: Query parameters to include in the request Returns: List of block pattern categories """ try: endpoint = "__experimental/block-patterns/categories" return self.client.get(endpoint, params) except Exception as e: raise ValueError(f"Failed to retrieve block pattern categories: {str(e)}") from e