Wordpress plugin shortcode không hoạt động


9

Tôi có một shortcode được định nghĩa trong một plugin như sau:

// [tag1] -> Some Longer Text
function shortcode_example1() {
    return 'Some Longer Text';
}
add_shortcode('tag1', 'shortcode_example1');

Bây giờ trong một trang wordpress tôi đang cố gắng truy cập plugin như sau:

[tag1]

Tuy nhiên, shortcode không chạy và đầu ra chỉ là "[tag1]". Bạn có thể giúp?

Cảm ơn bạn đã giúp đỡ.


Mã của bạn hoạt động với tôi trên WP 3.9.2, trong plugin hoặc hàm.php. Các mã ngắn khác có hoạt động tốt không?
Gabriel

1
Tôi cũng xác nhận rằng shortcode này hoạt động tốt. Có cái gì đã loại bỏ do_shortcodebộ lọc từ the_contenthook? Hãy thử chuyển sang một chủ đề mặc định (chủ đề của bạn có sử dụng the_content()không?) Và vô hiệu hóa tất cả các plugin. Sau đó kích hoạt chúng từng cái 1 để tìm xung đột tiềm năng.
xe đạp

Câu trả lời:


31

Có một vài điều cần kiểm tra ở đây

  • Một: Là plugin của bạn được kích hoạt.

  • Hai: Là shortcode của bạn trong tập tin plugin chính của bạn. Nếu mã đó nằm trong một tệp khác bên trong plugin của bạn, bạn có đảm bảo đưa tệp bổ sung đó vào tệp plugin chính của mình không

  • Ba: Bạn không có bất kỳ loại lỗi nào trong tệp plugin của bạn mà tắt plugin sau khi kích hoạt. Bạn đã thiết lập gỡ lỗi thành đúng. Một trong những thành viên của trang web có một plugin gỡ lỗi tuyệt vời có sẵn để tải xuống trên wordpress.org có tên là Đối tượng gỡ lỗi

  • Bốn: Hãy thử di chuyển mã ngắn của bạn đến các hàm của chủ đề của bạn để đảm bảo rằng mã ngắn của bạn đang thực sự hoạt động. Nếu nó không hoạt động bên trong chủ đề của bạn, vấn đề thực sự có thể nằm ở chính chủ đề của bạn

  • Năm: Theo đề xuất của @helgatheviking, bạn không lọc the_content()theo bất kỳ cách nào có thể gây ra hành vi này

  • Sáu: Nếu tất cả các cách trên không thành công, hãy hủy kích hoạt tất cả các plugin, chuyển sang chủ đề được gói và kiểm tra lại. Nếu sự cố vẫn còn, hãy nâng cấp / cài đặt lại Wordpress, vì đây có thể là tệp lõi bị hỏng


Tôi đã làm danh sách kiểm tra: 1 = kiểm tra!, 2 = có!, 3 = không, 4 = ok, 5 = không, 6-> đã làm việc! Sau khi chuyển wp cục bộ của tôi (để thử nghiệm) từ 'Sydney Theme' sang 'Twenty Fourteen', SC sẽ được hiển thị. Có vẻ như có các chủ đề ngăn SC hiển thị trong bài viết.
Martin Pfeffer

Cảm ơn Pieter cho danh sách này. Hóa ra tôi đã không bao gồm tập tin của mình một cách chính xác ... woops. Hoạt động tốt ngay bây giờ :)
Cờ vua

Tôi đã làm tất cả những điều sau đây và nó vẫn không hoạt động. Tôi đã cài đặt WordPress (5.0.2) mới với mã được thêm vào tệp tin.php. Nhưng khi tôi đặt [shortcodename] trong một trang thì nó được coi là văn bản. Chuyện gì thế? Tôi sử dụng chủ đề mặc định: Twenty Sixteen.
nửa

Đây là một danh sách kiểm tra siêu hữu ích. Điều duy nhất tôi thêm sẽ là Bảy: đảm bảo rằng trình soạn thảo trang của bạn không xử lý mã ngắn của bạn như của tôi là: [plc_get_matter_detail_per_contact contact = 6c131- <wbr /> 668f13139e vấn đề = 6c620185-6211-131 ] WordBreak 'hữu ích' đó đã làm tôi khó chịu trong một thời gian. Cảm ơn biên tập viên trang ...
Brian Stinar

-1

thêm điều này

    add_filter('the_content', 'do_shortcode');

1
Tại sao? Cái này làm gì Họ sẽ thêm cái này ở đâu? Vui lòng chỉnh sửa câu trả lời của bạn bằng cách sử dụng liên kết chỉnh sửa ở trên và thêm thông tin về cách điều này giúp giải quyết vấn đề.
Howdy_McGee

-4

Cảm ơn câu trả lời của bạn. Sau khi điều tra thêm, tôi thấy rằng tệp plugin nơi mã ngắn của tôi được xác định đang hiển thị là "không hoạt động". Khi tôi chuyển các định nghĩa shortcode của mình thành một tệp đang hoạt động, thì mọi thứ bắt đầu hoạt động. Tôi hy vọng điều này hữu ích cho bất kỳ ai gặp phải vấn đề này trong tương lai.

Cảm ơn một lần nữa!


Hãy chấp nhận câu trả lời đúng thay vì của riêng bạn.
Cờ vua Byte
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.