Làm cách nào để thêm mẫu PHP trong WordPress?

WordPress sẽ không thực thi PHP bên trong bài đăng WordPress. Để thực hiện việc này, chúng tôi sẽ cần sử dụng plugin cho phép bạn chèn đoạn mã PHP hoặc xác định thủ công đoạn mã bằng cách sử dụng mã ngắn

Làm cách nào để thêm mẫu PHP trong WordPress?

Có hai cách để thêm PHP vào bài đăng WordPress từ trình chỉnh sửa. Đầu tiên, sử dụng plugin để làm điều đó cho bạn, là tùy chọn dễ nhất và có thể an toàn hơn. Có nhiều tùy chọn plugin ngoài kia, nhưng chúng tôi đang minh họa bằng “Đoạn mã PHP”. Plugin này hoạt động bằng cách cho phép bạn xác định một đoạn mã, sau đó chèn đoạn mã đó sau thông qua một mã ngắn trong bài đăng thực tế của bạn

Làm điều đó với một plugin

Để bắt đầu, hãy cài đặt plugin Insert PHP Code Snippet, sau đó bấm kích hoạt

Làm cách nào để thêm mẫu PHP trong WordPress?

Sau đó, điều hướng đến phần Đoạn mã PHP trong menu của plugin

Làm cách nào để thêm mẫu PHP trong WordPress?

Nhấp vào “Thêm đoạn mã PHP mới”

Làm cách nào để thêm mẫu PHP trong WordPress?

Tại đây, bạn có thể tạo đoạn mã của mình. Tên theo dõi là tên sẽ hiển thị trong trình chỉnh sửa và tên bạn có thể sử dụng để gọi tên theo cách thủ công. Nó không hỗ trợ khoảng trắng, nhưng nếu bạn chèn khoảng trắng, nó sẽ tự động thay thế khoảng trắng đó

Làm cách nào để thêm mẫu PHP trong WordPress?

Chỉ cần thêm mã bạn muốn trong đoạn mã này vào hộp văn bản, sau đó nhấp vào tạo

Nó sẽ được kích hoạt theo mặc định, nhưng hãy đảm bảo bằng cách di chuột qua biểu tượng ở phía bên trái của cột "hành động"

Làm cách nào để thêm mẫu PHP trong WordPress?

Tự động thêm đoạn trích vào bài đăng của bạn

Nếu bạn đang sử dụng trình chỉnh sửa Gutenberg (Block), trước tiên bạn sẽ muốn thêm một khối cổ điển

Làm cách nào để thêm mẫu PHP trong WordPress?

Trong khối này, bạn sẽ thấy một nút mới cho PHP, hãy chọn đoạn trích của bạn

Làm cách nào để thêm mẫu PHP trong WordPress?

Bạn sẽ nhận được một cái gì đó trông như thế này

Làm cách nào để thêm mẫu PHP trong WordPress?

Nếu bạn là một trong số hàng triệu người sử dụng plugin trình chỉnh sửa cổ điển hoặc đang sử dụng phiên bản cũ hơn của WordPress, thì nó sẽ ở trên thanh công cụ theo mặc định

Làm cách nào để thêm mẫu PHP trong WordPress?

Khi bạn đã thêm đoạn mã của mình, hãy cập nhật và kiểm tra bài đăng. Bạn sẽ thấy kết quả của PHP của bạn

Làm cách nào để thêm mẫu PHP trong WordPress?

Thêm đoạn mã PHP vào bài đăng của bạn theo cách thủ công

Tất nhiên, bạn có thể chỉ cần nhập nó bằng cách sử dụng định dạng bên dưới

[xyz-ips snippet=”Chèn tên theo dõi vào đây”]

Thêm PHP vào bài đăng của bạn bằng một mã ngắn

Nếu bạn từ chối cài đặt một plugin khác, bạn có thể làm những gì các plugin này làm theo cách thủ công với kết quả tương tự. Tất nhiên, đây không phải là cách được đề xuất, nhưng bạn có thể làm được

