web-dev-qa-db-ja.com

#reply-titleの国際化/国際化を変更するにはどうすればいいですか? (旧タイトル:コメント返信リンクが機能しない)

私は新しいテーマとそれ用のプラグインを開発しています。残念ながら、コメント返信リンクは壊れています。コメント返信テキストエリアを移動するのではなく、ページを追加することによってページがリロードされます。 ?replytocom = 2#(href属性の値に対応する)URLに応答します。

これは私が何を言っているのかを知るためのリンクです。 (リンクを見るのにもう必要ありません)

ご協力ありがとうございます。

最高のjoschi81

編集:私はそれが私の "汚い"ハックが#reply-titleを変更することが原因であることを知りました。これは好きです:functions.php。

// add variable to change comment form title
function add_comment_title_variable($content) {
    $output = $content;
    if(is_single() && comments_open()) $output .='<script type="text/javascript"> var commentFormTitle = "'.__('Leave a comment','theme-text-domain').'"; </script>';
    return $output;
}
add_filter('the_content','add_comment_title_variable');

私のテーマのメインのJSファイル:

$(document).ready(function(){
    // [...]
    if(typeof(commentFormTitle) != 'undefined') $('#reply-title').html(commentFormTitle);
});

それで、私がそのような汚いハックなしでコメントフォームタイトルの翻訳/テキストアウトプットを「個別化」することができる方法で何かヒントがありますか?

私はそれをコメント返信リンクに関して同じ問題を抱えている他の人々と同じ質問の範囲内でそれを同じように引き起こしているのかもしれないのと同じ質問の中に保った。

ありがとうjoschi81

1
joschi81

JQuery効果に必要なcomment-reply.jsをエンキューする必要があるからです。

headタグ内のheader.phpファイルに次のコードを配置します。

if ( is_singular() && get_option( 'thread_comments' ) )
    wp_enqueue_script( 'comment-reply' );
1

解決しました!私はここで最適な解決策を見つけました: https://wordpress.org/support/topic/how-to-change-wording-of-leave-a-reply#post-1881213 テーマのテキストドメインを次のように追加しました。

// individual comment form title
function comment_reform ($arg) {
    $arg['title_reply'] = __('Leave a comment','theme-textdomain');
    return $arg;
}
add_filter('comment_form_defaults','comment_reform');

すみません、comment_form()関数は私にとってまだ少し不明瞭でした、特にそれがデフォルトの引数をフィルタすることに関しては。

1
joschi81