Khi ta sử dụng các plugin popup thì sẽ không hiển thị phần chú thích của hình ảnh. Vì vậy trong bài viết này mình sẽ hướng dẫn các bạn hiển thị chú thích hình ảnh khi popup ảnh.

Các bước thực hiện:

Tạo thư viện ảnh trong chi tiết bài viết

Thêm thư viện ảnh

Chọn ảnh để thêm vào thư viện ảnh Chọn ảnh để thêm vào thư viện ảnh

Click vào từng hình để nhập chú thích cho ảnh

Click vào từng hình để nhập chú thích cho ảnh

Sau đó nhấn “Tạo một bộ sưu tập mới”

Tuỳ chỉnh thư viện ảnh

Tuỳ chỉnh thư viện ảnh

Lưu ý: Bạn phải chọn liên kết tới: tập tin đa phương tiện để khi click vào ảnh có thể hiện ra popup.

Sau đó nhấn: “Chèn bộ sưu tập”

thêm thư viện ảnh vào chi tiết bài viết trong wordpress

Bổ sung thư viện popup hình ảnh và chú thích hình ảnh

– Thêm thư viện popup hình ảnh: ở đây mình sử dụng thư viện: Magnific Popup

Trong file functions.php theme của bạn bạn thêm đoạn code sau để thêm thư viện popup hình ảnh

add_action( 'wp_enqueue_scripts', 'load_styles_frontend' );
function load_styles_frontend() {
  if (is_single()) {
    wp_enqueue_script('magnific-popup', get_stylesheet_directory_uri().'/js/jquery.magnific-popup.min.js', array('jquery'));
    wp_enqueue_style( 'magnific-popup', get_stylesheet_directory_uri().'/css/magnific-popup.css' );
  }

  wp_enqueue_script( 'custom-js', get_stylesheet_directory_uri().'/js/custom.js');
}
  • if (is_single()) : mình chỉ thêm thư viện popup trong trang chi tiết bài viết
  • get_stylesheet_directory_uri(): hàm lấy đường dẫn đến theme của bạn
    • Nếu bạn nào sử dụng child theme thì dùng hàm: get_stylesheet_directory_uri()
    • và ngược lại nếu bạn sử dụng theme chính thì sử dụng hàm: get_stylesheet_uri()
  • Để kiểm tra việc nhúng thư viện chính xác hay chưa bạn nhấn (f12) để kiểm tra console => nếu không xuất hiện lỗi => bạn đã nhúng thư viện thành công

Trong file custom.js bạn thêm đoạn mã sau

jQuery(document).ready(function($){
	$('.gallery').magnificPopup({
		delegate: 'a',
		type: 'image',
		tLoading: 'Loading image #%curr%...',
		mainClass: 'mfp-img-mobile',
		gallery: {
			enabled: true,
			navigateByImgClick: true,
			preload: [0,1] // Will preload 0 - before current, and 1 after the current image
		},
		image: {
			tError: '<a href="%url%">The image #%curr%</a> could not be loaded.',
			titleSrc: function(item) {
				var caption = "#" + item.el.find('img').attr('aria-describedby');
				return  $(caption).text();
			}
		}
	});
});

 

 

Bài viết liên quan

post-no-image

Add the Meta Box Upload Multiple Images and multiple metabox

post-no-image

Add the Meta Box Repeat

post-no-image

Kỹ thuật debounce trong javascript – Trì hoãn nhập từ khóa trong ô input

post-no-image

Thêm VS Code snippets

post-no-image

Query only seach by title

post-no-image

Hướng dẫn tạo form có validate, upload file nhiều bước và xử lý ajax