Để làm điều này, bạn sẽ tận dụng các mã ngắn trong các chức năng của chủ đề của mình. tập tin php. Thông báo trước khi làm điều này là nó sẽ chỉ hoạt động với chủ đề này được áp dụng. Nếu làm theo cách này, bạn có thể muốn sử dụng một chủ đề con, đảm bảo rằng các chức năng mới của bạn không bị ghi đè khi chủ đề của bạn được cập nhật

Tìm chức năng của bạn. php trong thư mục chủ đề của bạn và thêm mã ngắn của bạn vào đó. Tham khảo liên kết ở trên tới WordPress Codex nếu bạn không chắc chắn cách tạo nó. Đây là một ví dụ đơn giản


function test_func( $atts ){
    return 'This is PHP from your functions file' ;
  }
  add_shortcode( 'test', 'test_func' );

Lưu nó, sau đó gọi nó trong bài viết của bạn với

[kiểm tra]

Bây giờ bạn sẽ thấy điều này

Làm cách nào để thêm mẫu PHP trong WordPress?

Nếu bạn cần bất kỳ trợ giúp nào để phát triển trang web WordPress của mình, thì không cần tìm đâu xa ngoài việc phát triển WordPress chuyên nghiệp tại CodeClouds. Chúng tôi thực hiện các chủ đề WordPress tùy chỉnh, phát triển plugin WooC Commerce và tích hợp CRM. Liên hệ với chúng tôi hôm nay

Khi nói đến PHP, rất nhiều nhà phát triển yêu thích ngôn ngữ này, rất nhiều nhà phát triển ghét ngôn ngữ này và rất nhiều nhà phát triển thường chỉ sử dụng nó để hoàn thành công việc của họ.

Đối với những gì nó có giá trị, tôi của trại thứ hai. Tôi nghĩ PHP là tốt. Giống như bất cứ thứ gì, nó không phải là không có vấn đề, nhưng tôi thích làm việc với nó đủ tốt và coi nó như một cách để hoàn thành công việc so với một ngôn ngữ trên bầu trời đối với một số kiểu phát triển không tưởng.

Một số điều mà các nhà phát triển yêu thích ở PHP—các tính năng và tính linh hoạt của nó—chính là những điều thường khiến chúng tôi vấp ngã. Danh sách này dài, nhưng trong thế giới WordPress, một trong những điểm gây nhầm lẫn phổ biến nhất là cách thích hợp để bao gồm các tệp bên ngoài

PHP cung cấp bốn cách để làm điều này và WordPress thậm chí còn cung cấp biến thể của riêng nó

Trong bài viết này, chúng tôi sẽ khảo sát bốn cách mà PHP cung cấp để bao gồm các tệp, xem hướng dẫn về thời điểm sử dụng từng cách và xem xét các tính năng của WordPress để bao gồm các tệp

Bao gồm các tệp với PHP

Nói chung, bao gồm các tệp bằng PHP đề cập đến hành động bao gồm một tập lệnh khác vào ngữ cảnh của tập lệnh mà bạn hiện đang làm việc

Bạn có thể coi điều này giống như việc nhập một tệp sao cho khi tệp được trả về từ máy chủ, các tập lệnh được kết hợp theo thứ tự mà chúng được đưa vào và sau đó được diễn giải thành một tệp duy nhất

Trước tiên, chúng ta sẽ xem xét các cách bao gồm tệp trong PHP và ý nghĩa của từng cách. Ở cuối bài viết, chúng tôi sẽ xem xét khi nào chúng ta nên làm điều này

Sử dụng --website 25

Theo hướng dẫn sử dụng PHP

bao gồm () sẽ bao gồm và đánh giá tệp đã chỉ định. Nếu tệp không được tìm thấy, một cảnh báo PHP sẽ được đưa ra

Nói một cách đơn giản, điều này có nghĩa là PHP sẽ xem tệp mà bạn đang cố đưa vào. Nếu nó được tìm thấy, thì nó sẽ được thêm vào tập lệnh của bạn ở đúng vị trí mà bạn đã khai báo

Điều này là quan trọng để hiểu. Ví dụ: giả sử bạn đang viết một tập hợp các hàm phụ thuộc vào một tập hợp các hàm trước đó. Trong trường hợp đó, trước tiên bạn cần đảm bảo rằng tệp khác được đưa vào

