Malheureusement, mon lien de "réponse" pour les commentaires threadés ne fonctionne pas.
Premièrement, je charge le script de réponse aux commentaires (vérifiez si les scripts contiennent load: works) dans le <head>
à l'aide de deux fonctions (la première wp_register_script()
sur le hook init, la seconde wp_print_scripts()
au crochet wp_head):
Ensuite, j'ajoute le lien Répondre:
comment_reply_link(
array(
'reply_text' => __( 'Reply', OXO_TEXTDOMAIN )
,'depth' => isset( $args['args']['depth'] ) ? $args['args']['depth'] : (int) 3
,'max_depth' => isset( $args['args']['max_depth'] ) ? $args['args']['max_depth'] : (int) 5
)
,get_comment_ID()
,$post->ID
);
qui produit cette sortie HTML (exemple)
<a onclick="return addComment.moveForm("comment-11", "11", "respond", "149")" href="/wordpress/?p=149&cpage=2&replytocom=11#respond" class="comment-reply-link">Reply</a>
J'ai tout ce que je lis:
Mes commentaires sont dans un <div id="comments">
et le formulaire de commentaires au-dessus dans un <div id="respond">
.
On me laisse toujours tomber dans # reply-anchor et dans le formulaire de commentaire situé au-dessus des commentaires (http://localhost/wordpress/?p=149&cpage=2&replytocom=11#respond
), au lieu d’obtenir le formulaire de commentaire affiché sous le commentaire auquel je souhaite répondre.
Google, les tutoriels, les guides pratiques et autres étaient jusqu'à présent sans aide. Tout semble être conforme à la norme recommandée ...
Merci beaucoup.
Ne liez pas le fichier de script directement. Mettez-le en file d'attente à la place, par exemple dans functions.php
:
function mytheme_enqueue_comment_reply() {
// on single blog post pages with comments open and threaded comments
if ( is_singular() && comments_open() && get_option( 'thread_comments' ) ) {
// enqueue the javascript that performs in-link comment reply fanciness
wp_enqueue_script( 'comment-reply' );
}
}
// Hook into wp_enqueue_scripts
add_action( 'wp_enqueue_scripts', 'mytheme_enqueue_comment_reply' );
Vous pouvez également le faire, dans l'en-tête du document, avant l'appel wp_head()
:
<?php
// on single blog post pages with comments open and threaded comments
if ( is_singular() && comments_open() && get_option( 'thread_comments' ) ) {
// enqueue the javascript that performs in-link comment reply fanciness
wp_enqueue_script( 'comment-reply' );
}
?>
MODIFIER:
Connexion à wp_head
, plutôt que par exemple wp_print_scripts
, est important. Le wp_print_scripts
ne fonctionne pas de la même manière que wp_print_styles
pour afficher les liens de feuilles de style.
Donc, si vous utilisez wp_print_scripts
, changez le hook en wp_head
.
EDIT 2:
En vous basant sur votre code lié à Pastebin, avez-vous essayé ce qui suit pour éliminer les problèmes potentiels?
wp_comment_list()
wp_comment_list()
à avant l'appel comment_form()
comment_form()
Je ne sais pas si cela résoudra votre problème, mais ils peuvent nous aider à retrouver son origine.