Bài viết phân trang WordPress trên mỗi trang

Xem xét tình huống sau. bạn có một blog WordPress với hàng trăm bài đăng. Trên trang lưu trữ blog của bạn, sáu bài đăng xuất hiện cùng một lúc. Tất nhiên, có phân trang để di chuyển giữa các bài đăng cũ hơn và mới hơn. Nhưng nếu bạn muốn cung cấp cho người dùng tùy chọn để chọn số lượng bài đăng họ muốn hiển thị trên mỗi trang thì sao?

Trong hướng dẫn mới này, chúng ta sẽ tìm hiểu cách đạt được chức năng này. Đối với phần trình diễn này, tôi sẽ làm việc trên một bản cài đặt cục bộ với chủ đề con là Twenty Twenty-One (v1. 6 tại thời điểm viết bài này) . Tuy nhiên, bạn có thể dễ dàng kết hợp mã mà tôi sẽ cung cấp ở đây vào chủ đề tùy chỉnh của mình.

Đây là một video nhanh minh họa chức năng dự kiến

Cách để người dùng tự động thay đổi số lượng bài đăng trên mỗi trang trong WordPress

Bài viết phân trang WordPress trên mỗi trang

Hãy chú ý đến cách URL nhận được một tham số bổ sung khi tùy chọn đã chọn thay đổi

Điều này nghe giống như một bài tập tốt?

Hướng dẫn này giả định rằng bạn đã quen thuộc, ở một mức độ nào đó, với việc phát triển các chủ đề WordPress

1. Định cấu hình số lượng bài đăng được hiển thị trên mỗi trang

Theo mặc định, tất cả các trang lưu trữ WordPress hiển thị mười bài đăng trên mỗi trang. Đây là thứ bạn có thể muốn định cấu hình dựa trên bố cục của mình. Ví dụ: nếu thiết kế của bạn dựa trên bố cục ba cột, có thể bạn sẽ muốn hiển thị chín bài đăng trên mỗi trang

Để thực hiện việc này, hãy điều hướng đến menu phụ Đọc của menu Cài đặt và thay đổi giá trị của tùy chọn Các trang blog hiển thị nhiều nhất. Trong trường hợp của tôi, tôi sẽ thay đổi điều này thành sáu

Bài viết phân trang WordPress trên mỗi trang
Bài viết phân trang WordPress trên mỗi trang
Bài viết phân trang WordPress trên mỗi trang

2. Tạo một số bài viết

Để kiểm tra điều này, chúng tôi sẽ cần một số nội dung. Trong trường hợp của tôi, tôi đã tạo 35 bài đăng

Bài viết phân trang WordPress trên mỗi trang
Bài viết phân trang WordPress trên mỗi trang
Bài viết phân trang WordPress trên mỗi trang

3. Thêm PHP và JavaScript cần thiết vào Chủ đề của bạn

Như tôi đã đề cập trước đó, trong ví dụ này, tôi sẽ thiết lập một môi trường cục bộ và làm việc với một chủ đề con của chủ đề Twenty Twenty-One. Tôi sẽ đặt tên cho sân chơi trang web địa phương của mình. Tôi cho rằng bạn đã quen với cách xây dựng chủ đề con, vì vậy tôi sẽ bỏ qua các bước đó và chỉ thảo luận về các phần chịu trách nhiệm xây dựng chức năng mục tiêu.  

Bạn có thể tìm thấy tất cả các tệp của chủ đề con trong kho lưu trữ GitHub này trong trường hợp bạn muốn cài đặt nó và sử dụng nó làm chủ đề đang hoạt động của bạn

Đây là cấu trúc chủ đề của nó

Bài viết phân trang WordPress trên mỗi trang
Bài viết phân trang WordPress trên mỗi trang
Bài viết phân trang WordPress trên mỗi trang

Tạo danh sách thả xuống

Trước tiên, hãy bắt đầu từ giao diện người dùng và xây dựng trình đơn thả xuống cho phép người dùng quyết định số lượng bài đăng sẽ xuất hiện trên mỗi trang

