Liên kết "thêm" WordPress tùy chỉnh

Nếu bạn đang hiển thị đoạn trích các bài đăng của mình trên trang chỉ mục blog, theo mặc định, WordPress sẽ hiển thị 55 từ được cắt ngắn khá tùy ý trong mục nhập của bạn, theo sau là dấu chấm lửng đặt giữa dấu ngoặc vuông [...] để biểu thị rằng có thêm “sau bước nhảy”.Tạm quên rằng điều thực sự quan trọng là đoạn trích thực tế, tức là làm thế nào để tăng hoặc giảm độ dài của bài báo bị cắt ngắn — để làm cho nó phù hợp hơn và lôi cuốn người đọc theo dõi và hoàn thành mục nhập đầy đủ — chúng tôi sẽ chỉ tập trung vào sự xuất hiện và hành vi của liên kết "thêm".

Trái ngược với việc giải quyết […] sau đoạn trích của chúng tôi, sẽ rất tuyệt nếu có một liên kết hướng dẫn khách truy cập của chúng tôi nhấp qua và đọc xong bài đăng.

Rất có thể bạn sẽ muốn xác định “liên kết thêm” này trông như thế nào. Theo mặc định, WordPress có một liên kết khác khá thú vị mà bạn thậm chí không cần phải suy nghĩ lại. Nó xuất hiện nếu bạn đã đặt chủ đề của mình để cắt bớt nội dung chỉ mục ở một độ dài nhất định hoặc tùy ý khi bạn sử dụng giao diện người dùng trình chỉnh sửa trực quan để chia nhỏ nội dung ( <!–more–> ).

Với một hàm đơn giản, chúng ta có thể xác định diện mạo này nhưng để tranh luận, hãy giả sử rằng thiết kế của chúng ta gọi một thứ gì đó ngẫu nhiên như hai thẻ ngắt sau dấu ba chấm và trước liên kết đến bài đăng đầy đủ? Làm thế nào để chúng ta đạt được điều này?

Xác định chức năng

Để làm điều này, chúng tôi tạo một hàm trông giống như sau:functions.php
function butter_excerpt_more($more) {
  global $post;
  return '…<br /><br /><a href="'. get_permalink($post->ID) . '" class="custom-more-link">read more →</a>';
}
add_filter('excerpt_more', butter_excerpt_more);
Hàm này xuất ra các dấu chấm lửng '. . . ' (nhờ thực thể html) ngay sau đoạn trích và sau đó bao gồm liên kết đọc thêm sau hai thẻ ngắt. Bạn có thể đổi tên và định kiểu custom-more-link lớp CSS cho liên kết như mong muốn.

Sử dụng chức năng

Bây giờ, trong giao diện người dùng, ví dụ như trong phần mẫu được bao gồm trong index.php, nơi chúng ta có chức năng, nội dung được trích dẫn của chúng ta sẽ được theo sau bởi các thẻ ngắt và liên kết mới được xác định của chúng ta. Đó là tất cả những gì cần thiết.content.php<?php the_excerpt(); ?>

Độ dài đoạn trích tùy chỉnh

Một cách để quản lý độ dài của đoạn trích nhập của bạn là sử dụng <!--more--> thẻ do giao diện người dùng quản trị viên WordPress cung cấp . Nếu nội dung cũng như ngữ cảnh được nhập vào quá trình triển khai của bạn, đây có lẽ là cách tốt nhất để thực hiện; các đoạn trích của bạn có thể dài hoặc ngắn, tùy thuộc vào ngữ cảnh, vào việc bạn cần chúng như thế nào. Điều này thực sự có vẻ là cách tiếp cận trực quan hơn cho các chủ đề WordPress được xây dựng cho khách hàng. Bằng cách này, tùy thuộc vào mức độ chi tiết của họ, họ có thể chọn cắt bớt nội dung của mình theo kiểu gốc do WordPress cung cấp hoặc hoàn toàn bỏ qua nó.

Trong cách tiếp cận này, index.php của bạn sẽ xuất ra toàn bộ mục nhập của bạn và chỉ cắt bớt khi và nơi bạn sử dụng thẻ.<?php the_content(); ?><!–more–>

Tuy nhiên, nếu bạn muốn đặt độ dài cố định, cho dù dài hơn hay ngắn hơn mặc định của WordPress là 55 từ, thì bạn sẽ cần phải xác định và sử dụng một hàm.

Mặc dù khó xảy ra, nhưng nếu bạn có ít hơn 55 từ để cung cấp trước khi hướng dẫn khách truy cập “đọc thêm” - cụ thể là 30 từ - thì excerpt_length bộ lọc chính là người bạn thân yêu nhất của bạn.

Để lọc nội dung của bạn để cắt ngắn đoạn trích của bạn còn 30 từ, hàm của bạn sẽ giống như sau:

function butter_custom_excerpt( $length ) {
  return 30;
}
add_filter( 'excerpt_length', 'butter_custom_excerpt', 999 );

Bây giờ, mỗi khi bạn sử dụng trong một mẫu, WordPress sẽ cắt bớt nội dung của bạn không quá 30 từ.the_excerpt()