WordPressのイマイチなところまとめました

2013.02.28 | ちょっと困った! | | | |
スポンサードリンク

前の記事では、WordPressのイイところをまとめてみました。ホメてばっかりでは人間伸びて行きませんので、今回は逆にイマイチだなー、もっと何とかならんのかなと思っているところをまとめてみました。といっても、実は前回のイイところのそれぞれに隠された面をご紹介するという感じです。意外とWordPressで提案する時に、できると思って進めてしまうと痛い目に会うこともありますので、知っておくと便利かもしれません。

point

オープンソースとして

複雑なライセンス

GPLライセンスはオープンソースライセンスの中でも最も普及した素晴らしいライセンスです!なのでもちろん変えてほしいというわけではありませんが、しかし、分かりにくい、複雑なライセンスであることも確かです。当サイトのWordPress を使うなら知っておきたい GPL ライセンスの知識【基本編】などをよく読んで、理解してから使うようにしましょう。タダで使えるソフトみたいに甘く考えてはいけません。ライセンスは立派な契約なのですから。ところで、ベージュさん、基本編の次はいつアップされるのかな?

ヤバイテーマ・プラグインも意外と出回ってる

これもイマイチというか、しかたないと思うんですけどね。WordPressはたいへん人気のあるソフトウェアですので、テーマやプラグインを公開している人はたくさんいます。しかし、ブログで何気なく「作りました!」と言ってアップされているテーマやプラグイン、それ、本当に信用していいんですか?個人ブログで使う分には自己責任で使ってもいいと思いますが、クライアントに納品するサイトでは、信頼できるテーマやプラグインを選びたいものです。

また、「無料テンプレートダウンロード」を謳うサイトのなかには、意図的に悪意のあるコードを埋め込んでいる場合が多いのも事実です。コアコードを改変したり、何らかのデータをどこかのサーバーに転送しているものもあります。これらの一体何をやっているのかよく分からないテーマを使うのは明確にリスクですので、避けるべきでしょう。

安心できるテーマやプラグインを見つけるには、上記の記事でも言及されていますが、第一には公式の WordPress.org からダウンロードすること。次に、WordPress.org の Commercially Supported GPL Themes ページで紹介されているサイトからダウンロードすること。それ以外では、開発者と直接連絡が取れるものを選ぶとよいのではないかと思います。

公式サイトにアップされていれば安心かというと必ずしもそうは言えません。悪意のあるものはアップされていないでしょうが、長らく更新が止まっていて最新バージョンに対応していないものもあります。プラグインがあるから大丈夫だ、とテストせず安易に提案してしまうと、いざ受注後に、あれ、最新バージョンだとエラーが出る!代わりのプラグインは…無い!ど〜しよ〜…となりますのでご注意を。

日本語ドキュメントがまだまだ不足している

WordPress Codex には、有志の手によって英語版のCodexの翻訳が掲載されていますが、英語版に比べるとどうしても情報が古い、そもそも翻訳がされていないページが多いです。日本語版にはこのページないんだ…と気づいて英語版で検索するという手間が面倒で、もう英語版のCodexしか見なくなってしまいました。それでも気が向いたらたまにCodexの情報の更新はやっています。

Codexの更新はボランティアで行われていて、あなたも参加できます!興味のある方は WordPress Codex 日本語版について ページを読んでみてください。

管理機能について

使いやすく美しい管理画面のWordPressですが、意外とできないことも多いのです。まず…

TinyMCEを使いこなすのはそれなりに難しい

はい、TinyMCEとは、WordPressが標準採用しているWYSIWYGエディタです。これって実は使いにくいと思ってます。慣れているともう気づかないんですが、初心者の方にWordPressを教えるとかなりの確率でつまづきます。「なぜか複数の改行がかってに詰められてしまう!」という悩みはおなじみですが、要するにアメ○バブログみたいに書きたいってことなんですよね。

あの書き方はあの書き方で、セマンティックじゃないとか色々あるかとは思いますが、しかし思い通りにならないというのは確かです。HTML自体、そもそもが日本語の文字組なんかガン無視で作られているのである程度仕方がない面はあるのですが。あと、表組みも入れにくいですね。divの入れ子なんかもってのほかですね。

だからカスタムフィールドを使って入力欄をカスタマイズして、クライアントに迷わせずに入力してもらうという工夫があるわけですが…

カスタムフィールドのデータは履歴管理されない

ようです(間違ってたらすみません)。過去のリビジョンを復元しても、カスタムフィールドの値は最新のままです。これ、何でなんだろう。リビジョンもpost_idが振られているんだから、それに関連付けておけばいいような気がするんですけどね…。そもそも、デフォルトのカスタムフィールドの入力インターフェイスはお世辞にもイケてるとは言えないので、なんとかして欲しいと思っています。

期間指定公開ができない

未来の日付で自動的に公開することはできますが、公開を止める方法がありません。ブログであれば自動的に記事の公開を止めるなんて存在しない操作だとは思いますが…CMSとしては欲しい機能です。

公開記事の編集の一時保存ができない

一度公開した記事や固定ページを編集すると、それを一時的に保存することができません。更新ボタンを押してしまうと即公開です。そのため、これまでは公開ページの編集をする際の確認が大変でした。次のWordPress 3.6ではドラフトリビジョン(どう翻訳されるかはまだわかりません)の導入によって解消されるとアナウンスされています。ただ、この場合もカスタムフィールドが含まれるかどうかが重要かと思います。