Mặt khác, nếu bạn đang tìm cách đưa vào một tập hợp các chức năng hoặc tệp bên ngoài ở giữa một chức năng hiện có, thì bạn có thể đưa nó vào chính xác vị trí mà bạn cần

Thứ hai, lưu ý rằng nếu tệp bị thiếu, PHP sẽ đưa ra cảnh báo. Tùy thuộc vào cấu hình máy chủ, bạn có thể thấy phần này được hiển thị trên trình duyệt hoặc bạn có thể thấy phần này được ghi vào tệp nhật ký (hoặc cả hai)

Tuy nhiên, các cảnh báo chỉ có vậy—chúng không được coi là nghiêm trọng và thường không dừng quá trình thực thi, nhưng chúng rất quan trọng cần lưu ý vì chúng thường ngụ ý rằng một phần công việc của bạn không được tải và/hoặc diễn giải đúng cách

Cuối cùng, lưu ý rằng khi một tệp được tải bằng

--website
25, tệp đó sẽ có quyền truy cập vào tất cả các biến được xác định trước đó trong tập lệnh hiện có của bạn

Ví dụ: giả sử bạn đang làm việc với một chức năng và khi thực hiện được nửa chừng chức năng, bạn sẽ đưa vào một tệp riêng. Tệp riêng biệt đó sẽ có quyền truy cập vào các biến được xác định trước đó trong hàm chứa nó

Mặc dù bạn có thể xem điều này là thuận tiện, nhưng nó làm cho tập lệnh bên ngoài hơi không rõ ràng vì nó không nhất thiết cho thấy rằng nó phụ thuộc vào các biến được xác định bên ngoài. Điều này có thể gây nhầm lẫn, đặc biệt là khi làm việc với một nhóm

Sử dụng --website 27

Lấy trực tiếp từ hướng dẫn sử dụng PHP

include_once() sẽ thực hiện hành vi tương tự như include() nhưng sẽ không bao gồm lại tệp nếu nó đã được bao gồm

Rõ ràng là không cần phải dành nhiều thời gian để nói về những điểm chung của

--website
27, nhưng có một số điểm khác biệt chính giữa cách thức hoạt động của
--website
27 và cách thức hoạt động của
--website
25

Đầu tiên, mặc dù 

--website
27 hoạt động giống như 
--website
25, nhưng nó sẽ không cho phép bạn thêm lại tập lệnh. Điều này có nghĩa là nếu một tệp bên ngoài đã được đưa vào một nơi khác trong dự án của bạn, thì đó là vị trí cuối cùng mà tệp đó đã được đưa vào

Vì vậy, lợi thế của điều này là gì? . Nhớ lại rằng khi sử dụng

--website
25, các tập lệnh có quyền truy cập vào các hàm và biến được xác định ở trên chúng

Nếu bạn chọn xác định một tập hợp các biến hoặc hàm mới trong một tệp và đưa nó vào một tập lệnh khác, đồng thời không sử dụng

--website
27, thì bạn sẽ gặp rủi ro khi xác định lại các hàm và biến, có khả năng gây ra sự cố nghiêm trọng với việc thực thi của bạn

Yêu cầu tập tin với PHP

Yêu cầu các tệp tương tự như bao gồm các tệp ở chỗ đó là một cách khác để bạn có thể đưa một tập lệnh vào tập lệnh mà bạn hiện đang viết, nhưng nó mang một tập hợp các hàm ý riêng về lỗi và bảo mật

Mặc dù bạn có thể coi hành động yêu cầu một tệp giống như cách bạn có thể bao gồm một tệp, nhưng nó mang hàm ý rằng nó mạnh hơn—nghĩa là, tệp bên ngoài được yêu cầu để thực thi

Như chúng ta sẽ thấy, đây chính xác là trường hợp này

Sử dụng --website 35

Một lần nữa, trực tiếp từ hướng dẫn sử dụng PHP

Yêu cầu () thực hiện giống như bao gồm () nhưng sẽ đưa ra lỗi nghiêm trọng PHP nếu không tìm thấy tệp

