Eerst een div om de content in te plaatsen
<div id="category-description"></div>
In functions.php
add_action('wp_footer', 'wbmz_facetwp_update_description');
function wbmz_facetwp_update_description() {
?>
<script>
(function($) {
$(document).on('facetwp-loaded', function() {
const selectedCategory = FWP.facets['categorieen']; // Gebruik je FacetWP filternaam
//console.log('Geselecteerde categorie:', selectedCategory);
if (selectedCategory && selectedCategory.length > 0) {
const categorySlug = selectedCategory[0];
// AJAX-aanroep om de beschrijving op te halen
$.ajax({
url: '<?php echo admin_url("admin-ajax.php"); ?>',
method: 'POST',
data: {
action: 'wbmz_get_category_description',
category_slug: categorySlug
},
success: function(response) {
$('#category-description').html(response);
//console.log('Beschrijving bijgewerkt:', response);
},
error: function(error) {
//console.error('Fout bij het ophalen van de beschrijving:', error);
}
});
} else {
$('#category-description').html(' ');
}
});
})(jQuery);
</script>
<?php
}
add_action('wp_ajax_wbmz_get_category_description', 'wbmz_get_category_description');
add_action('wp_ajax_nopriv_wbmz_get_category_description', 'wbmz_get_category_description');
function wbmz_get_category_description() {
if (isset($_POST['category_slug']) && !empty($_POST['category_slug'])) {
$category_slug = sanitize_text_field($_POST['category_slug']);
// Zoek de categorie op basis van de slug
$category = get_term_by('slug', $category_slug, 'product_cat');
if ($category) {
$description = category_description($category->term_id);
if (!empty($description)) {
echo wp_kses_post($description);
} else {
//echo 'Geen beschrijving beschikbaar voor deze categorie.';
}
} else {
//echo 'Categorie niet gevonden.';
}
} else {
//echo '';
}
wp_die();
}
Extra functies om te debuggen
add_filter('facetwp_template_html', function($output, $class) {
if (function_exists('FWP')) {
error_log('FacetWP data: ' . print_r(FWP()->facet->data, true));
}
return $output;
}, 10, 2);
add_action('wp_footer', 'wbmz_facetwp_console_debug');
function wbmz_facetwp_console_debug() {
?>
<script>
(function($) {
$(document).on('facetwp-loaded', function() {
// Log alle geselecteerde waarden in de console
const facetData = FWP.facets['categorieen']; // Gebruik je filternaam 'categorieen'
console.log('Geselecteerde categorieën:', facetData);
// Debug specifiek de container update
if ($('#category-description').length > 0) {
var descriptionContent = $('#category-description').html();
console.log('Huidige beschrijving:', descriptionContent);
} else {
console.error('Container #category-description niet gevonden.');
}
});
})(jQuery);
(function($) {
$(document).on('facetwp-loaded', function() {
console.log('FacetWP geladen:', FWP.facets); // Alle actieve FacetWP-filters
});
})(jQuery);
</script>
<?php
}
#AJAX #facetwp #functions #javascript #omschrijving #woocommerce