WordPress Lab

コメントを”完全に”受け付けなくするには。

2013年12月27日 金曜日

いまどき、ブログでコメントって受け付けないのがもうスタンダードですよね。
AmebaでAKB48やタレントさんでもなければ、コメント数で資金稼ぎしてブログ旅してるわけでもないですからね。
スパムや炎上の窓を開けておくことはないですよね。

でも、投稿記事のテンプレートの

<?php comments_template(); ?>  

を取りはずすだけでは閲覧ユーザーが投稿できなくなるだけで、
コメント投稿用のテンプレートphpを介してスパムは入ってきてしまう可能性があるので、機能そのものを停止しないといけません。

functions.phpに以下を追記して、機能停止しましょう。

/*  コメント停止  */
function add_comment_close ( $open ) {
    $open = false;
    return $open;
}
add_filter( 'comments_open' , 'add_comment_close' ,10 , 2 );

(参考:「現場でかならず使われているWordPressのデザインメソッド」(MdN刊)より)

追記: 投稿タイプによらず、全てコメント停止したい場合は、以下でもよいようです。(大曲さんにおしえてもらいました!)

add_filter( 'comments_open', '__return_false' ); 

「Welcart」と「不動産プラグイン」。

2013年9月26日 木曜日

案件で、日本製の2大WordPressプラグイン、
「Welcart」と「不動産プラグイン」のデザインカスタマイズを体験しました。

 

まず、Welcartですが、

「Welcartはデザインテーマを選びません」と謳っておられますが、
そこそこ独自にカスタマイズされたWordPressテーマになんでも適応するほど万能なことはもちろんないわけで、

やっぱりデフォルトの「Welcart Default Theme」を基本にカスタマイズしていくのが
表示や機能に不具合がなく、作業を進めやすいことは間違いないと思います。

商品詳細やカートページはインストールされたデフォルトの状態だと、
pluginsフォルダ内のusces_cart.cssでデザインコントロールされてしまいますから、
これをカスタマイズしていると、今後来るアップデートで上書きされちゃって、
デザインがパーになっちゃうので、

管理画面の「Welcart Shop」>「システム設定」で
usces_cart.css の無効化にチェックをしておくのが、デザインカスタマイズでは必須です。

こうしておくことで、デザインはWordPressでの通常作業と同じように、
直感的にthemesファイルの中のテーマだけ触ればいいことになります。

難点をあげるなら、商品登録の際、商品の写真は商品番号と同じ命名をした画像を
あらかじめメディアにアップしておく必要があるところですね。 このへんは有名なショッピングカートASPなどと比べるとすんなりとはいかないところです。

でも、たったそれだけで、ショッピングサイトとしてはもうまったく申し分ない感じです。

 

不動産プラグインについて。

Welcartは独自の「Welcart Default Theme」が無償提供されますが、

不動産プラグインはWordPressにデフォルトで同梱されている
Twenty-Eleven、Twenty-Twelve、Twenty-Thirteenなどからデザインカスタマイズしていくのが楽。
と、いいますか、これらのデフォルトテーマを下地にすることを前提で作られています。

だから別テーマにするにしても、これらから、機能面を維持して変えていったものを使うべきですし、
最近僕が作業した案件では、子テーマでカスタマイズしました。
ちょっとCSSファイルが分散してて面倒ですが、Firefoxの開発ツールを使えば、
ブラウジングされた画面で部分をさわれば、どのCSSファイルのどの記述が効いているかがよくわかるので便利です。
これはWelcartのカスタマイズでも、とても役に立ちました。

ただ、子テーマでのカスタマイズって、じつははじめてだったんですが、
親テーマのCSSの変えたいプロパティを完全に上書きで改訂していかないと
親テーマの設定が有効になっちゃうんですね。
Firefoxの開発ツールで効いているCSSが親テーマ側だったりして、少々とまどいます。
すぐ慣れますが・・・。