Vì vậy, đây là vấn đề với 

--website
35. nó sẽ thực hiện hành động tương tự như
--website
25 khi nhập tập lệnh bên ngoài vào ngữ cảnh của tập lệnh mà bạn đang làm việc, nhưng nếu không tìm thấy tệp, nó sẽ báo lỗi và tạm dừng hoàn toàn việc thực thi

Điều này có nghĩa là ứng dụng của bạn dừng lại. Với 

--website
25, bạn sẽ nhận được cảnh báo và nó sẽ cố gắng tiếp tục

Ở một mức độ nào đó, có vẻ như yêu cầu tệp là cách đúng đắn. Rốt cuộc, tại sao bạn lại muốn mạo hiểm đưa vào một thứ gì đó chỉ để có một cảnh báo về lỗi tiềm ẩn trong ứng dụng?

Nhưng tất cả đều bắt nguồn từ bản chất của những gì bạn đang làm. Đôi khi, các cảnh báo PHP đơn giản không sao—chẳng hạn như quên khởi tạo chỉ mục của một mảng—đôi khi, bạn cần báo lỗi

Không có quy tắc cứng và nhanh nào về thời điểm sử dụng

--website
39 so với.
--website
40, nhưng hãy suy nghĩ chín chắn về bản chất của những gì bạn đang làm và những tác động mà nó mang lại nếu nó thất bại

Sử dụng --website 41

Cuối cùng, từ hướng dẫn sử dụng PHP

--website
41 hoạt động giống như 
--website
35 nhưng sẽ không bao gồm tệp lần thứ hai nếu nó đã được bao gồm

Đây có thể là cách dễ hiểu nhất vì chúng ta đã trình bày tương đối chi tiết về ba chức năng cuối cùng. Nói một cách đơn giản, 

--website
41 thực hiện các chức năng giống như yêu cầu, mặc dù nó sẽ không tìm cách thêm lại tệp nếu tệp đó đã được tải trong tập lệnh của bạn

Quy tắc của ngón tay cái

Ngoài việc suy nghĩ nghiêm túc xem chức năng nào là tốt nhất cho bản chất dự án của bạn, đây là hai quy tắc kinh nghiệm bổ sung cần cân nhắc khi làm việc với 

--website
25 và 
--website
35

  • --website
    
    41 tốt hơn cho các trang web lớn hơn vì nó thực hiện một số công việc bổ sung ở cấp thấp hơn có tác động đến bảo mật và hiệu suất
  • --website
    
    27 nhanh hơn và thường được coi là chấp nhận được đối với các trang web nhỏ hơn

Đủ dễ dàng, nhưng còn các chức năng của trình trợ giúp WordPress thì sao?

Bao gồm các tệp trên các thư mục

Mọi thứ có thể trở nên khó hiểu khi bạn đang làm việc trên một dự án có nhiều tệp trải rộng trên nhiều thư mục. Hãy nhớ rằng đường dẫn của tệp bạn muốn đưa vào được giải quyết đối với tệp gốc trực tiếp

Ví dụ, xem xét cấu trúc thư mục sau

--website
5
--website
--website
7
--website
8
--website
9
--website
0
--website
1
--website
2
--website
3
--website
4
--website
0
--website
1
--website
2
--website
3
--website
4
--website
5
--website
6
--website
7
--website
8
--website
9
--website
70
--website
71
--website
72
--website
73
--website
74
--website
75
--website
76
--website
77

Đây là mã bên trong tiêu đề. tệp php

--website
5
--website
79
--website
7
--website
9
--website
82
--website
1
--website
3
--website
85

Đây là mã bên trong các hàm. tệp php

--website
5
--website
79
--website
7
--website
9
--website
90
--website
1
--website
92
--website
3
--website
94
--website
0
--website
2
--website
85

Và đây là mã bên trong chia sẻ. tệp php

--website
5
--website
79
--website
7
--website
9
--website
02
--website
1
--website
3
--website
05
--website
0
--website
2
--website
85

