¿Por qué algunas funciones principales obtienen wp_ mientras que otras no? ¿Cual es la regla?

15

¿Hay alguna directriz o razón detrás de por qué algunas funciones de código WP tienen el prefijo wp_? por ejemplo: wp_insert_post()vs.update_post_meta()

Tom Auger
fuente

Respuestas:

8

Esto no hace esa respuesta impresionante, pero ... ninguna .

get_este sufijo generalmente significa que la función devuelve algo, the_esa función hace eco de algo.

wp_ no tiene un significado técnico y la inconsistencia en la asignación de nombres proviene de la participación de muchos desarrolladores y la falta de movimiento para unificar (avanzar se considera más importante que las principales limpiezas de cosas más antiguas para que quede ordenado).

Rarst
fuente
1
Entiendo (algo) el razonamiento para no remediar la situación actual; sin embargo, estoy desconcertado por la falta de definición de algún punto en el tiempo a partir del cual, en adelante, se aplicaría una nomenclatura de función definida. Ilusiones, supongo.
Chip Bennett
Gracias Rarst Otto lo confirmó. Suspiro. Esperaba ... ¡Estoy con Chip!
Tom Auger
2

Wordpress fue y está escrito por muchas personas diferentes. Los parches se discuten dentro de WordPress Trac y quien envíe o asigne un ticket de Trac puede publicar parches. Si el parche se acepta y se traslada al núcleo de una próxima versión, simplemente está ahí. Entonces, a veces las funciones, vars, etc. obtienen el prefijo, mientras que otras veces no. Se basa en los desarrolladores participantes.

emperador
fuente
2

El wp_prefijo generalmente se agrega para evitar conflictos de nombres con:

  • funciones nativas de PHP, como get_current_user ()
  • funciones WP antiguas / en desuso, como get_archives ()
  • bibliotecas de terceros?
scribu
fuente
1

Siempre asumí que la distinción era que, más allá de las etiquetas de plantilla básicas, que generalmente solo tienen el nombre descriptivo más simple posible:

  1. Las funciones que comienzan wp_son generalmente funciones de API públicas de alto nivel, que están prácticamente garantizadas para estar siempre disponibles y mantener la compatibilidad hacia adelante.
  2. las funciones sin ese prefijo son elementos internos, cosas con las que no deberías jugar a menos que sepas lo que estás haciendo.

Sin embargo, no sé si esto fue alguna vez intencional. Y como han dicho las otras dos respuestas, no se sostiene de manera consistente. Su ejemplo de update_post_metaes un ejemplo perfecto de algo que parece que debería tener un wp_prefijo si mi clasificación fuera verdadera. Pero hay suficiente código heredado profundo en WordPress para rechazar cualquier intento de dar sentido a cualquier convención de nomenclatura.

goldenapples
fuente
jaja. De hecho, pensé que era exactamente lo contrario: que las funciones wp_ eran más de la variedad interna (puedes usarla pero es realmente interna) mientras que las otras eran más públicas. Aunque parezca triste, quizás Rarst et al. tienen razón y no hay justificación.
Tom Auger
2
Para el registro, las funciones realmente internas comienzan solo con un guión bajo. _*Pero no hay muchas de ellas y, en la práctica, tampoco son tan internas.
Rarst