/**
* Список меток поста с тайтлом задаваемым в описании метки
*
* @param null $post_id - ID поста для которого получить метки
* @param null $before - что-то до списка меток
* @param null $sep - разделитель между метками
* @param null $after - что-то после списка меток
*
* @return bool|string|WP_Error
*/
function wpp_get_post_tags_with_title( $post_id = null, $before = null, $sep = null, $after = null ) {
if ( empty( $post_id ) ) {
global $post;
$post_id = $post->ID;
}
$post_tags = get_the_tags( (int)$post_id );
if ( empty( $post_tags ) ) {
return false;
}
$links = [];
foreach ( $post_tags as $tag ) {
$link = get_term_link( (int)$tag->term_id, 'post_tag' );
if ( is_wp_error( $link ) ) {
return $link;
}
$links[] = sprintf( '<a href="%s" rel="tag" title="%s">%s</a>', esc_url( $link ), $tag->description, $tag->name );
}
$tag_links = apply_filters( "term_links-post_tag", $links );
return $before . join( $sep, $tag_links ) . $after;
}