クラウドソーシングでWordPressエンジニアに必要なこと

リモートワーク
WordPressを初学するのはオススメしない記事を書いたばかりで(在宅で未経験からWeb習得からエンジニアへの学習ツール・ルートの選び方)恐縮ですが、実際に覚えておくと実践で使えるスキルはあります。
 
クラウドソーシングで案件として出てくるときに覚えておけば受注に繋がりやすいので順を追って解説していきます。

先に結論からいうとWordPressから学習して仕事はとれるようになる。
ただ、企業サイトになるとPHPやSQLの技術習得が必須。 

新規サイト構築

Webサイトのリリースが最も多い案件になります。ここで必要なスキルはWordPressテーマのカスタマイズ、プラグインの活用方法になります。ここでいったんSEO対策などは分けておきます。

WordPressテーマの選定

実際に0→1でphpゴリゴリ使って制作する案件はそうそうありません。それならむしろLaravelつかって新規構築した方がよっぽど早くて納品後の保守管理もクライアント思いな仕事ができます。

そこで無料か有料テーマを選んで、クライアントの要望に合わせてカスタマイズしていくのがクラウドソーシング業務のメイン部分になります。ここで気をつけた方がいい点があります。

新規サイト構築で有料テーマはオススメしない

有料テーマは完成された状態でリリースされているので、カスタマイズが難しいんですね。それでいてテーマによってはデータベースに直接書き込むようなものもあり、SQLの知識がないととても苦しいことになります。

そこで無料テーマをカスタマイズしたいのですが、条件としてHTMLが理解できていることとフレームワークのBootstrapが扱えることです。無料テーマの中でもBootstrap適用しているものは多いのですが、BootstrapだとHTMLのclassに専用コードを打ち込むだけでデザイン装飾してくれますのでCSSを書く手間が一気に減るためです。

おすすめしたい無料テーマ
LIQUID PRESS
Lightning
Xeory Extension

こちらのテーマはコードの描かれ方がまだわかりやすい方です。判断基準にしていることがあるのですが

テーマのフォルダ階層が複雑でない

これに尽きると思います。複雑なものを使うとメンテナンスも大変なんですよね…

プラグインの活用

続いてプラグインの紹介です。入れすぎるとサイトの読み込みが重くなりますから、きちんと選んでいく必要があります。ところが実はそんなにたくさんインストールすることはありません。それだけWordPressテーマに内包されている機能が増えてきたんですよね。

今回は気をつけた方がいいプラグインと案件であったら便利なプラグインの紹介に留めておきます。(今後増やすかも)

気をつけた方がいいプラグイン
・TinyMCE Advanced → WordPressテーマで重複することあり

あったら便利なプラグイン
・Search Regex → 任意のキーワードを一括変換。サイトのSSL化で重宝
・Elememtor Page Builder → ドロップドラックでプロ仕様なページ作れる
(動作が重りやすいのでコーディング予算がない時の提案用として)

こちらに+SEO関連が入るのですが、クラウドソーシング案件でそこまで求める案件はそこまで多くない点、WordPressテーマに内包されている点から今回は省力します。

PHPでカスタマイズする案件

ここからは新規構築の次に多いカスタマイズ案件で覚えておいた方がいい機能の紹介です。基本的なことから実践的なものもあるのですが、だいたい

WordPressタグ

WordPress独特のPHPコードになります。公式Codexにまとまっているのですが、はじめてみるとこんがらがるので必要なことだけ紹介します。

一般タグ
・get_header();などのパーツを呼び出すタグ。ヘッダーなど共通する部分をまとめる
投稿タグ
・the_content();が本文を呼び出すタグ。後述のループなどで投稿情報を呼び出す
カテゴリータグ
・カテゴリーの情報を呼び出すタグ。サイドバーにリスト作るときなど
アイキャッチ画像タグ
・サムネイルなどの画像を呼び出すタグ。投稿情報とセットの場合が多い
ナビゲーションメニュータグ
・次ページへなどのページの切り替えようにつかう

