コメント投稿フォームにキャプチャを付けてみた

スパムコメントの話題ばかりで申し訳ない。
最近スパムコメントが非常に多くなっていて、チェックして一々削除するのも面倒なので
投稿の際に認証コードを入力してもらうようにした。
こういうことは真面目に投稿して下さる方のためには、一手間余計にかかるので
やりたくない。
しかし、スパムコメントを投稿する側は自動で処理するのに、される側としては
処理を手動でやらなければならないのは、何とも腹立たしい。
今度の対策で、する側とされる側があいこになったような気がする。
する側は面倒になって、そのうちに嫌気がさして止めるのではないだろうか。
前回書いたコメント欄が空欄のままの投稿だが、スペースキーだけだと
投稿できないことが分かった。
では必須項目をどのように潜り抜けているのかは謎のままだ。

最近のスパムコメントの傾向

これまでのスパムコメントの特徴としては、ほとんどがURLを羅列したものや
バイアグラの宣伝だった。
しかし、最近はコメントがないものが非常に多くなっている。
ここでちょっと疑問が生じる。
コメント投稿フォームは、確かコメント欄が空欄の場合はNGではないか。
では、どのようにしてこの問題をクリアしているのだろう?
以前、CGIの掲示板では同じような問題に悩まされたことがあったので、
恐らく同じ理屈ではないかと考えている。
それは、コメント欄にカーソルを置き文字や記号のキーではなく
スペースキーを叩いているのではないかということだ。
まあ、こんなことをする暇があったら、もっとやるべきことが他にあるだろうにね。

無料ブログパーツにご用心

当ブログにも使わせて頂いている大変有難い無料のブログパーツですが、
残念ながら中にはブログの挙動を狂わせてしまうものが存在します。
もちろんパーツの名前を書くことはできませんが、ブログに出た症状を書きます。
先ず、ログイン状態のときに表示されるアドミニバーですが、
ダッシュボードではボップアップするメニューがトップページや個別ページでは表示されません。
あとは、投稿者がコメントを編集できるwp-ajax-edit-commentsというプラグインを使っているのですが、
文字化けはするしポップアップで編集画面は出ないしで全然使い物になりませんでした。
これらの症状の原因を究明するまでには相当な根気が必要でした。
ブログパーツをまったく疑っていなかった筆者は、プラグインを一つずつ停止しては
症状が治まっていないか確かめたり、疑わしいWPのファイルを覗いてみたりしました。
最終的にはネットワークで別のブログを立ち上げてみて、ウィジェットをセッティングしていく
行程でやっと原因がブログパーツの一つであるということが判りました。
同じような症状でお悩みの方は、ブログパーツを貼っている場合は先ずそちらを疑ってみると
意外と早く原因が判るかもしれません。

日付の表示位置を変更することに・・・

これまでの表示位置では、ブログを小さいサイズの画面に表示させた場合には
日付が隠れて見えませんでした。
今度は思い切って記事の反対側に移動させました。
慣れもあって何だか違和感がありますが、隠れて見えないよりは良いでしょう。
横方向はposition:aboluteでrightから指定する方が正確にできます。
少しサイドバーに被せてみました。
縦方向は記事のタイトル分、これまでより下がっています。

ログイン・ログアウト画面のロゴ

独自のロゴを用意している人は、最近バージョンアップしてから大きさが
ちょっと気になっているかもしれない。
wp-adminフォルダ内のスタイルシートに新しくlogin.cssが加えられ、
その中でロゴの大きさが指定されるようになった。
折角310x70pxのロゴを用意しておいても、一回り小さく表示されるのだ。(下図)

筆者などはまったく余計なことをしてくれるなぁと思うのだが、こんなことで嘆いていても仕方がない。
逆に喜んでいる人だっているに違いないのだから・・・。
まあ、一手間かかるがこちらで処理するしかない。
以前にも書いたが、原因になっているスタイルシートの属性を省くのは正しい処理とは言えない。
理由はバージョンアップの度に同じ処理をする必要があり、そのようなことが理解できないクライアントさんには
無理な注文をつけることになってしまうからだ。
ここは、テーマフォルダ内のfunction.phpをいじって対処するのがベターなやり方だ。
従来の属性に次の一文を加えれば希望する大きさで表示されるはずだ。
background-size:310px 70px !important;
なお、独自のロゴに差し替えるためのコードは他のサイトを参考にして下さい。
ロゴのサイズの指定を最初からしてある場合は、そのままコピペで構いません。

