カテゴリー: WEB

WordPress用スパム投稿対策プラグイン「Throws SPAM Away」がトラックバックスパムにも対応しました。

投稿者:isc_blog

今回、WordPress用海外からのスパム投稿対策プラグイン「Throws SPAM Away」にもう一つ機能を追加しトラックバックにも対応するようにしました。

現在まで「Throws SPAM Away」で対応している拒否(無視)方法は下記のとおりです。

・日本語を含まないコメント投稿を無視する(日本語を○文字以上含まないといけないしきい値設定付き)
・特定キーワードを設定しそのキーワードが含まれている場合は日本語での投稿でも無視する(複数キーワード指定可・特定キーワード拒否機能のみの使用も可能)
・上記それぞれに対する警告文及び警告文の表示時間の設定(共通)
・上記の設定をトラックバックにも適用するか設定
・トラックバックにも適用した際についでに自サイトのURLが含まれているかのチェックをするか設定

以上です。

このプラグイン開発のきっかけになったコンセプト「管理工数を減らす」という観点から一貫して「捨てる」ということにこだわっているため
ログ出力やDBへの格納は行なっていません。

海外からのスパム投稿・スパムトラックバックでそのたびに来るメール及び投稿の削除管理工数を削減したい方におすすめです!

また、WordPressのプラグインサイトで前バージョンまで英語でインストール方法を記述しておりましたが、よく考えたら日本人以外このプラグインを利用する方はいらっしゃらないと思いますので日本語にしました。(気づくの遅いw)

http://wordpress.org/extend/plugins/throws-spam-away/

2012年1月18日

WordPressのコメントの表示を日付降順(新しいものが上)に変えてみたい

投稿者:isc_blog

WordPressで制作中のサイトでコメントを多用するところがありまして、一番上が最新のものにしたいという要件がありました。

で、調べたのですが、2通りありまして・・・

こちらの記事を参考にしたもの

コメントを昇順/降順で表示【WPCMS.jp】.

foreach でコメントを表示しているところを下記のように変更する。
[php]
<?php foreach (array_reverse($comments) as $comment) : ?>
[/php]

・・・あれ?
今回のテーマにはそんな記述はないです・・・
wp_list_comments();
っていうメソッドで表示されてます。

・・・ということで検索した記事がこちら

wp_list_comments array "reverse_top_level" => true ;

引用元: wp_list_commentsで表示される投稿順序をかえてみる | photopoto.net.

wp_list_comments(); の部分を下記のように変更します。
[php]
wp_list_comments( array( "reverse_top_level" => true ) );
[/php]

これでOKです!

2012年1月13日

階層的なdivをツリービュー風に変換してしまうjQueryプラグイン「Arborescence.js」:phpspot開発日誌

投稿者:isc_blog

おっと、こんなのを探していたところでした・・・

階層的なdivをツリービュー風に変換してしまうjQueryプラグイン「Arborescence.js」:phpspot開発日誌.

しかし、記事中のArborescence.jsのリンク先が現在
「The plugins site is currently unavailable.」
となっていて見ることが出来ません。

後日あらためて・・・

2011年12月5日

どんなフォームにも使えるjQueryのフォームバリデーション「exValidation」の複雑な組み合わせサンプル

投稿者:isc_blog

いやぁーーーー
すばらしいものを提供されている方がいらっしゃってとても助かっています。

これです。
↓↓↓
どんなフォームにも使えるjQueryのフォームバリデーション exValidation

エラー項目にはバルーン表示でエラー通知してくれるというナウい(死語)もの。

このexValidationを利用して開発中のフォームに当てはめてみたんですが・・・
あ、この条件下では・・・ここは必須で・・・で、こうするとこの項目自体見えなくなって・・・・っていう感じになってしまい
なにをどーして良いのやら・・・という風になってしまいました。

そこで、いろいろ試しに試して出来たのがこのサンプルです。

exValidationサンプル

まず、御覧頂いて・・・っと

このフォームは下記のような動作をするものです。

1.まずはユーザーに区分を入力してもらう
2.入力してもらった区分によって異なる項目のフォームを表示する
3.項目の中にはある項目が特定の値のときだけ必須になるというものも存在する

このような場合にどうしたか・・・ということをご紹介します。

まず、サンプルの構造は下記のようになっています。
———————————————————————-
[切り替え] これ自体が必須項目でもあります。

[項目群1] 切り替えが「20歳未満」の時に表示されるフォーム
[項目群2] 切り替えが「20歳以上」の時に表示されるフォーム
———————————————————————-
[html]



<select id="sel" name="sel" onchange="changeDiv(this)">
<option value="">–</option>
<option value="1">20歳未満のお客様</option>
<option value="2">20歳以上のお客様</option>
</select>

<!– 20歳未満のお客様用項目 –>
<div id="scene1">



</div>
<!– 20歳以上のお客様用項目 –>
<div id="scene2">



</div>
[/html]

で、JavaScriptはこんな感じ