Bài viết phân trang WordPress trên mỗi trang
Bài viết phân trang WordPress trên mỗi trang
Bài viết phân trang WordPress trên mỗi trang

Dưới đây là các bước mà chúng tôi sẽ làm theo

  • Lấy các bài đăng mặc định trên mỗi giá trị trang (6) và tạo một số bội số của giá trị này (12, 18, 24). Tất nhiên, tại đây, bạn có thể chuyển các giá trị độc lập với tùy chọn mặc định
    ?>
    
    0
  • Lưu trữ tất cả các giá trị được tạo này trong mảng
    ?>
    
    1
  • Tạo một phần tử
    ?>
    
    2 với các tùy chọn sẽ đến từ các giá trị mảng
  • Giá trị của mỗi tùy chọn sẽ là URL hiện tại ( giá trị của
    ?>
    
    3) với tham số bổ sung
    ?>
    
    4 được thêm vào. Để đạt được điều này, chúng ta sẽ sử dụng hàm
    ?>
    
    5.
  • Thêm thuộc tính
    ?>
    
    6 vào tùy chọn phù hợp dựa trên giá trị của tham số
    ?>
    
    4

Đây là mã PHP cần thiết

_______ 8_______9

?>
0
?>
1
?>
2
?>
3
?>
4
?>
?>
6
?>
7

0

1

2

3

4

5

6

7

8

9
?>
00
?>
01
?>
02
?>
03
?>
04___105
?>
06__
?>
07
?>
08

Và đánh dấu được tạo

Bài viết phân trang WordPress trên mỗi trang
Bài viết phân trang WordPress trên mỗi trang
Bài viết phân trang WordPress trên mỗi trang

Tùy thuộc vào cấu trúc chủ đề của bạn, mã này có thể tồn tại ở những nơi khác nhau. Trong trường hợp của tôi, tôi sẽ đặt nó vào tệp

?>
8. Tiếp theo, tôi sẽ đưa tệp này vào những nơi tôi cần chức năng này. Khi tôi cần nó trong trang chủ, blog và trang lưu trữ, tôi sẽ ghi đè lên các tệp chủ đề gốc
?>
9 và
?>
60 như sau.  

Bài viết phân trang WordPress trên mỗi trang
Bài viết phân trang WordPress trên mỗi trang
Bài viết phân trang WordPress trên mỗi trang
chỉ mục. php
Bài viết phân trang WordPress trên mỗi trang
Bài viết phân trang WordPress trên mỗi trang
Bài viết phân trang WordPress trên mỗi trang
lưu trữ. php

Điều đáng chú ý là thay vì có một số giá trị được xác định trước để người dùng có thể chọn các bài đăng trên mỗi trang, một triển khai thay thế sẽ cho phép họ tự do nhập số mong muốn của mình thông qua phần tử

?>
61.  

Trong mọi trường hợp, một nguyên tắc nhỏ là làm sạch dữ liệu đầu vào (và nói chung là dữ liệu được xuất ra) đặc biệt là khi chúng ta không có toàn quyền kiểm soát dữ liệu đó, để ngăn chặn các cuộc tấn công phổ biến như XSS (Cross-site scripting). Rất may, WordPress đi kèm với nhiều chức năng tích hợp sẵn khác nhau cho mục tiêu này, tuy nhiên chúng ta luôn có thể sử dụng các chức năng PHP tích hợp khác. Ví dụ, để cung cấp cho bạn ý tưởng, trong đoạn mã trên, tôi đã sử dụng hàm

?>
62 để thoát khỏi URL đầu ra.  

Thay đổi truy vấn chính

Để thay đổi giá trị

?>
0 mặc định và hiển thị các bài đăng chính xác dựa trên lựa chọn của người dùng, chúng tôi sẽ tận dụng móc nối
?>
64.  

