Я создал функцию ниже:
Код: Выделить всё
function get_smart_slider_data($data) {
$slider_id = isset($data['id']) ? intval($data['id']) : 0;
$plugin_path = WP_PLUGIN_DIR . '/smart-slider-3/Nextend/SmartSlider3.php';
if (file_exists($plugin_path)) {
include_once $plugin_path;
}
if (!function_exists('smart_slider3')) {
return new WP_Error('no_slider_function', 'Função Smart Slider não encontrada', ['status' => 500]);
}
$slider_html = do_shortcode('[smartslider3 slider=' . $slider_id . ']');
if (!empty($slider_html)) {
return rest_ensure_response(['html' => $slider_html]);
}
return new WP_Error('no_slider', 'Slider not found', ['status' => 404]);
}
function register_smart_slider_endpoint() {
register_rest_route('custom/v1', '/slider/(?P\d+)', [
'methods' => 'GET',
'callback' => 'get_smart_slider_data',
'args' => [
'id' => [
'validate_callback' => function($param, $request, $key) {
return is_numeric($param);
}
]
],
'permission_callback' => '__return_true',
]);
}
//-----------------------------------------------------------------------
// Hook para inicializar o endpoint na API REST do WordPress
//-----------------------------------------------------------------------
add_action('rest_api_init', 'register_smart_slider_endpoint');
Код: Выделить всё
{
"code": "no_slider",
"message": "Slider não encontrado",
"data": {
"status": 404
}
}
Обригадо. Спасибо.
Подробнее здесь: https://stackoverflow.com/questions/791 ... s-rest-api
Мобильная версия