一部のコア関数がwp_を取得し、他の関数が取得しないのはなぜですか?ルールは何ですか?


15

一部のWPコード関数に接頭辞が付いている理由の背後にあるガイドラインまたは理論的根拠はありwp_ますか?例:wp_insert_post()vs.update_post_meta()

回答:


8

これはそれほど印象的な答えではありませんが、-noneです。

get_サフィックスは通常、関数が何かを返すことを意味し、the_その関数は何かをエコーし​​ます。

wp_ 技術的な意味を持たず、命名の不一致は多くの開発者が参加しており、統一する動きがないためです(先に進むことは、古いものをきれいにするために重要なクリーンアップよりも重要であると考えられています)。


1
私は現在の状況を改善しない理由を(ある程度)理解しています。ただし、将来的には定義された機能の命名法が施行される時点を定義していないことに戸惑っています。希望的観測だと思う。
チップベネット

Rarstに感謝します。オットーはそれを確認した。はぁ。私は望んでいた...私はチップと一緒だ!
トム・オージェ

2

Wordpressは多くの異なる人々によって作成され、現在も作成されています。パッチはワードプレスtrac内で議論され、tracチケットを送信または割り当てた人は誰でもパッチを投稿できます。パッチが受け入れられ、次のバージョンのコアに移動した場合、それは単にそこにあります。そのため、関数、変数などが接頭辞を取得する場合とそうでない場合があります。参加している開発者に依存しています。


2

wp_プレフィックスは、通常で名前の競合を避けるために追加されます。

  • get_current_user()などのネイティブPHP関数
  • get_archives()などの古い/非推奨のWP関数
  • サードパーティのライブラリ?

1

私は常に区別することを常に仮定しました-基本的なテンプレートタグを超えて、一般的には可能な限り最も単純な説明的な名前を持っています:

  1. で始まる関数wp_は一般に高レベルのパブリックAPI関数であり、常に互換性が保たれ、前方互換性が維持されることがほぼ保証されています。
  2. そのプレフィックスのない関数は内部的なものであり、何をしているのかわからない限り、いじってはいけません。

しかし、これが意図的なものであったかどうかはわかりません。そして、他の2つの答えが言ったように、それは一貫して保持されません。あなたの例update_post_metaは、wp_私の分類が当てはまる場合、接頭辞を持つべきだと思われる何かの完璧な例です。しかし、WordPressには、命名規則の意味を理解しようとする試みを捨てるのに十分な深いレガシーコードがあります。


ハハ。私は実際にはまったく逆だと思った-wp_関数はより内部的(あなたはそれを使用することができるが、それは本当に内部的)なものであり、他はより一般的である。悲しいことに聞こえるかもしれませんが、Rarst et al。正しく、根拠はありません。
トム・オージェ

2
記録では、実際には内部関数はアンダースコアのみで始まります_*が、実際にはそれらの多くはなく、実際には絶対に内部専用でもありません。
11
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.