web-dev-qa-db-fra.com

Comment permettre au lien de réponse de rester sur le formulaire de commentaire une fois que j'ai atteint la limite de 10 commentaires imbriqués?

Est-il possible d'autoriser le lien de réponse à rester sur le formulaire de commentaire une fois que j'ai atteint la limite de 10 commentaires imbriqués?

Je n'ai pas nécessairement besoin de commentaires imbriqués, il faut juste que le lien de réponse soit toujours disponible, car j'utilise un plugin qui envoie uniquement des notifications par courrier électronique sur un commentaire "réponse".

4
Pete

Si vous devez modifier le max depth, vous pouvez utiliser le filtre thread_comments_depth_max:

/**
 * Set max comments depth to 15 on the discussion settings page
 */
add_filter( 'thread_comments_depth_max', function( $max )
{
    return 15;
} );

ensuite, la liste déroulante de la page Paramètres de discussion indique la plage 1 - 15.

Mais je peux imaginer que les commentaires très profonds seraient plus difficiles à lire.

Une autre approche serait de remplacer la valeur de l’option thread_comments_depth sur le serveur frontal:

/**
 * Set max comments depth to 15 on the front-end
 */
add_filter( 'option_thread_comments_depth', function( $val )
{
    if( ! is_admin() )
        $val = 15;

    return $val;
} );

La raison pour laquelle les liens de réponse ne s'affichent pas pour des profondeurs supérieures à la profondeur maximale est cette partie:

if ( 0 == $args['depth'] || $args['max_depth'] <= $args['depth'] ) {
    return;
}

dans la fonction get_comment_reply_link().

Il n'est pas possible d'utiliser le filtre comment_reply_link_args, car il est appliqué après la vérification de la profondeur, pour une raison quelconque.

3
birgire