Как скрыть подпись к изображению из галереи изображений Photoswipe WooCommerce?

#wordpress #woocommerce #title #caption #photoswipe

#wordpress #woocommerce #Название #подпись #photoswipe

Вопрос:

Кто-нибудь может мне помочь, пожалуйста, найти способ скрыть подпись из галереи изображений Photoswipe WooCommerce?

Ответ №1:

В вашей теме functions.php

 // Configure WooCommerce built-in Photoswipe
add_filter( 'woocommerce_single_product_photoswipe_options', function( $options ) {
  // Disable caption element
  $options['captionEl'] = false;
  // Other options
  // $options['shareEl'] = true;
  // $options['counterEl'] = false;
  // $options['arrowEl'] = false;
  // $options['preloaderEl'] = true; // For browsers that do not support CSS animations
  // $options['closeOnScroll'] = false; // Already defaults to false
  // $options['clickToCloseNonZoomable'] = false;
  // $options['closeOnVerticalDrag'] = false;
  // $options['maxSpreadZoom'] = 1;
  // $options['hideAnimationDuration'] = 500;
  // $options['showAnimationDuration'] = 500;
  // $options['barsSize'] = array("top" => 0, "bottom" => "auto");
  return $options;
} );
  

Не знаю, возможно ли это настроить getThumbBoundsFn здесь, поскольку вам пришлось бы передать функцию Javascript из PHP для обработки как таковой…

Но эти параметры записываются на страницу как глобальный объект Javascript wc_single_product_params . Таким образом, можно позже обновить этот объект (из Javascript):

 wc_single_product_params.photoswipe_options.getThumbBoundsFn = function (index) {
  // find thumbnail element
  var thumbnail = document.querySelectorAll('.woocommerce-product-gallery__image img')[index];

  // get window scroll Y
  var pageYScroll = window.pageYOffset || document.documentElement.scrollTop; 
  // optionally get horizontal scroll

  // get position of element relative to viewport
  var rect = thumbnail.getBoundingClientRect(); 

  // w = width
  return { x:rect.left, y:rect.top   pageYScroll, w:rect.width };
}