[html]
// 初期にフォームの分岐を非表示にする
$(document).ready(function() {
$("div[id*=scene]").css("display", "none");
});
// Validationの初期設定
$(function(){
var validation = $("form")
.exValidation({
rules: {
sel: "chkrequired",
name: "chkrequired",
name_: "laterCall",



},
stepValidation: true,
errTipCloseBtn: false,
errHoverHide: true,
scrollToErr: true
});
// イベントリスナー
$(‘input.laterCall’).click(function() {
validation.laterCall(‘#’ + this.id.replace(‘_’,”));
});
$(‘input[name=sake]’).change(function() {
changeSakeItem();
validation.laterCall(‘#sake_kind’);
});
// 一度動作し初期化する
changeDiv(document.getElementById(‘sel’));
});
// お酒を飲むかどうかで必須項目チェンジ
function changeSakeItem() {
clearErrors();
// alert($(‘input[name=sake]:checked’).val());
if ($(‘input[name=sake]:checked’).val() != "1") {
$(‘#sake_kind’).attr(‘class’, ”);
} else {
$(‘#sake_kind’).attr(‘class’, ‘chkrequired’);
}
}
// エラー削除
function clearErrors() {
// 表示されているエラーをフェイドアウト
$("div[id*=err_]").fadeOut();
}

// ユーザ区分変更
function changeDiv(elem) {
clearErrors();
var accNo = 0;
if (elem != null && elem.value =="1") {
accNo = 1;
} else if (elem == null || elem.value.length == 0) {
// N/A
accNo = 0;
} else {
accNo = 2;
}
$("div[id*=scene]").css("display", "none");
if (accNo > 0) {
$("div#scene"+accNo).css("display", "block");
}
// まずは必須項目チェック全外し
$(‘#name’).removeClass(‘chkrequired’);
$(‘#kana’).removeClass(‘chkrequired’);
$(‘#email’).removeClass(‘chkrequired’);
$(‘#birthday’).removeClass(‘chkrequired’);

// 20歳未満か20歳以上で必須項目条件切り替える
switch (accNo) {
case 1:
$(‘#name’).addClass(‘chkrequired’);
$(‘#kana’).addClass(‘chkrequired’);
$(‘#email’).addClass(‘chkrequired’);
break;
case 2:
$(‘#birthday’).addClass(‘chkrequired’);
break;
}
clearErrors();
}
[/html]

こんな感じの実装で出来ました。

要するに「class=chkrequired」っていうのを外せば必須項目にならないし
なんでもない項目に「class=chkrequired」を乗っけてあげればその時点から必須項目になります。

サンプルで「20歳以上」にしてから「飲む」を選択すると「お飲みになる種類」が必須になる・・・という感じです。

こちらからダウンロード出来るようにしておきましたのでご自由にご利用ください。
コメントいただけるとありがたいです。

2011年11月25日

Social Plugins – Facebook開発者

投稿者:isc_blog

WordPressにFacebookをつなぐプラグインいろいろ

Social Plugins – Facebook開発者.

このブログにもComments入れてみようかな・・・
誰か書き込んでくれるだろうか・・・

とりあえずやってみたい!

(さらに…)

2011年11月19日

Chromeのキャッシュをオフにする方法

投稿者:isc_blog

Google Chromeってなにげにキャッシュがきついので
テスト等で結構困ってたんですが、キャッシュをオフにする方法があったのでご紹介します。

Chromeのキャッシュをオフにする方法 :: 5509.

こちらの記事のとおりなんですが
「右下にアイコン」あたりがはじめ「?」だったので補足的にちょっと説明します。

まず、Chromeの右上にある「レンチマーク」をクリックし
「ツール」→「デベロッパーツール」をクリックしていきます。

そして右下の「ギアアイコン」が表示されるのでそれをクリックし表示される画面・・・

にて「Network」の「Disable cache」をチェックする。

という流れです。

これで爽快かな・・・

とにかく、感謝感謝!助かりました!

2011年11月18日

これは保存版です!・・・「WordPressのオリジナルテーマ作成フロー・基本マニュアル – かちびと. net」

投稿者:isc_blog

WordPressでオリジナルテーマを作る流れがことこまかにわかりやすく面白く書かれています。

WordPressのオリジナルテーマ作成フロー・基本マニュアル

引用元: WordPressのオリジナルテーマ作成フロー・基本マニュアル – かちびと. net.

これは保存版です!

2011年11月11日

海外からのスパムコメント攻撃対策用WordPressプラグインThrows SPAM Awayご利用ありがとうございます。

投稿者:isc_blog

海外からのスパムコメント攻撃に対抗するWordPressプラグイン「Throws SPAM Away」をご利用の方がいっぱいいらっしゃるのでびっくりするやら嬉しいやら・・・

“日本語が含まれない投稿は無視されますのでご注意ください。(スパム対策)” – Google 検索.

・・・この検索結果は注意文言をデフォルトのままでご利用の方だけなので、実際にはもっとたくさんいらっしゃるということですよね。

ご利用、感謝します!

ご要望がありましたらご相談ください!

2011年11月7日