Wyjaśnię, co próbuję osiągnąć.
Chciałbym mieć regularne komentarze bez wątków (płaskie / klasyczne) z linkiem odpowiedzi do każdego komentarza. Gdy ktoś odpowie na komentarz, komentarz odpowiedzi znajdzie się na górze (lub na dole) jako najnowszy komentarz, tak jak w domyślnych komentarzach niepodzielonych na wątki, ale w przeciwieństwie do domyślnego komentarza niepodzielonego na wątkach, odpowiedź powinna zawierać link do oryginalny komentarz / autor.
Na forum wordpress znajduje się proponowane rozwiązanie:
http://wordpress.org/support/topic/reply-to-link-for-chronological-non-threaded-comments
Po prostu nie działam. Nie jestem pewien, w jakich plikach plakat umieszcza różne fragmenty kodu. Próbowałem użyć kodu i podpiąć funkcję do comment_post:
add_action('comment_post', 'print_reply_link', 10, 2);
function print_reply_link( $comment_id, $approved ){
if( $approved ){
$comment = get_comment( $comment_id );
if ( $comment->comment_parent ) {
$parent = get_comment( $comment->comment_parent );
$parent_link = esc_url( get_comment_link( $comment->comment_parent ) );
printf( ' in reply to <a href="%1$s">%2$s</a>', $parent_link, $parent->comment_author );
}
}
}
Zwróciło to pustą stronę z „w odpowiedzi na nazwę autora ”. Po ponownym załadowaniu postu komentarz do odpowiedzi jest wyświetlany poprawnie, ale bez linku do oryginalnego komentarza
Moje umiejętności kodowania są naprawdę bardzo podstawowe, więc nie mam pojęcia, jak mam postępować. Byłbym bardzo wdzięczny za wszelką pomoc.
s
W %1$s
użyciu, że argument jest traktowana jak i prezentowanych jako ciąg znaków. Jest to szczegółowo wyjaśnione w podręczniku php dla funkcji sprintf: php.net/manual/en/function.sprintf.php
href
wa
który następuje „w odpowiedzi to` jak na«Zbadaj element»narzędzie w Chrome (lub podobny w swojej przeglądarce wyboru)?