Accueil - Non classé - Filtrer une grille Gridbuilder par articles « featured », et remonter le champ dans la zone quick edit des posts wordpress

Filtrer une grille Gridbuilder par articles « featured », et remonter le champ dans la zone quick edit des posts wordpress

3 Avr 2025

  1. Solution 1 : ajouter une catégorie « featured » et filtrer sur cette catégorie.
  2. Solution 2 (à tester) : créer une taxonomie « featured » et un choix « oui ». Voir si gridbuilder permet de filtrer sur une taxonomie custom
  3. Solution ACF

Solution ACF

  1. Etape 1 : créer un champ ACF featured (case à cocher true/false)
  2. Etape 2 : dans la grille Gridbuilder, utiliser l’option custom field pour filtrer la grille : ajouter le custom field créé avec ACF puis utiliser « numérique » puis = 1.
  3. Etape 3 : pour faire remonter l’info dans les colonnes de l’interface wordpress, puis dans le quickedit, ajouter ce code au function.php du theme enfant (ici le nom du champ ACF est ‘featured’. A remplacer si besoin.
/**ajout champ featured dans quick edit**/
function my_custom_columns($columns) {
    $columns['featured'] = 'featured'; // Remplacez "my_acf_field" par votre vrai champ ACF
    return $columns;
}
add_filter('manage_posts_columns', 'my_custom_columns'); // Remplacez 'posts' si vous travaillez avec un CPT

function my_custom_columns_content($column_name, $post_id) {
    if ($column_name === 'featured') {
        echo get_field('featured', $post_id); // Remplacez "my_acf_field" par votre vrai champ ACF
    }
}
add_action('manage_posts_custom_column', 'my_custom_columns_content', 10, 2);

function my_custom_quick_edit($column_name, $post_type) {
    if ($column_name !== 'featured') {
        return;
    }
    ?>
    <fieldset class="inline-edit-col-right">
        <div class="inline-edit-col">
            <label>
                <span class="title">Featured</span>
                <span class="input-text-wrap">
                    <input type="text" name="featured" id="featured" value="">
                </span>
            </label>
        </div>
    </fieldset>
    <?php
}
add_action('quick_edit_custom_box', 'my_custom_quick_edit', 10, 2);


function my_custom_quick_edit_js() {
    ?>
    <script>
        jQuery(document).ready(function($) {
            var $wp_inline_edit = inlineEditPost.edit;
            inlineEditPost.edit = function(id) {
                $wp_inline_edit.apply(this, arguments);
                var post_id = (typeof(id) === 'object') ? parseInt(this.getId(id)) : 0;
                if (post_id > 0) {
                    var custom_field_value = $('#post-' + post_id).find('.column-featured').text().trim();
                    $('#featured').val(custom_field_value);
                }
            }
        });
    </script>
    <?php
}
add_action('admin_footer', 'my_custom_quick_edit_js');

function my_custom_quick_edit_save($post_id) {
    if (isset($_POST['featured'])) {
        update_field('featured', sanitize_text_field($_POST['featured']), $post_id);
    }
}
add_action('save_post', 'my_custom_quick_edit_save');

un problème ?

La solution de cet article ne fonctionne pas ou plus ? Faites-nous en part et nous étudierons le problème pour trouver une solution et vous la communiquer.

[ninja_form id=1]

sujets liés

Erreur de shortcode : l'attribut view-id est manquant ou incorrect (acf_views view-id="778" name="posts")

Vous cherchez un plugin ?

Faites le bon choix pour votre projet en lisant nos reviews et tests approfondis de plugins.

Share This