40 lines
1.3 KiB
PHP
40 lines
1.3 KiB
PHP
<?php
|
|
// AJOUT ROUTE POUR HTMX
|
|
add_action('rest_api_init', function () {
|
|
register_rest_route('htmx/v1', '/events-home', [
|
|
'methods' => 'GET',
|
|
'callback' => 'load_custom_template',
|
|
'permission_callback' => '__return_true', // Autorise l'accès à tous les utilisateurs
|
|
]);
|
|
});
|
|
|
|
function load_custom_template($request) {
|
|
// Nom du fichier de template à inclure (ex. : 'custom-template.php' dans votre thème)
|
|
$template = locate_template('htmx/events-home.php');
|
|
|
|
if ($template) {
|
|
// Capture la sortie du template pour l'inclure dans la réponse
|
|
ob_start();
|
|
include $template;
|
|
$content = ob_get_clean();
|
|
|
|
header('Content-Type: text/html; charset=UTF-8');
|
|
echo $content;
|
|
exit; // Important pour éviter que WordPress ajoute des données JSON supplémentaires
|
|
}
|
|
|
|
// Retourne une erreur si le fichier template est introuvable
|
|
header('Content-Type: text/html; charset=UTF-8', true, 404);
|
|
echo 'Template introuvable.';
|
|
exit;
|
|
}
|
|
|
|
|
|
// ENQUEUE HTMX
|
|
add_action('wp_enqueue_scripts', 'add_scripts');
|
|
function add_scripts(){
|
|
wp_register_script( 'htmx', 'https://unpkg.com/htmx.org@2.0.3', false, null, true);
|
|
if(is_front_page()):
|
|
wp_enqueue_script( 'htmx' );
|
|
endif;
|
|
} |