web-dev-qa-db-ja.com

Wordpressの関数の命名規則を理解する

多くのWordpress関数は命名規則に従います。おそらく最もよく知られているのは、 The Loop で使用されるthe_*()などのthe_post()関数です。

明らかにis_*()関数ファミリーは 条件式 に属します。ただし、共通のテーマとは次の関数プレフィックスで表されるものは何ですか。

  • add_*()
  • register_*()
  • wp_*()
  • wp_insert_*()

wp_insert_*()関数はすべてデータベース上でINSERTステートメントを実行するようです。つまり、それらはアプリケーションの状態を変更します。これは正しいですか?

register_*()関数はデータベースに影響を与えないようです。つまり、現在のページ呼び出しでのみ利用可能な構成要素を作成します。これは正しいですか?

wp_*()関数に共通のテーマはありますか?これは、もはや強制されていない古い疑似ネームスペースにすぎませんか?

add_*()関数は最も論理的ではないようです。 add_post_meta()など、データベースに影響を与えるものと、add_theme_support()を含まないものがあります。 add_*()関数の間で一般的なものは何ですか、そしてなぜそれらは一貫性のためにwp_insert_post_meta()register_theme_support()と呼ばれないのですか?

6
dotancohen

長所と短所は、命名規則やWordPressの一貫性については頭を打たないことです。これらは存在しない「標準」だからです。

正直に言うと、WordPress開発者向けのコーディング標準に関するハンドブックはありますが、WordPressは固定された規則や標準のセットには従っていません。はい、予測可能な特定のパターンに固執していたとしたら、それはNiceであるはずでしたが、そうではありませんでした。

WordPressは10歳以上で、今日のように大きくなるように意図されたことはありませんでした。その間、多くのコア開発者が行き交いました。今日のWordPressは誰でも改善や新機能などに関するアイデアを投稿できるコミュニティプロジェクトなので、さまざまなコーディングスタイルや「標準」を見つけることができます(コア内の命名規則)が好きです。

addregistertheのような先行する単語に基づいて、関数間の共通のパターンを見つけるために命名規則だけを使用するのであれば、ここではまったく間違った方向に進んでいます。

7
Pieter Goosen