FEATURE Enhancing get_authors_linked_to_posts to integrate main authors and sort authors list by name
All checks were successful
continuous-integration/drone/push Build is passing

This commit is contained in:
Antoine M 2026-03-23 16:46:14 +01:00
parent ef468b323f
commit 5624335a79

View File

@ -379,26 +379,38 @@ function get_authors_linked_to_posts(array $post_ids)
return array();
}
$author_ids = array();
foreach ($post_ids as $post_id) {
$post_authors = get_field('authors', $post_id);
if (empty($post_authors)) continue;
foreach ($post_authors as $author) {
$author_id = is_object($author) ? $author->ID : (int) $author;
if ($author_id) {
$author_ids[$author_id] = $author_id; // set pour éviter les doublons
$has_main_author = get_field('has_main_author', $post_id);
$post_main_author = get_field('main_author', $post_id);
if (!empty($post_authors)) {
foreach ($post_authors as $author) {
$author_id = is_object($author) ? $author->ID : (int) $author;
if ($author_id) {
$author_ids[$author_id] = $author_id; // set pour éviter les doublons
}
}
}
if ($has_main_author && is_object($post_main_author) && isset($post_main_author->ID)) {
$author_ids[$post_main_author->ID] = $post_main_author->ID;
}
}
if (empty($author_ids)) {
return array();
}
return get_posts(array(
'post_type' => 'auteurs',
'post__in' => array_values($author_ids),
'posts_per_page' => -1,
'orderby' => 'title',
'order' => 'ASC',
'meta_key' => 'last_name',
'orderby' => 'meta_value',
));
}