Làm cách nào để thêm vào the_content bằng add_filter với loại bài đăng tùy chỉnh?


9

Tôi có một loại bài đăng tùy chỉnh chạy tốt, nhưng một số văn bản trong trang là giống nhau cho mỗi bài đăng, vì vậy tôi muốn thêm nó vào bằng cách sử dụng một chức năng.

Tôi có thiết lập này:

function new_default_content($content) {
global $post;
    if ($post->post_type == 'custom-post-type') {
    $content = 'Test text here';
    }
    return $content;
    }
add_filter('the_content', 'new_default_content');

Tuy nhiên, khi tôi làm mới trang, tôi chỉ thấy "Kiểm tra văn bản tại đây" chứ không phải nội dung của bài đăng (từ the_content).

Nếu tôi nhận xét chức năng này, nội dung bài đăng sẽ xuất hiện lại. Tôi đang làm gì sai?

Câu trả lời:


8

Bạn hoàn toàn ghi đè lên nội dung thay vì nối thêm nó. Bạn cần phải làm một cái gì đó như $content .= 'Test text here';thay vào đó.


Nhiều sức mạnh trong giai đoạn đó, cảm ơn! Một câu hỏi khác: Tôi đang sử dụng một plugin để hiển thị các nút xã hội cho Like, +1, v.v. và chúng đang xuất hiện phía trên nội dung mặc định mới - có cách nào để các nút xuất hiện bên dưới không? Tôi giả sử bộ lọc này sẽ "chunk" the_content & new_default_content là một phần hoàn chỉnh.
George C

1
Chà, bạn đang nối thêm nội dung mới, nên nó sẽ xuất hiện sau đó. Bạn có thể thử nối bộ lọc ở mức ưu tiên cao hơn để xử lý trước khi plugin thực hiện, vì plugin cũng đang sử dụng cùng một bộ lọc.
helenhousandi

Ah, tôi sẽ xem xét điều ưu tiên - cảm ơn lần nữa!
George C

FYI tôi đã chơi xung quanh với sự ưu tiên và điều đó đã tạo nên mánh khóe! Cảm ơn một lần nữa :)
George C

-1

Theo cách đơn giản `

               if ($post->post_type == 'custom-post-type') {
                   $new_content= 'Test text here';
                                }
                       return $content.$new_content;

Chỉ mã không được coi là một câu trả lời chất lượng tốt. Bạn nên giải thích những gì mã làm và cách nó trả lời câu hỏi; theo cách này những độc giả là người mới trong lĩnh vực mã hóa sẽ hiểu câu trả lời của bạn. Bạn có thể giải thích mã của bạn?
cybmeta
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.