Tại sao một số chức năng cốt lõi nhận được wp_ trong khi những chức năng khác thì không? Quy tắc là gì?


15

Có một số hướng dẫn hoặc lý do đằng sau tại sao một số chức năng mã WP được tiền tố với wp_? ví dụ: wp_insert_post()vs.update_post_meta()

Câu trả lời:


8

Điều này làm cho câu trả lời không ấn tượng, nhưng - không có .

get_là hậu tố thường có nghĩa là hàm trả về một cái gì đó, the_hàm đó lặp lại một cái gì đó.

wp_ không mang ý nghĩa kỹ thuật và sự không nhất quán trong việc đặt tên là từ nhiều nhà phát triển tham gia và thiếu sự chuyển động để thống nhất (tiến về phía trước được coi là quan trọng hơn việc dọn dẹp các công cụ cũ để làm cho gọn gàng hơn).


1
Tôi (phần nào) hiểu lý do không khắc phục tình trạng hiện tại; tuy nhiên, tôi bối rối vì thiếu việc xác định một số thời điểm mà từ đó, từ đó, một danh pháp hàm được xác định sẽ được thi hành. Ước mơ, tôi cho là vậy.
Chip Bennett

Cảm ơn Rarst. Otto đã xác nhận nó. Thở dài. Tôi đã hy vọng ... Tôi với Chip!
Tom Auger

2

Wordpress đã và được viết bởi rất nhiều người khác nhau. Các bản vá được thảo luận bên trong wordpress trac và bất cứ ai gửi hoặc gán cho một vé trac đều có thể đăng các bản vá. Nếu bản vá được chấp nhận và chuyển vào cốt lõi của phiên bản sắp tới thì nó chỉ đơn giản là ở đó. Vì vậy, đôi khi các hàm, vars, v.v ... có tiền tố trong khi các lần khác thì không. Nó dựa vào các nhà phát triển tham gia.


2

Các wp_tiền tố thường được thêm vào để tránh đặt tên xung đột với:

  • các hàm PHP gốc, chẳng hạn như get_cien_user ()
  • các hàm WP cũ / không dùng nữa, chẳng hạn như get_archives ()
  • thư viện bên thứ ba?

1

Tôi luôn cho rằng sự khác biệt là - ngoài các thẻ mẫu cơ bản, thường chỉ có tên mô tả đơn giản nhất có thể:

  1. các hàm bắt đầu bằng wp_nói chung là các hàm API công khai mức cao, được đảm bảo khá nhiều để luôn luôn tồn tại và duy trì khả năng tương thích.
  2. các chức năng không có tiền tố đó là nội bộ, những thứ bạn không nên sử dụng trừ khi bạn biết bạn đang làm gì.

Tôi không biết nếu điều này đã từng cố ý, mặc dù. Và giống như hai câu trả lời khác đã nói, nó không giữ vững. Ví dụ của bạn update_post_metalà một ví dụ hoàn hảo về một cái gì đó có vẻ như nên có wp_tiền tố nếu phân loại của tôi đúng. Nhưng có đủ mã di sản sâu trong WordPress để loại bỏ mọi nỗ lực nhằm hiểu ý nghĩa của bất kỳ quy ước đặt tên nào.


haha Tôi thực sự nghĩ rằng nó hoàn toàn ngược lại - rằng các hàm wp_ thuộc nhiều loại nội bộ (bạn có thể sử dụng nó nhưng nó thực sự nội bộ) trong khi các chức năng khác thì công khai hơn. Mặc dù nghe có vẻ buồn, nhưng có lẽ Rarst et al. là đúng và không có lý do.
Tom Auger

2
Đối với bản ghi, các chức năng thực sự bên trong bắt đầu bằng dấu gạch dưới một mình _*Nhưng không có nhiều trong số đó và trong thực tế, chúng không hoàn toàn chỉ có nội bộ.
Hết
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.