Chèn code PHP vào Text Widget trong WordPress một cách đơn giản, không cần plugin.
Nếu bạn đang cố gắng để chèn những đoạn code PHP vào widget trên sidebar hay bất cứ vị trí nào khác có hỗ trợ widget khác thì bài viết này là dành cho bạn. Thông thường, khi muốn chèn một đoạn văn bản đơn thuần hay code HTML vào sidebar, người ta thường sử dụng Text Widget. Còn với code PHP thì sao? Theo mặc định, WordPress không hỗ trợ thực thi các code PHP trong Text Widget. Do đó, thay vì thực thi code và cho ra kết quả, Text Widget lại hiển thị luôn code đó ra.
Tham khảo thêm:
- Tạo file functions.php để chèn code tùy biến WordPress
- Chèn code vào Header và Footer của WordPress một cách đơn giản
Vậy làm thế nào để khiến cho Text Widget hỗ trợ code PHP hay nói cách khách là thực thi được code PHP? Ngay sau đây, tôi sẽ hướng dẫn cho các bạn cách để làm điều đó.
Chèn code PHP vào Text Widget trong WordPress
1. Đầu tiên, các bạn cần phải backup file functions.php của theme (hoặc child theme) mà các bạn đang dùng. Nếu không tìm thấy file functions.php, các bạn có thể tạo 1 file theo hướng dẫn trong link ở đầu bài viết. Việc này sẽ giúp đảm bảo an toàn khi tiến hành thao tác trong bước tiếp theo. Nếu xảy ra lỗi, các bạn chỉ cần restore file functions.php về trạng thái ban đầu là được.
2. Chèn đoạn code sau đây vào trong file functions.php và lưu lại. Nó có tác dụng giúp Text Widget hỗ trợ code PHP.
3. Truy cập vào Appearance => Widgets, tạo 1 Text Widget và paste code PHP của bạn vào đó. Thoát ra ngoài và xem kết quả.
Đơn giản vậy thôi. Chúc các bạn thành công!
Ngoài ra, các bạn cũng có thể cài đặt các plugin như PHP Text Widget hoặc PHP Code Widget để chèn code PHP vào Text Widget. Tuy nhiên, hạn chế sử dụng plugin thì vẫn tốt hơn phải không nào?!
Nếu bạn thích bài viết này, hãy subscribe blog của tôi để thường xuyên cập nhật những bài viết hay nhất, mới nhất qua email nhé. Cảm ơn rất nhiều. :)
Hì, đúng cái đang tìm, giờ thì thích bỏ bài nào ra side bar cũng dc.
Thank anh!
Bác Hiếu ơi check mail hỗ trợ giúp em cái nội dung bên trong đã gửi nha!
Cái này có áp dụng cho chèn php vào bài viết được không hay là chỉ cho sidebar?
Chỉ áp dụng cho Text Widget bạn nhé. :P
Ai xài không được đoạn code trên thì dùng đoạn code này nhé, lấy từ plugin php text widget ra khỏi xài plugin chi cho phiền phức!
add_filter(‘widget_text’, ‘ptw_widget_text’, 99);
function ptw_widget_text($text) {
if (strpos($text, ” . $text);
$text = ob_get_clean();
}
return $text;
}
$ptw_post_id = null;
add_filter(‘the_content’, ‘ptw_the_content’, 99);
function ptw_the_content($content) {
global $post, $ptw_post_id;
if (is_single() || is_page()) {
$ptw_post_id = $post->ID;
}
return $content;
}
if (is_admin()) {
include dirname(__FILE__) . ‘/admin.php’;
}
Cái plugins hỗ trợ post bài code như wpcanban là gì vậy a .Thay css khung code ý
Đây là tính năng Shortcode Embeds của Jetpack bạn ạ. :)
Error Details: The Jetpack server was unable to communicate with your site [HTTP 403]. Ask your web host if they allow connections from WordPress.com. If you need further assistance, contact Jetpack Support: http://jetpack.com/support/
Site của bạn chặn XMLRPC kìa. Nên Jetpack không hoạt động được là đúng rồi. :P
bật lại ntn vậy bạn :( google chỉ có cái vô hiệu hóa
Trước đó bạn chặn XMLRPC bằng cái gì thì giờ gỡ cái đó đi là được mà. Nếu chặn bằng file .htaccess thì vào file .htaccess xóa đoạn code đó đi. :P
Cài WP mặc định trên Cpanel đã bị rồi :(
Bạn kiểm tra xem permission của tập tin xmlrpc.php đã được CHMOD là 644 chưa? Bạn có đang dùng plugin bảo mật nào trên site không? :P
mình xem rồi CHMOD 644 với kiểm tra file htaccess luôn :( mình sài theme trắng luôn cũng k dc
Coi trong cPanel có ModSecurity không? Nếu có thì thử Disable nó đi xem. :P
Không có ModSecurity :( có cái Error này thôi :(
[Mon Dec 12 00:39:11.906064 2016] [access_compat:error] [pid 20704] [client 197.234.243.26:35521] AH01797: client denied by server configuration: /home/fgsxdydj/public_html/xmlrpc.php
Bạn dùng host của bên nào? Thử liên hệ bộ phận kỹ thuật xem có phải bên họ chặn xmlrpc không? :P
à vâng :) để liên hệ thử
Lỗi này là sao nhỉ ad?
Parse error: syntax error, unexpected ‘}’ in /home/webdemo/public_html/wp-content/plugins/php-code-widget/execphp.php(27) : eval()’d code on line 21
Plugin này mình mới cài rồi nhập code php vào chứ không chỉnh sửa gì hết, vậy mà tại sao nó báo bị lỗi plugin nhỉ?
Mình cũng chưa hiểu tại sao lại có lỗi syntax ở đây? Nếu plugin có lỗi syntax thì lập trình viên phải phát hiện ra từ trước chứ. :D
Em chèn code ở trên vào function thì font chữ em chỉnh trong css bị trả về font mặc định hết. VD: font em chỉnh trong css là: Georgia, khi thêm code vào function thì nó trả về font mặc định là Arial. Code em thêm vào widget cũng bị lỗi.
Code thêm bài viết liên quan theo tag: http://codepen.io/anon/pen/OpQPJj
Thank ad
Theme Paradise không chèn được code php vào sidebar nữa à anh Hiếu?
Vẫn hỗ trợ mà. Bạn đã bật tính năng đó trong Appearance => Customize => Experience chưa?