Khi bạn bắt đầu, người ta thường nghĩ rằng mã để chia sẻ. php sẽ báo lỗi vì các hàm. php không nằm trong cùng thư mục với share. php. Tuy nhiên, câu lệnh 

--website
49 nằm trong tiêu đề. php, do đó, trình thông dịch sẽ tìm trong thư mục có tiêu đề. php có trong các hàm. tệp php

Điều này là do PHP sẽ phân tích cú pháp các hàm. php trong ngữ cảnh của tiêu đề. php. Vì cả hai đều nằm trong cùng một thư mục, chức năng sẽ được đưa vào tệp của chúng tôi như mong đợi

Phạm vi chức năng và biến với các tệp được bao gồm

Khi bạn bao gồm một tệp bên trong tệp mẹ, phạm vi của các biến được xác định trong tệp được bao gồm sẽ giống như phạm vi biến tại dòng cụ thể đó. Tuy nhiên, bất kỳ chức năng và lớp nào mà bạn đã xác định trong tệp được bao gồm sẽ có phạm vi toàn cầu. Hãy hiểu nó thông qua một ví dụ

Tệp đầu tiên của chúng tôi có tên là inc. php có mã sau

--website
5
--website
79
--website
7
--website
9
--website
90
--website
1
--website
92
--website
3
--website
0
--website
18
--website
2
--website
4
--website
21
--website
6
--website
23
--website
8
--website
25
--website
70
--website
94
--website
72
--website
74
--website
30
--website
76
--website
32
--website
85

Tệp thứ hai của chúng tôi có tên là main. php có mã sau

--website
5
--website
79
--website
7
--website
9
--website
38
--website
1
--website
3
--website
41
--website
0
--website
05
--website
2
--website
4
--website
46
--website
6
--website
48
--website
8
--website
70
--website
01
--website
72
--website
03
--website
74
--website
76
--website
06
--website
32
--website
08
--website
09
--website
85

Chúng tôi đã xác định một biến có tên 

--website
50 bên trong hàm của mình 
--website
51. Vì vậy, nó sẽ không thể truy cập được trong tệp chính của chúng tôi vì phạm vi của nó bị giới hạn ở hàm
--website
51. Mặt khác, hàm 
--website
53 được xác định bên trong 
--website
51 có thể truy cập được đối với chúng tôi vì nó có phạm vi toàn cầu

Bạn nên cân nhắc đọc hướng dẫn này về cách hiểu phạm vi biến trong PHP để tìm hiểu về phạm vi biến trong PHP

Bao gồm các tệp với WordPress

Với tất cả những gì đã nói, có nhiều cách tốt hơn là sử dụng 

--website
25 và 
--website
35 để đưa các mẫu vào dự án WordPress của bạn

Ví dụ: giả sử bạn có một số tệp vòng lặp, bao gồm một tệp cho định dạng bài đăng

  • tiêu chuẩn vòng lặp. php
  • vòng lặp hình ảnh. php
  • trích dẫn vòng lặp. php

Và bạn cần đưa chúng vào một. php bất cứ khi nào bạn đang làm việc trên một trang bài đăng của chủ đề

Tại một thời điểm, có thể chấp nhận làm điều gì đó như thế này

--website
5
--website
12

Nhưng đó không còn là cách thực hành tốt nhất

Sử dụng --website 57

WordPress hiện cung cấp chức năng, 

--website
57, là một phần của API gốc và được sử dụng riêng để tái sử dụng các phần—hoặc mẫu—của mã (ngoại trừ đầu trang, chân trang và thanh bên) thông qua chủ đề của bạn

Hàm chấp nhận hai đối số

  • Đối số đầu tiên là sên cho mẫu. Trong ví dụ trên, đó sẽ là 
    --website
    
    59
  • Đối số thứ hai là tên của mẫu. Trong ví dụ trên, đó sẽ là 
    --website
    
    60, 
    --website
    
    61 hoặc 
    --website
    
    62

Theo ví dụ của chúng tôi ở trên, giả sử rằng chúng tôi đang ở trong Vòng lặp và chúng tôi muốn đưa vào mẫu định dạng bài đăng trích dẫn. Trong trường hợp đó, chúng tôi sẽ làm như sau

