コメントスパムと闘うために、ページとサイトのコメントの "Leave a Reply" セクションから "Website" フィールドを非表示にするか削除します。
自分のサイトのコメントに自分のURLを埋め込んで他の人のページランキングを上げたいという願いはありません。これは私のサイト上のコメントの99%がやりたいことのようです。
答えに違いがある場合は、Twenty Tenテーマを使用しています。
ありがとうございます。
このコードでwp-content/plugins/
にファイルを作成します。
<?php
/*
Plugin Name: Get Rid of Comment Websites
*/
function my_custom_comment_fields( $fields ){
if(isset($fields['url']))
unset($fields['url']);
return $fields;
}
add_filter( 'comment_form_default_fields', 'my_custom_comment_fields' );
通常、私はあなたのテーマのfunctions.phpファイルにそれを入れると言うでしょう、しかし私はTwenty Tenのように更新することができるテーマのためにそれをすることを勧めません。この方法で無効にできるプラグインとしてこの機能を追加することができます。
完全な解決策ではなく、他の解決策でも構いません
PHPを変更する代わりに、コメントフォーム、それがただ1つの入力フィールドであるかどうか、ロードおよび非表示になっている場合は、コメントフォームにif
ステートメントまたはrewrite
を書く代わりに
uRLフィールドを非表示にするだけです
.comment-form-url {
display: none;
}
Johnの良い答えとは別に、私はより直接的な解決策を使っています。それは私がコメントフォームとそのフィールドをもっとコントロールできるようにします。
デフォルトでは、あなたのテーマのcomments.php
( Twenty Elevenのもの、例えば )はこのようなものを持っているかもしれません - <?php comment_form(); ?>
今、<?php comment_form(); ?>
を使うことは以下と同じです:
<?php
$args = array(
'fields' => array(
'author' => '<p class="comment-form-author">' . '<label for="author">' . __( 'Name' ) . '</label> ' . ( $req ? '<span class="required">*</span>' : '' ) .
'<input id="author" name="author" type="text" value="' . esc_attr( $commenter['comment_author'] ) . '" size="30"' . $aria_req . ' /></p>',
'email' => '<p class="comment-form-email"><label for="email">' . __( 'Email' ) . '</label> ' . ( $req ? '<span class="required">*</span>' : '' ) .
'<input id="email" name="email" type="text" value="' . esc_attr( $commenter['comment_author_email'] ) . '" size="30"' . $aria_req . ' /></p>',
'url' => '<p class="comment-form-url"><label for="url">' . __( 'Website' ) . '</label>' .
'<input id="url" name="url" type="text" value="' . esc_attr( $commenter['comment_author_url'] ) . '" size="30" /></p>',
);
);
comment_form( $args );
?>
唯一の違いは、AFAIKです。長いバージョンほど柔軟性があります。あなたの場合のように、あなたはウェブサイトフィールドを見せたくありません。そのため、url
配列のfields
パラメータを削除するだけで、最終結果は次のようになります。
<?php
$args = array(
'fields' => array(
'author' => '<p class="comment-form-author">' . '<label for="author">' . __( 'Name' ) . '</label> ' . ( $req ? '<span class="required">*</span>' : '' ) .
'<input id="author" name="author" type="text" value="' . esc_attr( $commenter['comment_author'] ) . '" size="30"' . $aria_req . ' /></p>',
'email' => '<p class="comment-form-email"><label for="email">' . __( 'Email' ) . '</label> ' . ( $req ? '<span class="required">*</span>' : '' ) .
'<input id="email" name="email" type="text" value="' . esc_attr( $commenter['comment_author_email'] ) . '" size="30"' . $aria_req . ' /></p>',
);
);
comment_form( $args );
?>
...これはあなたが必要としているものです。
推奨読書: WordPressコーデックス関数リファレンス/ comment_form
ソースファイル: (トランクバージョン - 最新) http://core.svn.wordpress.org/trunk/wp-includes/comment-template.php
コメントフォームからWebサイトフィールドを削除するのはとても簡単です。下記のコードは、ほんの数行です。
function cs_remove_comment_website_fields($fields) {
unset($fields['url']);
return $fields;
}
add_filter('comment_form_default_fields','cs_remove_comment_website_fields');