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('&nbsp;');
                }
            });
        })(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
}
Geef een reactie 0