またfunctions.phpに関しては勝手が違ってて、子テーマでは初期状態ではまっさらの白紙で、
必要な関数を書き足していくようにしないと、まるコピして子テーマにアップロードしたら、
テーマ自体が全然機能しなくなっちゃいます。

ただこのままだと物件に関するページテンプレートはplugins側で制御されちゃうので、
ここにあるように、functions.phpに記述して、
関連のファイルを子テーマ側に移しとっておけば、はWordPressでの通常作業と同じように、
themesファイルの中のテーマだけ触ればいいことになります。

近畿レインズが管理する物件情報のpdfを専用の拡張プラグインを使えば、簡単に取り込めて、
物件ページが完成するのは、圧巻です。

不動産プラグインは不動産業界出身の技術者のかたが手がけられたもので、
細かいところまで行き届いているようで、業者の方々が、他の高価なASPを利用せず、
このプラグインに流れてこられているのだそうです。

 

いずれも、触るほどに手の込んだ作りこみが実感できます。
お世辞抜きに、世界のWordPressで、日本が誇れるプラグインなんじゃないですか。

ページャー(ページ送り)の仕組み。

2013年8月29日 木曜日

デフォルトのページャー(ページ送り)は「管理画面の設定に依存して」ページ分割する。

1ページ10件表示で全体で100件投稿してるときのindex.phpは10ページに分割される。

極端な例で言えば、index.phpに記事を1つも表示させないようにしても、
白紙のまんま10ページに分割して、ページャーをつけてしまう。

たとえば、トップページにしてるindex.phpをカスタマイズして、
query_postsで特定カテゴリーの記事だけタイトルリストで表示させても、
query_postsと関連づけされていないデフォルトのページャーは
特定カテゴリーの記事の数とは無関係に「管理画面の設定に依存して」ページ分割する。

当たり前っちゃ当たり前なんだけど、仕組みをよく理解してないで、
見た目に引きずられると、記事数が合わないとか大騒ぎするような失敗しちゃうんだよね。

(つまり、失敗した。笑)

WordPressのFeedに投稿記事の情報が表示されないとき

2013年7月17日 水曜日

http://○○○○/feed と、その配下のカテゴリーで
http://○○○○/category/feedに投稿しているはずの記事が読み込まれていないという、お客様からのお問い合わせがありました。

Firefoxでそれぞれのfeedページを見ると、feedページのレイアウト・デザインになっているので、
feed自体は発信されていることはわかりました。

 

Google Chromeでfeedページを見ると、こんなWarningが。

 

This page contains the following errors:
error on line XX at column XX: Input is not proper UTF-8, indicate encoding ! Bytes: 0x08 0x3C 0x2F 0x64
Below is a rendering of the page up to the first error.

 

「UTF-8じゃない文字コードで書かれている部分があるよ」という警告です。

 

原因は記事が投稿されたときに、あらかじめ何かのテキストエディタに下書きして、
これをコピーで投稿したことだったようです。
そのエディタがUTF-8じゃない文字コードに設定されていたのだと思われます。

 

このトラブル現象は、WordPressに限ったことではなく、他のCMSやAPIシステムでも起こることで、
僕もWordPressでないCMSのトラブルの例をネットで見つけて、今回の解決に至りました。

ログインしようにも画面が真っ白だったり、ログアウトできなかったら・・・

2013年7月12日 金曜日

ログインしようにも画面が真っ白だったり、ログアウトできなくなるWordPressは
たいていにおいて、function.phpに何らかの書き込みをしたものに起こりやすい現象のようです。

書き込みをしていきなり起こるのならともかく、プラグインや本体のアップデートしたときに起きたりしてるような気もするなあ。

自分が書き込んだソースの前後周辺の空白や改行を削除してみましょう。
多くの場合はそれで回復します。

(追記) デバックモードで確認をしたうえで、作業に入ったほうがいいそうです。

ページトップへ