, ,

Giao diện Vpress là giao diện khá lạc hậu so với phiên bản ngay bây giờ của WordPress, nhưng do nó là giao diện tin tức và khá giống với VnExpress nên nhiều bạn vẫn thích giao diện đó, với lại bố cục website thì hiếm khi nào mà lạc hậu được nên vẫn có người dùng mặc dù phiên bản của một bạn hutek.info đã làm từ năm 2012 tới giờ.

Giao diện demo của VnPress

Giao diện demo của VPress

Hôm nay cũng có một bạn nhờ Jam chỉnh sửa gói giao diện này, sau khi đục khoét em nó ra tôi mới ngỡ ngàng là em nó quá lạc hậu so với phiên bản WordPress bây giờ, ngoài ra còn khá nhiều điều bất cập trong việc dùng hàm của WordPress, nhưng cũng cảm ơn tác giả rất nhiều, chỉ có điều tiếc là tác giả không cập nhật thêm phiên bản mới nên nhiều lỗi.

Cái lỗi nặng nhất chính là sử dụng PHPThumb cho WordPress, tác giả tích hợp nó trong giao diện, mà chính tác giả này lại không thể biết tại sao lỗi lại phát sinh trong quá trình dùng gói giao diện này, Thumb của bài đăng thường lỗi tùm lum do PhpThumb khá kén chọn hosting, chúng ta có thể đặt ra câu hỏi là tại sao phải dùng một Class tạo Thumbnail của bên thứ ba cho nặng nề mà lại không sử dụng cái sẵn có mặc định của WOrdpress vốn đã tích hợp vào trong core từ phiên bản 2.7 ?

Okey, bây giờ nhiều người dùng không biết cách khắc phục nhược điểm Thumbnail của gói giao diện này, các bạn có thể làm theo cách tôi làm như sau:

1. Các bạn xóa hết folder phpthumb trong gói giao diện này đi !

2. Mở file functions.php trong gói giao diện, tìm tới hai hàm chính để xử lý công việc này là img($width,$height) và slider_img($width,$height) ( tác giả viết hai hàm có chức năng giống nhau nhưng tên lại khác nhau, không hiểu mục đích nhưng cứ thế đã )

Thay thế bằng hai hàm sau:

function img($width,$height) {
global $post;
$custom_field_value = get_post_meta($post->ID, 'in_image', true);
$custom_field_value_2 = get_post_meta($post->ID, 'out_image', true);
$attachments = get_children( array('post_parent' => $post->ID, 'post_status' => 'inherit', 'post_type' => 'attachment', 'post_mime_type' => 'image', 'numberposts' => 1) );
if ($custom_field_value == true) {
$img_url = parse_url($custom_field_value,PHP_URL_PATH);
print '<img src="'.home_url().$img_url.'" alt="'.$post->post_title.'" width="'.$width.'" height="'.$height.'" />';
}
elseif ($custom_field_value_2 == true) {
print '<img src="'.$custom_field_value_2.'" alt="'.$post->post_title.'" width="'.$width.'" height="'.$height.'"/>';
}
elseif ($attachments == true) {
foreach($attachments as $id => $attachment) {
$img = wp_get_attachment_image_src($id, 'full');
$image = $image[0];
$img_url = parse_url($img[0], PHP_URL_PATH);
print '<img src="'.home_url().$img_url.'" alt="'.$post->post_title.'" width="'.$width.'" height="'.$height.'" />';
}
}
}
function slider_img($width,$height) {
global $post;
$custom_field_value = get_post_meta($post->ID, 'in_image', true);
$custom_field_value_2 = get_post_meta($post->ID, 'out_image', true);
$attachments = get_children( array('post_parent' => $post->ID, 'post_status' => 'inherit', 'post_type' => 'attachment', 'post_mime_type' => 'image', 'numberposts' => 1) );
if ($custom_field_value == true) {
$img_url = parse_url($custom_field_value,PHP_URL_PATH);
print '<img src="'.home_url('/').$img_url.'" alt="'.$post->post_title.'" title="'.$post->post_title.'" width="'.$width.'" height="'.$height.'" />';
}
elseif ($custom_field_value_2 == true) {
print '<img src="'.$custom_field_value_2.'" alt="'.$post->post_title.'" title="'.$post->post_title.'" width="'.$width.'" height="'.$height.'" />';
}
elseif ($attachments == true) {
foreach($attachments as $id => $attachment) {
$img = wp_get_attachment_image_src($id, 'full');
$image = $image[0];
$img_url = parse_url($img[0], PHP_URL_PATH);
print '<img src="'.home_url().'/'.$img_url.'" alt="'.$post->post_title.'" title="'.$post->post_title.'" width="'.$width.'" height="'.$height.'" />';
}
}
else {
$img = get_template_directory_uri();
$img_url = parse_url($img,PHP_URL_PATH);
print '<img src="'.home_url().'/'.$img_url.'/images/no_image.jpg" alt="'.$post->post_title.'" title="'.$post->post_title.'" width="'.$width.'" height="'.$height.'" />';
}
}

Nếu như theo bản gốc thì hai hàm này dùng class phpThumb để hiển thị ảnh đại diện của các bài đăng, đây chỉ là cách tạm thời, lưu ý với các bạn là cách fix này là tạm thời, chứ nếu dùng thế này thì ảnh to đùng sẽ bị co lại theo kích thước yêu cầu, dẫn tới trang load chậm mà không giải quyết được vấn đề gì cả !

Chúc các bạn thành công !

Tôi là Jam, thâm niên 7 năm thiết kế website và làm seo, nếu các bạn thấy bài viết hay thì hãy chia sẻ cho những người khác cùng tham khảo, còn nếu muốn thiết kế website hoặc sửa web hay đặt một plugin có chức năng đặc biệt, hãy liên hệ ngay tới Jam ( thông tin ở chân trang )

Bài viết liên quan

Trả lời

Thư điện tử của bạn sẽ không được hiển thị công khai. Các trường bắt buộc được đánh dấu *

Lưu ý: Không đăng thông tin cá nhân của bạn như email hay số điện thoại để không bị quấy rầy, tham khảo thêm quy định khi comment !