--website
5
--website
14
--website
7
--website
9
--website
17
--website
1
--website
3
--website
94

Hoặc, giả sử rằng bạn đã đặt tên cho các mẫu của mình để phù hợp với các loại định dạng bài đăng, bạn có thể làm điều gì đó gọn gàng hơn

--website
5
--website
22

Sạch sẽ, phải không?

Bạn thực sự có thể tiến thêm một bước nữa. Giả sử bạn đã trừu tượng hóa mã phân trang của mình thành tệp mẫu riêng có tên là phân trang. php. Sử dụng 

--website
57, bạn có thể đưa nội dung này vào toàn bộ trang web của mình, chẳng hạn như ở phần chân trang. php hoặc trong chỉ mục. php, đơn. php, kho lưu trữ. php, v.v. , đơn giản bằng cách thêm

--website
5
--website
24

Dễ dàng hơn nhiều, phải không?

Khi nào tôi nên sử dụng cái gì?

Vì vậy, sau tất cả những điều này, chúng ta vẫn chưa thực sự thảo luận về nguyên tắc khi nào nên sử dụng cái gì. Tôi không phải là người có thẩm quyền về vấn đề này, nhưng đây là các quy tắc chung mà tôi tuân theo

  1. Khi phát triển chủ đề, tôi luôn sử dụng 
    --website
    
    57
  2. Khi phát triển plugin, tôi hầu như luôn sử dụng
    --website
    
    27 và tôi thường sử dụng nó một lần trong một chức năng. Bạn có thể thấy điều này trong bản soạn sẵn của tôi
  3. Nếu plugin tôi đang viết sẽ được sử dụng trên một trang web rất lớn, thì tôi sẽ sử dụng 
    --website
    
    41

Đó là tất cả

Đọc thêm

Để biết giải thích chi tiết hơn về những nội dung được đề cập trong bài viết này, hãy nhớ đọc các trang hướng dẫn sử dụng cho từng chức năng

  • --website
    
    25
  • --website
    
    27
  • --website
    
    35
  • --website
    
    41
  • --website
    
    57

Bài đăng này đã được cập nhật với sự đóng góp từ Monty Shokeen. Monty là một nhà phát triển full-stack, người cũng thích viết hướng dẫn và tìm hiểu về các thư viện JavaScript mới

Làm cách nào để đưa tệp PHP vào mẫu WordPress?

Cách đưa tệp PHP vào chủ đề con WordPress. Trong ví dụ bao gồm PHP này, chúng tôi sẽ sử dụng một đường dẫn tương đối, sử dụng chức năng xây dựng trong WordPress. get_stylesheet_directory(). ? php bao gồm get_stylesheet_directory() .

Làm cách nào để thêm đoạn mã PHP trong WordPress?

Cài đặt và kích hoạt plugin Chèn đoạn mã PHP. .
Thiết lập đoạn mã của bạn. .
Nhấp vào nút để “Thêm đoạn mã PHP mới. ”
Nhập Tên theo dõi cho đoạn trích. .
Nhập mã PHP
Khi bạn đã hoàn tất, hãy nhấp vào nút “Tạo” ở phía dưới
Bây giờ, bạn sẽ thấy một mã ngắn được tạo cho đoạn mã

Làm cách nào để tạo biểu mẫu PHP trong WordPress?

Đây là những gì bạn nên làm. Tạo một trang gọi nó là my-custom-page. php và lưu nó trong thư mục chủ đề của bạn. .
Đăng nhập vào WordPress và đi đến phần Plugins. Tại đây bấm vào nút Thêm mới
Bây giờ hãy nhập Chèn PHP vào trường tìm kiếm
Sau đó bấm vào nút Cài đặt

Làm cách nào để chèn mã PHP vào trang WordPress mà không cần plugin?

Nếu bạn muốn thêm mã PHP vào trang hoặc trình chỉnh sửa bài đăng thì cách tốt nhất là tạo mã ngắn tùy chỉnh trong chức năng. tệp php đại loại như. function list_pages_function( $atts ) { return wp_list_pages('sort_column=menu_order');