Help us understand the problem. What is going on with this article?

プログラマーがWordPressが使いにくい理由を整理してみた。

More than 1 year has passed since last update.

きっかけ

仕事でWordPressを扱っているが、WordPressは正直使いにくい。
趣味でRuby on Rails やLaravelに触れたことのある私だが、WordPressはどうも好きになれない。
構築は楽だし慣れれば早いんだけど、WP全体の仕様に理解ができない。
どうやら、プログラマー側から出てきた人間であればあるほどそう思うらしく、
PHPのフレームワークでWordPressしかやったことがない人間からすれば、別に違和感を感じないらしい。
その理由として極一部であるが、どうしてそう思うのか、整理してみた。

使いにくい理由

値取得とテキスト表示が別関数

例えば、サイトのタイトルを表示させたいときは

<?php the_title(); ?>

なんだけど、タイトルを関数に入れて表示させたいときは

<?php 
  $title =  get_the_title();
  echo $title 
?>

と、別の関数が用意されている。
全ての表記が統一されておらず、サイトのURLを示すhome_url()はechoをつけないと表示されない。カテゴリーは配列であるが、それが関数で分からないのがすごくややこしい。

テーマ内で色々指定するファイルがfunction.phpだけ

function.phpでは
・ 投稿設定(登校時にpタグを削除する等)
・ フロント表示設定(自動で表示されるmetaタグ削除等)
・ 管理画面表示設定(メニュー非表示・ログイン時アイコン設定等)
・ 独自関数設定
・ オリジナル投稿(カスタム投稿)設定
・ 投稿画面で使える関数を設定(ショートコード)
・ ウィジェット作成
・ プラグインの詳細設定
などなど、
設定しようと思えば、なんでも出来てしまう。
しかし、これらを設定する場所がfunction.phpしかない。
カスタマイズをすればするほど、ファイルが長くなり、5000行を軽く超えるファイルになる。
そうなると、修正したいときに探すだけで一苦労だし、ダブっているソースに気付きにくいのも同然である。

管理画面上でしか設定出来ないこともあるし、どっちでも設定できることがある煩わしさ

全部function.phpで設定出来るならば移植も楽なんだけど、そうではない。
固定ページは一度管理画面で作成しなくちゃならないし、
投稿数を適切に設定しないと投稿表示がうまく表示されない。
管理画面の設定なのか、function.phpの設定なのか、はたまたプラグインの衝突なのかわかりにくい。
バグによってはこれという解決方法が無いものもあるらしく、ため息が出てしまう。

独特の専門用語が多すぎる

変に言葉を変えなくてもいいようなところを、専門用語を使ってややこしくしている節があるように思える。

デフォルトの記事の区分分けは「カテゴリー」「タグ」で、
オリジナルで設定する場合は「タクソノミー」。
オリジナルの投稿設定を「カスタム投稿」と言って、
カスタム投稿内での区分分けは「カスタムタクソノミー」。
カテゴリーやタクソノミー毎の「スラッグ(カテゴリー毎のID)名」を「ターム」。
通常の投稿枠にプラスしてオリジナルの入力枠を増やすのは「カスタムフィールド

書いているだけでも混乱するし、言葉で言われたらもっと理解できない。
命名の仕方の統一性すらない。
「ターム」は「スラッグ名」じゃダメなの?
なぜ、「タクソノミー」と「オリジナルカテゴリー」に命名を分ける仕様にしている???

総括

ワードプレスは作り方が独特なように思う。
ノンエンジニアの為のフレームワークであり、Webデザイナーのための、コーダーの為のシステムって感じる。
PHPを学ぶよりも、一番最初にWordPressを学んだ人が、他でここの知識を転用出来たらいいんだけど、それが今のところ全くないんですよね。
WordPressの沼にハマった人は、そこから抜け出すのは大変だよなぁ。Wordpressの闇だよなぁ。
そのように思いました。

ayaoriko
9割コーダーのWEBデザイナーです。Vue.jsの習得をめざしています。
http://blog.ayaoriko.com/
Why not register and get more from Qiita?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
Comments
No comments
Sign up for free and join this conversation.
If you already have a Qiita account
Why do not you register as a user and use Qiita more conveniently?
You need to log in to use this function. Qiita can be used more conveniently after logging in.
You seem to be reading articles frequently this month. Qiita can be used more conveniently after logging in.
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
ユーザーは見つかりませんでした