diff --git a/includes/artisans-columns-filters.php b/includes/artisans-columns-filters.php index 9fada48..d9f261a 100644 --- a/includes/artisans-columns-filters.php +++ b/includes/artisans-columns-filters.php @@ -35,20 +35,36 @@ add_action('acf/save_post', 'save_acf_post_mdp_status'); function metiers_patrimoine_artisans_add_acf_posts_columns($columns) { global $current_screen; + $my_current_lang = apply_filters('wpml_current_language', NULL); // SUPPRIMER LA COLONNE 'date' if (isset($columns['date'])) { unset($columns['date']); } - $customColumns = array( - 'metiers' => 'Métiers', - 'elements' => 'Éléments du bâtiment', - 'conseiller' => 'Conseiller', - 'state' => 'État', - 'mdpstatus' => 'Statut de travail', - 'lastmodified' => 'Dernière modification', - 'onlinedate' => 'Mise en ligne' - ); + + if($my_current_lang == 'nl'): + $customColumns = array( + 'metiers' => 'Métiers', + //'elements' => 'Éléments du bâtiment', + 'conseiller' => 'Conseiller', + 'state' => 'État', + 'lastmodified' => 'Dernière modification', + 'onlinedate' => 'Mise en ligne', + 'remark' => 'Remarque' + ); + else: + $customColumns = array( + 'metiers' => 'Métiers', + //'elements' => 'Éléments du bâtiment', + 'conseiller' => 'Conseiller', + 'state' => 'État', + 'mdpstatus' => 'Statut de travail', + 'lastmodified' => 'Dernière modification', + 'onlinedate' => 'Mise en ligne', + 'remark' => 'Remarque' + ); + endif; + $new_admin_col_arrays = array_slice($columns, 0, 2, true) + $customColumns + array_slice($columns, 2, count($columns) - 2, true); return array_merge($new_admin_col_arrays); } @@ -59,9 +75,9 @@ add_filter('manage_artisans_posts_columns', 'metiers_patrimoine_artisans_add_acf /* ---------------------------------------------------------------------- GESTION DE LA VALEUR DE CHAQUE COLONNE ------------------------------------------------------------------------*/ -function metiers_patrimoine_artisans_handle_posts_custom_columns($column) +function metiers_patrimoine_artisans_handle_posts_custom_columns($column, $post_id) { - $post_id = get_the_ID(); + //$post_id = get_the_ID(); if ($column == 'conseiller') { $conseiller = get_field('conseiller', $post_id); @@ -106,24 +122,24 @@ function metiers_patrimoine_artisans_handle_posts_custom_columns($column) echo '
×
'; } } - if ($column == 'elements') { - $terms = get_the_terms_organised_by_parent('elementsbatiments', $post_id); - if ($terms) { - $parent_terms = array_filter($terms, function ($term) { - return $term->parent == 0; - }); + // if ($column == 'elements') { + // $terms = get_the_terms_organised_by_parent('elementsbatiments', $post_id); + // if ($terms) { + // $parent_terms = array_filter($terms, function ($term) { + // return $term->parent == 0; + // }); - echo '×
'; - } - } + // echo '×
'; + // } + // } if ($column == 'lastmodified') { // $last_modified_date = get_the_modified_date('j F Y \à H:i', $post_id); @@ -136,9 +152,72 @@ function metiers_patrimoine_artisans_handle_posts_custom_columns($column) if (!$published_date) return; echo $published_date; } + + if ($column == 'remark') { + $last_action = get_field('last_action', $post_id); + //write_log($post_id); + //write_log($last_action); + + + if (!isset($last_action) || empty($last_action)) return; $remark = $last_action['comments']; + + if (!isset($remark) || empty($remark)) return; + + // $conseillerDatas = get_userdata($conseiller); + // if (!isset($conseillerDatas->display_name)) return; + + echo $remark; + } } add_action('manage_artisans_posts_custom_column', 'metiers_patrimoine_artisans_handle_posts_custom_columns', 10, 2); +/* ------ +// Fonction pour charger les posts avec leurs ACF +-------*/ + +function load_posts_with_acf() { + // Vérifie si ACF est activé + if ( ! function_exists('get_field') ) { + return []; + } + + // Récupère les posts (exemple : tous les articles publiés) + $posts_query = new WP_Query([ + 'post_type' => 'artisans', // Change selon ton besoin (page, custom post type...) + 'posts_per_page' => -1, // Tous les posts + ]); + + $posts_data = []; + + if ( $posts_query->have_posts() ) { + while ( $posts_query->have_posts() ) { + $posts_query->the_post(); + $post_id = get_the_ID(); + + // Récupère les champs ACF (automatique ou spécifiques) + //$acf_fields = get_fields($post_id); // Renvoie tous les champs ACF du post + + // Structure des données + $posts_data[$post_id] = [ + 'id' => $post_id, + 'acf' => [ + 'conseiller' => get_field('conseiller', $post_id), + 'mdp_status' => get_field('mdp_status', $post_id), + 'last_action' => get_field('last_action', $post_id), + ] + ]; + } + wp_reset_postdata(); + } + + return $posts_data; +} + +// Variable globale accessible partout +global $global_posts_with_acf; +$global_posts_with_acf = load_posts_with_acf(); + + /* ---------------------------------------------------------------------- GESTION DU FILTRAGE @@ -148,6 +227,9 @@ function metiers_patrimoine_filter_posts_declare_dropdowns() { global $typenow; global $wp_meta_boxes; + global $global_posts_with_acf; + + //write_log($global_posts_with_acf); $post_type = (isset($_GET['post_type'])) ? $_GET['post_type'] : 'post'; if ($post_type !== 'artisans') return; @@ -159,25 +241,24 @@ function metiers_patrimoine_filter_posts_declare_dropdowns() $mdp_status_choices = isset($mdp_status_datas['choices']) ? $mdp_status_datas['choices'] : null; + // $meta_key = 'mdp_status'; + // $values = get_posts([ + // 'post_status' => 'any', + // 'post_type' => 'artisans', + // 'posts_per_page' => -1, + // 'meta_key' => $meta_key, + // 'fields' => 'ids', + // ]); - $meta_key = 'mdp_status'; - $values = get_posts([ - 'post_status' => 'any', - 'post_type' => 'artisans', - 'posts_per_page' => -1, - 'meta_key' => $meta_key, - 'fields' => 'ids', - ]); - - $unique_values = array_reduce(array_filter(array_map( - fn($post_id) => get_field('mdp_status', $post_id) ?? null, - $values - )), function ($acc, $item) { - if (isset($item['value'], $item['label'])) { - $acc[$item['value']] = $item['label']; - } - return $acc; - }, []); + // $unique_values = array_reduce(array_filter(array_map( + // fn($post_id) => get_field('mdp_status', $post_id) ?? null, + // $values + // )), function ($acc, $item) { + // if (isset($item['value'], $item['label'])) { + // $acc[$item['value']] = $item['label']; + // } + // return $acc; + // }, []); ?> -