LoginSignup
17
17

More than 5 years have passed since last update.

WordPressのコーディング規約

Posted at

下記の抜粋をまとめただけ
https://wpdocs.osdn.jp/WordPress_%E3%82%B3%E3%83%BC%E3%83%87%E3%82%A3%E3%83%B3%E3%82%B0%E5%9F%BA%E6%BA%96

前提

WordPress のコード体系での PHP 記述は、いくつかのレガシーな部分において、形式に一貫性がない。

シングルクォートとダブルクォート

文字列で何も評価しない場合は、シングルクォートを使う。
(訳注: セキュリティ向上のためには、HTML 出力において、シングルクォートを使うのは好ましくありません。多少コードが読みにくくなっても、ダブルクォートを使うべき)

インデント

インデントは本物のタブを使う。スペースはダメ。

関連するブロックのいずれかが2行以上の場合ブレース(波かっこ)で囲む

if ( condition ) {
    action1();
} elseif ( condition2 ) {
    action2a();
    action2b();
}

ループは、読みやすくするため、常にブレースで囲む

foreach ( $items as $item ) {
    process_item( $item );
}

PHP ショートタグは禁止

絶対に PHP のショートタグは使わないでください (<? ... ?> や <?=$var?>)。常に、完全な PHP タグ (<?php ... ?>) を使う。

PHP の閉じタグの後ろにホワイトスペースを除去することをお忘れなく。

スペースの使い方

コンマの後ろや、論理演算子、代入演算子の両側には、常にスペースを入れてください。

例えば、"x == 23", "foo && bar", "array( 1, 2, 3 )" のようにです。
同様に、if, elseif, foreach, for and switch ブロックの開きかっこ、閉じかっこの両側にも入れてください
(例: foreach ( $foo as $bar ) { ...)

関数を定義するときは、次のようにしてください。
function myfunction( $param1 = 'foo', $param2 = 'bar' ) {}

SQL文の書式

SQL の構文は常に大文字で書いてください。例えば、UPDATE や WHERE。

データベースを更新する関数は、パラメータが渡されれたとき、SQL のスラッシュエスケープが欠けていると考えてください。できるだけクエリが実行される直近でエスケープを行なってください。
このとき、$wpdb->prepare() を使うことが好ましいです。

もし変数を1回しか使わないのなら、その変数を作ってはいけません。データベースクエリも同様です。
データベースと交信するときは、必ず wpdb関数を用いてください。
https://wpdocs.osdn.jp/%E9%96%A2%E6%95%B0%E3%83%AA%E3%83%95%E3%82%A1%E3%83%AC%E3%83%B3%E3%82%B9/wpdb_Class

$wpdb->query( $wpdb->prepare( "UPDATE $wpdb->posts SET post_title = %s WHERE ID = %d", $var, $id ) );

変数、関数

変数名、関数名はアルファベット小文字を使い、単語の区切りはアンダースコア (_) を使う。

単語の先頭を大文字にして繋げる形式 (キャメルケース; camelCase のような形式) は不可。
function some_name( $some_variable ) { [...] }

ファイル名

ファイル名は動作を説明できるアルファベット小文字の名前にしてください。単語の区切りにはハイフン (-) を使います。
my-plugin-name.php

まとめ

WordPressの規約に目を通したので、要所だけ書き留めとく。

17
17
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
17
17