83 lines
2.4 KiB
PHP
83 lines
2.4 KiB
PHP
<?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');
|