DESIRERY

WordPress

SexyBookmarks カスタマイズ

WordPressのプラグインSexyBookmarksでhead内にScriptタグなどを出力しない方法。

  1. // plugins/sexybookmarks/includes/public.php
  2. // line 498
  3. //add_action('wp_head', 'sexy_public');

headに挿入するフックを外します。その際JSやCSSなどは自分でやってねってことになります。ソースは汚れないし処理もしないしいいんだけどアップデートが苦になるのがダメなところ。管理画面で自分でやるか現状のように自動で挿入するか選べればいいのにね。

WordPress 2.9にアップデート

WordPress 2.9

WordPress 2.9にアップデートしました。少し様子を見てからとか思っていたけどアップデートしてくださいの表示が目障りなのでさくっと自動アップデート。一応サーバ上のファイルやDBのバックアップだけは取りました。プラグインなども含め問題は今のところありません。サーバ環境はphp5.2.xとMySQLの5.0.xを使用しています。

WordPress 2.9でいろいろ機能が追加されましたが今のところDBの自動最適化だけ使ってます。それ以外は特に自分の環境で今必要ないです。ただ画像のトリミングやサイズ変更の機能はCMSとして納品する場合使えるかなと思います。

WordPress コメントスパム対策

毎日同じIPからのスパムが鬱陶しいのでactionをはずしてみた。基本的にAkismetを使用しているのでこのプラグインを有効にしてからは1度もスパムを逃したことはないです。

それでもなぜactionを外したかというとサーバのリソース。何でスパムなんかに共有サーバのリソースを使わなきゃならんのかと。スパムはブロックするべきではあるけれど表側にでないからといってわざわざPHPを動かしてDBにINSERTとか鬱陶しい。

ということで単純にactionを外してテスト。クライアントサイドでどれくらい対応できるかちょこちょこ変更しながら様子見。

追記。様子見した結果スパムが今のところ止まってます。javascriptは一切見ていない?スパムbotは単純にHTMLの構造しか見て回らないっぽいです。

やり方は単純にformのactionを取り除く。このBlogではコメントはAjax化しているのでpostの処理はJSで。

  1. function commentsPost() {
  2. $("input[type='image']").click(
  3. function()
  4. {
  5. var form = $(this).parent().parent().get(0);
  6. var formData = $(form).serialize();
  7. var url = "wp-comments-post.php";
  8. $.ajax(
  9. {
  10. type: 'post',
  11. cache: false,
  12. url: url,
  13. data: formData,
  14. success: function(d){},
  15. error: function(d){}
  16. }
  17. )
  18. return false;
  19. }
  20. );
  21. }

送信をクリックされたらserialize()でまとめ、wp-comments-post.phpにPOSTで投げるってだけです。あとは成功や失敗したときの処理を書くだけ。

Popular Posts

  1. WordPressカスタマイズ
  2. prettyPhoto
  3. WordPress 2.9にアップデート
  4. WP-Optimizeでテーブルの最適化
  5. next_posts_link previous_posts_link