ja.poとja.moを少しいじってみる

二つ前の記事に出てきたja.poとja.moのファイルを少しいじってみることにする。
理由は日本語への訳があまりにも直過ぎて不自然に感じるところがあったからだ。
例えばコメントのフォームのタイトルだが、「コメントを残す」のところは
元は”Leave a Reply”となっている。
まあ、直訳だと「返事を残せ」となるのだろうが、ここは「コメント投稿フォーム」にしてみた。
それに、「名前」のところは「お名前」が適当だと思ったので、そのように変更した。
ダッシュボードは他人の目に触れないのであまり気にする必要がないが、
表の部分は変更すべきところがあるかもしれない。
より良いブログにするためには迷わず変更をお勧めする。
ただし、twentey-elevenはテーマフォルダ内にもlanguagesフォルダがあって、
その中にもja.poとja.moが存在する。
場合によってはそちらをいじらないと変更が反映されない場合があるので注意が必要だ。

メールアカウントinfoの弊害

スパムメールを送りつけようとする輩は、メールの自動送信ツールの送信先に
取りあえずinfo@サイトのドメインを入力するようだ。
普段あまりスパムメールを受信しないという人は、
メールアカウントにinfoは使っていないと思う。
試しに、info@ドメイン名のアドレスを作ってみると
嫌と言うほどスパムメールが送りつけられるだろう。
受信拒否設定で色々と対策を施してみても高い効果は得られない。
やはりここはアカウントを他のものにした方が手っ取り早いし、効果もそれなりにある。
ただ、社名入りの封筒とか社員の名刺などを大量に作ってしまってからでは、
相当な出費にもなるので本当に困ったものだ。

日付を英語表記にしてみた。

記事の投稿日を英語表記にする方法に関しては数種類あるようですが、
これがベストという方法はないでしょう。
自分にあった方法を見つけるしかないと思います。
筆者がお勧めする方法は、get post time関数を必要な部分にだけ適用することです。
具体的に言うとテーマフォルダ内の投稿日に関係するファイルを開き、
日付を表示する部分に上の関数と入れ替えてやればOKです。
こうすれば、バージョンアップの度に一々書き換えるという手間がかかりませんし、
不必要なところにまで変な影響が及びません。

条件分岐、~でない場合は・・・

これで分かりやすい例としては、上部のページナビ表示が挙げられると思う。
下部のページナビはフロントページ以降すべてのページに必要だが、
上部のそれはフロントページには邪魔くさい。
つまり、2ページ目以降から表示させるというスマートさが欲しい。
そこで使いたいのが、~でない場合は~しなさいという条件分岐だ。
この例で言うと、「フロントページでない場合はページナビを表示しなさい」となる。
このブログで使っているコードを下に載せておきます。
何分まったくのPHP素人が使っているコードなので自信はありませんが、一応機能しております。

	<?php if(!(is_home() && !is_paged())): ?>
		<?php if(function_exists('wp_pagenavi')) { wp_pagenavi(); } ?>
	<?php endif; ?>

————— 以下、後に加筆 —————
上の記事を書いたあとに分かったことだが、ここで取り上げた例は「~でない場合は・・・」という例としては相応しくない。
上のコードで確かに機能するが、ここは「2ページ目以降は・・・」という条件分岐を使うべきなのです。
そうすれば下のようにコードも比較的簡単です。

	<?php if(!(is_paged()): ?>
		<?php if(function_exists('wp_pagenavi')) { wp_pagenavi(); } ?>
	<?php endif; ?>

「もし~でない場合は・・・」という条件分岐を使うときは”!”マークを条件文の前に付けると
覚えておきさえすれば良いと思います。

ロンドン五輪での君が代

あれはもうはっきり言って君が代ではない。
大相撲の表彰式ではあるまいし、
最初のフレーズを繰り返して演奏しているのだ。
別に唱和する訳ではないので、前奏なんて必要ないのだ。
それに気付いてクレームをつけることができる人が
いないのが何とも情けない。
聞くところによると、どこかの国はテンポが違うと
文句を言ったらしい。
君が代のことを国民には厳しく言っておいて、
国際社会では何も言えないことが
金メダルの獲得枚数が少ないことに関係しているのかもしれないと
思うのは筆者だけだろうか。