carhop__dynamiques-theme__P.../includes/article-columns.php
Nonimart 3cccbb76e8
All checks were successful
continuous-integration/drone/push Build is passing
REFACTOR Reorganising columns settings in 2 separates files for each post type
2025-08-13 09:43:47 +02:00

83 lines
2.4 KiB
PHP
Raw Permalink Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

<?php
/* ----------------------------------------------------------------------
DÉCLARATION DES COLONNES CUSTOM DANS LA LISTE DES POSTS ARTISANS
------------------------------------------------------------------------*/
// **** AJOUT DES COLONNES
function carhop_articles_add_acf_posts_columns($columns)
{
global $current_screen;
// SUPPRIMER LA COLONNE 'date'
if (isset($columns['date'])) {
unset($columns['date']);
}
$customColumns = array(
'revue_issue_number' => 'Numéro',
'revue' => 'Revue',
);
$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);
}
add_filter('manage_articles_posts_columns', 'carhop_articles_add_acf_posts_columns');
/* ----------------------------------------------------------------------
GESTION DE LA VALEUR DE CHAQUE COLONNE
------------------------------------------------------------------------*/
function carhop_articles_handle_posts_custom_columns($column)
{
$post_id = get_the_ID();
$related_revue_ID = get_field('related_revue', $post_id);
if ($column == 'revue_issue_number') {
// $revue_issue_number = get_field('issue_number', $related_revue_ID);
$revue_issue_number = get_post_meta($post_id, 'revue_issue_number', true);
if (!isset($revue_issue_number)) {
echo '×';
} else {
echo $revue_issue_number;
}
}
if ($column == 'revue') {
$revue_id = get_field('related_revue', $post_id);
if (!isset($revue_id)) {
echo '—';
} else {
$revue_title = get_the_title($revue_id);
echo $revue_title;
}
}
}
add_action('manage_articles_posts_custom_column', 'carhop_articles_handle_posts_custom_columns', 10, 2);
// **** RENDRE LA COLONNE TRIABLE
function carhop_articles_make_columns_sortable($columns)
{
$columns['revue_issue_number'] = 'revue_issue_number';
return $columns;
}
add_filter('manage_edit-articles_sortable_columns', 'carhop_articles_make_columns_sortable');
// **** LOGIQUE DE TRI PERSONNALISÉ
function carhop_articles_custom_orderby($query)
{
if (!is_admin()) {
return;
}
$orderby = $query->get('orderby');
if ('revue_issue_number' == $orderby) {
$query->set('meta_key', 'revue_issue_number');
$query->set('orderby', 'meta_value_num');
}
}
add_action('pre_get_posts', 'carhop_articles_custom_orderby');