こんにちはゲストさん。会員登録(無料)して質問・回答してみよう!

解決済みの質問

WordPressの コメント欄 に関する質問です(2)

WordPressの コメント欄 に関する質問です(2)


コメントのURLを必須にする方法をを調査しています




名前 aaaaaaaaaaaaaaaaaaaa

メールアドレス bbbbbbbbbbbbbbbbb

URL  cccccccccccc


を入力する箇所が下記にあります


名前とメールアドレスは必須ですが、

URLを必須にするにはどのような記述にすればいいのでしょうか?


元になる全文はこちらです
http://44fsdfa.blogspot.com/p/blog-page.html

下記のように 変更しましたが、URLを入力しなくてもすんなり投稿されてしまいます

URLもメールと同じように必須にするには 他にどこを見ればいいのでしょうか?

--------------------------------------

<form action="<?php echo get_option('siteurl'); ?>/wp-comments-post.php" method="post" id="commentform">

<?php if ( is_user_logged_in() ) : ?>

<p><?php printf(__('Logged in as <a href="%1$s">%2$s</a>.', 'kubrick'), get_option('siteurl') . '/wp-admin/profile.php', $user_identity); ?> <a href="<?php echo wp_logout_url(get_permalink()); ?>" title="<?php _e('Log out of this account', 'kubrick'); ?>"><?php _e('Log out &raquo;', 'kubrick'); ?></a></p>

<?php else : ?>

<p><input type="text" name="author" id="author" value="<?php echo esc_attr($comment_author); ?>" size="22" tabindex="1" <?php if ($req) echo "aria-required='true'"; ?> />
<label for="author"><?php _e('aaaaaaaaaaaaaaaa', 'kubrick'); ?> <?php if ($req) _e("(公開)", "kubrick"); ?></label></p>

<p><input type="text" name="email" id="email" value="<?php echo esc_attr($comment_author_email); ?>" size="22" tabindex="2" <?php if ($req) echo "aria-required='true'"; ?> />
<label for="email"><?php _e('bbbbbbbbbbbbbbbb (必須)', 'kubrick'); ?> <?php if ($req) _e("(非公開)", "kubrick"); ?></label></p>


<p><input type="text" name="url" id="url" value="<?php echo esc_attr($comment_author); ?>" size="22" tabindex="3" <?php if ($req) echo "aria-required='true'"; ?> />
<label for="author"><?php _e('ccccccccccccccccc', 'kubrick'); ?> <?php if ($req) _e("(公開)", "kubrick"); ?></label></p>

<?php endif; ?>

投稿日時 - 2010-05-28 14:01:33

QNo.5927864

困ってます

質問者が選んだベストアンサー

他にもっとスマートなやり方があるかもしれませんが、
wp-comments-post.php(インストールディレクトリに存在)
の69行目あたりで入力のチェックをしています。この辺に、$comment_author_url のチェックを追加。

if ( get_option('require_name_email') && !$user->ID ) {
if ( 6 > strlen($comment_author_email) || '' == $comment_author )
wp_die( __('Error: please fill the required fields (name, email).') );
elseif ( !is_email($comment_author_email))
wp_die( __('Error: please enter a valid email address.') );
}
   ▼▼▼
$pattern = '#(^|[^\"\'=\]])(http|HTTP|ftp)(s|S)?://((([^\s<>\.]+)\.)+[^\s<>\.]+)#sm';
if ( get_option('require_name_email') && !$user->ID ) {
if ( 6 > strlen($comment_author_email) || '' == $comment_author || '' == $comment_author_url)
wp_die( __('エラー: 必須項目 (お名前、メールアドレス、URL) を入力してください。') );
elseif ( !is_email($comment_author_email))
wp_die( __('Error: please enter a valid email address.') );
elseif ( !preg_match($pattern,$comment_author_url))
wp_die( __('エラー: 有効なURLを入力してください。') );
}

(注意)
・本来は、翻訳ファイルを修正すべきですが、めんどうなので日本語を直接書いてutf-8(BOMなし)で保存。
・URLの正規表現は、参考URLから拝借。

参考URL:http://detail.chiebukuro.yahoo.co.jp/qa/question_detail/q1410291879

投稿日時 - 2010-05-28 15:58:48

お礼

早速、ありがとうございます。後ほど試して見ます

投稿日時 - 2010-05-28 18:45:17

このQ&Aは役に立ちましたか?

2人が「このQ&Aが役に立った」と投票しています

回答(1)

あなたにオススメの質問