• 解決済 user_naga

    (@user_naga)


    wordpress2.8.4を利用させて頂いております。

    コメント投稿のメールアドレス・ウェブサイトで有効な入力ではない場合(メールアドレスで@がない等)、登録すると空になって登録されてしまいます。
    また、ウェブサイトの入力が有効でも http:// が自動で入力され登録されてしまいます。

    空にさせず、 http:// を自動で入力させないようにしたいのですが、どこで制御されているのでしょうか?

    お力添えの程宜しくお願い致します。

    [実現させたい事]
    ・コメント投稿時、メールアドレス・ウェブサイトを空にさせない
    ・コメント投稿時、ウェブサイトに http:// を自動入力させない

4件の返信を表示中 - 1 - 4件目 (全4件中)
  • user_nagaさん、こんにちは。

    メールアドレス、ウェブサイトの入力値は、それぞれpre_comment_author_emailとpre_comment_author_urlというフィルターフックを通ります。

    これらのフックには、wp-includes/default-filters.phpにていくつかのフィルターが追加されています。

    具体的には、メールアドレスはsanitize_email、ウェブサイトはesc_url_raw(ひいてはclean_url)で該当する処理がなされています。

    このフィルタリングを停止させるのであれば、remove_filterをfunctions.phpに記述してあげれば良いかと思います。

    トピック投稿者 user_naga

    (@user_naga)

    jim912様、丁寧なご返信有難うございます。

    早速、functions.phpにremove_filterで記述させて頂きましたが
    それだけですと、まだ空になってしまいましたので、sanitize_email・esc_url_raw・clean_urlの処理をコメントアウト・一部変更したところ解決する事が出来ました。

    どこでどのような処理がされているのか、丁寧に詳細をご説明下さったので
    私でも何とかなりました。

    本当に有難うございました。

    [今回行った変更]
    ・functions.phpにremove_filterでsanitize_email・esc_url_raw・clean_urlを記述
    ・sanitize_email・esc_url_rawをコメントアウト
    ・clean_urlのhttp://連結処理箇所を削除

    user_nagaさん、こんにちは。

    default-filters.phpのコメントアウトですと、一緒にフックが追加されているpre_user_emailやpre_link_urlなどもあわせて処理がカットされてしまいますので、思わぬ所で不具合が出ないとも限りません。

    私の方で、正確さが足りなかったのですが、remove_filterを記述するのは、wp-includes/functions.phpではなく、利用しているテーマのfunctions.phpです。もし、間違っておられたようであれば申し訳ありません。

    また、本体の改編はアップデート時に同様の処理を行わなければならないので、極力改編を行わない方法をおすすめします。

    トピック投稿者 user_naga

    (@user_naga)

    jim912様、ご教授有難うございます。

    本体の改編(コメントアウト等)は、出来るだけ行わない方が良いのですね。
    (あまり機能を使用していないので、現在は不具合が出ていないのかもしれません)

    remove_filterの記述ですが、wp-content/themes/default(例)/に
    ありますfunctions.phpに記述しております。
    こちらの箇所で違うようでしたら私の不勉強の致すところで申し訳ないです。

    また、本体を改編しないように、もう一度みてみます。

4件の返信を表示中 - 1 - 4件目 (全4件中)
  • トピック「コメント投稿のメールアドレス・ウェブサイトが空になってしまう」には新たに返信することはできません。