What’s Coming Up With WordPress 3.6 (WordPress.com VIP News)

権限機能が弱い

いろいろプラグインはあるんですが…

  • 管理画面からのユーザーロールの追加
  • ロールごとにどの投稿タイプを閲覧/編集/公開できるかのコントロール
  • 管理画面のページごとにどのロールのユーザーがアクセスできるかのコントロール

はできるようになってほしいなぁ〜

セキュリティリスクを作る可能性があることを理解しよう

上のヤバイ無料テーマ・プラグインともかぶりますが、WordPressのテーマはガチガチのテンプレートエンジンではなく、ただのPHPファイルです。このことが多大な自由を与えて、様々なカスタマイズができて超便利なんですが、繰り返しますがPHPファイルです。プログラムです。よく分からないままコピペで作っていると、自分でせっせとセキュリティホールを仕込んでしまうということもありえます。

テンプレートタグを使ってテーマを作るくらいであればあまり気にしなくていいと思いますが、それ以上のカスタマイズを行う場合は、最低限Codexのデータ検証のページを読みましょう。このページが難しいと思ったら、PHPをよく知らずにWordPressを扱う人にぜひ読んでほしい電子書籍を読んで勉強すべし。

もちろんWordPress本体は安全に作られていますよ。

開発

MVCじゃない

やっぱりさ、MVCの方が便利なんだよ。だからMVCにして欲しいと思うこともすっごくよくあるんだよね!これ以上は言いませんが。

プラグインの開発手法が自由すぎる

これもフレームワークのように統一された開発手法があれば、他の開発者が作ったコードも格段に読みやすくなると思うのですが…。WordPressのテーマ・プラグインの開発では、コーディング規約やある程度のルール、お決まりのパターンはありますが、かなり自由に開発できるので、どの開発者も俺ルールで作っています。他人が作ったルールには縛られないぜ!

なので、個人的にはこの人はキレイなコード書くな〜というプラグイン開発者を覚えておいて、何かプラグインを探す際はその人が作ってないかまずチェックする、ということもしています。

マルチサイト機能はその名の通りマルチサイト機能

これはどういうことかといいますと、WordPressのマルチサイト機能は、「WordPressを複数インストールするとサーバーにたくさんWordPressが置いてあることになって何かと管理が大変だから、コアソースはひとつで、あたかも複数インストールしたかのように使えるよ!」ということです。したがって、マルチサイトネットワーク内の各サイトはコアソースはひとつなのですが、データベースは分離していて、実質的にそれぞれ全く別のサイトになります。横断した検索は不可能です。MovableTypeから来た人は、MTのマルチブログのノリで使うと全然別物ですのでご注意を。ご心配なく、カテゴリーごとに独立したコンテンツ体系を持ちたい場合はWordPressの場合は「カスタム投稿タイプ」を使いましょう。

カスタム投稿タイプとカスタムタクソノミーの登録が難しい

使いましょうといっておいていきなりアレですが、このカスタム投稿タイプの使い方が結構難しい。追加するためのAPIはあるのですが、ちょこちょこアップデートしていていまいち分かりにくく…(日本語Codexがついていっていないので、時間ができたら更新しようかとは思っているのですが…)GUIで追加できるようにならないんでしょうかね?あくまでブログで、CMS的な機能はAPIだけ用意するということなのかもしれませんが…

関数リファレンス/register_post_type(日本語Codex)
現段階で map_meta_cap についての解説がないとか、 rewrite のパラメータの追加に追いついていないとか。あとで直す…

URLは自由にならない

当サイトのフレームワークユーザーがボヤっと抑えておきたいWordPressの特徴と使いどころでも紹介されていますが、「WordPressはURLを見て取得するデータと使用するテンプレートまで決定しちゃう」仕様のため、逆に言えばURLはWordPressの動作自体に深く組み込まれたものになっています。フォーラムによくURLをこう変えたいけどうまくいかない、という投稿が見られるのですが、やめたほうがいいよ、と思います。

functions.phpになんでも書きすぎやろ

最後はやっぱりこれ。引き継ぎなどで他人が書いたfunctions.phpを見たら、これはあのブログのコピペ、これはCodexのコピペ、これはTwentyTenからのコピペ…と、まさにコピペ地獄だった!ということが、まあそれなりの確率であります。ただでさえ、最近のデフォルトテーマもfunctions.phpに処理を書きすぎだと思うんですよね。

かと言って、テーマフォルダ内にmodelsフォルダとviewsフォルダを作るとかって、それはそれでWordPressの流儀から逸脱しすぎだろ!と言う気がして抵抗があります。

この問題はひとりで完結する場合はいいんですが、複数人でテーマを作るとかの場合は困ったことになると思います。あと、他人が作ったテーマの引き継ぎはマジしんどいです(今やってます)。

気が向いたらコメント欄にこんなこともあるぜ!というご指摘、文句、(禁則事項です)などお書きください。

以上、WP-Dブルーの愚痴でした!

Twitterでの反応

※問題があれば削除しますのでご連絡ください

みなさん、反応が色々ですね。WordPressのイイところ/イマイチなところが揃ったところで、じゃあ実際に案件で使用する時はどのようにメリットを活かしデメリットを克服しているのか?というところを、WP-Dメンバーで出し合おうという話も出ていますので、今後の更新をお楽しみに。