自定义WooCommerce短代码以显示产品图片库

时间:2017-10-04 19:20:33

标签: php wordpress woocommerce

我的任务是在内部页面(而不是产品页面)中复制WooCommerce产品库。因此,我决定创建一个Child主题并在我的functions.php文件中写一个新的短代码,该文件将从WooCommerce中提取库模板。

到目前为止,这一切都很有效,只是画廊没有显示为画廊 - 它只是以完整尺寸显示所有图像,没有额外的格式。我使用的是错误的模板吗?我一直在使用/templates/single-product/product-thumbnails.php(默认 - 没有修改)。我是否需要包含一些额外的库?

到目前为止,我的孩子主题functions.php中有以下内容:

<?php
// these lines just pull in styles from the parent theme
add action('wp_enqueue_scripts', 'enqueue_parent_styles');
function enqueue_parent_styles( ) {
  wp_enqueue_style('parent-style', get_template_directory_uri().'/style.css');
  }

// here is where we add the shortcode
add_shortcode('woocommerce-gallery', 'woo_gallery_func');
function woo_gallery_func($atts, $content) {
  ob_start();
  $path = WooCommerce::plugin_path();
  global $product;
  // this creates a new WooCommerce WC_Product object
  // specs: https://docs.woocommerce.com/wc-apidocs/class-WC_Product.html
  $product = new WC_Product($atts['id']);

  // pull in the template. both options only display 
  // large images, not a gallery
  //include($path.'/templates/single-product/product-thumbnails.php');
  wc_get_template('single-product/product-thumbnails.php');

  $output = ob_get_contents();
  ob_end_clean();
  return $output;
  }
?>

要使用新的短代码,我使用类似[woocommerce-gallery id="21"]

的内容

0 个答案:

没有答案