LoginSignup
8
8

More than 3 years have passed since last update.

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

Last updated at Posted at 2019-08-18

きっかけ

仕事で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の闇だよなぁ。
そのように思いました。

8
8
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
8
8