このような形でHTMLでかかれたコードを分割したり、組み合わせることで共通する内容を自動化させて出力する役割があります。

ループ処理

投稿一覧など繰り返しの処理をするためのコードになります。
<?php 
if ( have_posts() ) {
	while ( have_posts() ) {
		the_post(); 
		//
		// 投稿がここに表示される
		//
	} // end while
} // end if
?>
訳:
もし投稿があったら
投稿がある限り
投稿を表示する
終わったら
処理を閉じます
 
というのがループの構造です。WordPressテーマでいうとarchive.phpに記載されていることが多いコードです。ブログ投稿の一覧表示として使うことがメインですが、例えば店舗の支店登録などでも活用できます。

カスタム投稿タイプ

ACFプラグイン(Advanced Custom Field)に代表される入力フォームを追加する機能で先のループ処理の応用になります。
 
ループ機能だけをつかうと管理画面で言うところの投稿だけを使う形になりますので、ブログと店舗情報を出力したいときに同じ機能を使うことになります。
 
カテゴリー毎の出力は先ほどのカテゴリータグを使うことで振り分けることができますが、ブログ投稿と支店情報では入力したい内容が異なります。プログラミングがわからない方が担当のことがほとんどなので、支店情報などは入力フォームを別途で作ることが親切設計になります。
//基本の型
add_action( 'init', 'create_posttype' );
function create_posttype() {
  register_post_type( 'acme_product',
    array(
      'labels' => array(
        'name' => __( 'Products' ),
        'singular_name' => __( 'Product' )
      ),
      'public' => true,
      'has_archive' => true,
      'rewrite' => array('slug' => 'products'),
    )
  );
}

実はカスタム投稿タイプは公式機能になるのですが、直接導入するにはfunctions.phpに書かないといけません。慣れるまではACFプラグインをつかっていきます。

 
補足としてACFの管理画面で適用したカスタム投稿タイプのコードを書き出す機能がありますのでfunctions.phpに追加するだけでokです。
 
個人で使うだけだと良いのですが、案件として納品するときには書き出したコードをfunctions.phpに書いておいた方がよいです。プラグインのままですとテスト環境から本番環境に写すときに再登録しなければならず、functions.phpに書いてあるとその手間が省けるためです。

EC機能

最後の機能紹介がEC(ショッピングカート)機能になります。商品やサービスを販売したいクライアントが多くなっており、これまではクラウドサービスを利用したいけど利用料が高い、クレジット決済を導入するまでに数ヶ月も待てない。などのニーズからサイトに埋め込むことが増えてきました。

こちらもプラグイン機能を使うとわりと楽に実装できます。個人的なオススメはWooCommerceプラグインです。(日本語サイト

対応しているWordPressテーマも多く、StripeやSquereなどのオンライン決済が簡単に実装できるのが特徴です。

なんといっても使いやすいのが1番のメリットかなと思います。プラグインを有効化すると導入ツアーが開いてくれるので、言われた通りに登録していくとあっとゆう間に登録できます。

公式オプションで予約販売プラグインなど多種多様な追加ができるので案件に応じてつけたしていくのも一つの選択肢かもしれませんね。有料ツールを使うときはきちんと別途清算を心がけることがポイントでもあります

まとめ:WordPressはコードマスターじゃなくても仕事はできるけど…

自分の経験からいうと仕事を受注できるようになって1年で頭打ちになりました。PHPの基本をわかっていないとどこに問題があるのがわからないからです。

そこで自己学習したり、サポートしてもらったりと近くに聞ける人を探すことになり結局は2度手間でした。本業としてしっかり作れるようになりたいならPHPやSQLをしっかり学習しながらサイトを作ってみた方が早く習得できるかもしれません。

もし技術習得や案件獲得でお困りのことがあったら問い合わせフォームをご確認のうえチャットでお問い合わせください。内容に応じて無料から有料まで対応できると思います。