Đây là những gì chúng ta sẽ làm

  • Sử dụng hai điều kiện để đảm bảo rằng sửa đổi này sẽ chỉ xảy ra đối với truy vấn chính và trên các trang giao diện người dùng. Từ đây, chúng ta có thể tiến thêm một bước nếu muốn và chỉ giới hạn chức năng này ở một số loại bài đăng nhất định, trang blog, v.v. Dưới đây là các thẻ điều kiện mà WordPress cung cấp và có thể giúp bạn cụ thể hơn
  • Kiểm tra xem tham số
    ?>
    
    4 đã được xác định trong URL chưa. Hãy nhớ rằng nếu điều này được xác định, điều này có nghĩa là người dùng đã thực hiện lựa chọn. Trong trường hợp như vậy, chúng tôi sẽ sử dụng giá trị tham số đó để đặt các bài đăng mong muốn trên mỗi trang. Trong mọi trường hợp khác, giá trị tùy chọn
    ?>
    
    0 sẽ xác định số lượng bài đăng sẽ xuất hiện trong mỗi trang

Đây là mã PHP cần thiết mà chúng ta nên thêm vào tệp

?>
67

1
_______110
?>
0
?>
12
?>
2
?>
14
?>
4
?>
16
?>
6
?>
18
?>
7
?>
20

1
?>
22

3
?>
24

5
?>
26

7
?>
28

9
?>
30

Tải lại trang

Cuối cùng nhưng không kém phần quan trọng, chúng tôi sẽ buộc tải lại trang mỗi khi người dùng thay đổi tùy chọn đã chọn

Đây là mã JavaScript mà chúng ta nên thêm vào chủ đề của mình

1
_______132
?>
0
?>
2
?>
35
?>
4
?>
37
?>
6
?>
39
?>
7
?>
41

1
?>
43

3
?>
45

5
?>
47

7
?>
28

Trong trường hợp của tôi, tôi sẽ thêm phần này vào tệp

?>
68 nằm trong thư mục
?>
69

Phần kết luận

Thế thôi nhé mọi người. Hôm nay chúng ta đã học cách cung cấp cho người dùng tùy chọn để chọn các bài đăng họ muốn hiển thị trên mỗi trang. Đây có thể là một bổ sung tuyệt vời cho các trang web WordPress của bạn, đặc biệt nếu các trang lưu trữ của bạn chứa nhiều bài đăng và người dùng phải nhấp rất nhiều lần cho đến khi họ nhìn thấy tất cả

Tôi hy vọng bạn thích bài tập WordPress nhỏ này nhiều như tôi và nó đã giúp bạn học được một hoặc hai điều về phát triển chủ đề WordPress.  

Làm cách nào để thay đổi số lượng bài đăng hiển thị trên trang Blog WordPress của bạn?

Cách thay đổi số lượng bài đăng được hiển thị trên trang blog WordPress của bạn .
Đăng nhập vào Bảng điều khiển WordPress của bạn
Bây giờ, hãy vào Cài đặt > Đọc > Các trang blog hiển thị nhiều nhất
Bạn có thể đặt số lượng bài đăng được hiển thị trong các trang Blog được hiển thị nhiều nhất
Nhấp vào nút Lưu thay đổi

Phân trang hoạt động như thế nào trong WordPress?

Phân trang cho phép người dùng của bạn lật trang qua lại nhiều trang nội dung . WordPress có thể sử dụng phân trang khi. Xem danh sách các bài đăng khi có nhiều bài đăng hơn mức có thể vừa trên một trang hoặc. Chia tay các bài đăng dài hơn theo cách thủ công bằng cách sử dụng thẻ sau.

Phân trang bài viết là gì?

Phân trang bài đăng cho phép điều hướng giữa các trang của kết quả Hiển thị bài đăng, bao gồm các liên kết trang kết quả tiếp theo và trước đó, v.v. . Hành động này chỉ có thể được sử dụng cùng với hành động Hiển thị bài đăng. Hiển thị Bài đăng với vòng lặp Chính được phân trang theo mặc định.