получить woocommerce магазин пост миниатюра - PullRequest
2 голосов
/ 19 января 2020

У меня проблема с woocommerce. Я использую woocommerce_before_main_content хук, чтобы добавить .jumbotron обложку страницы. Мне удалось отобразить содержимое, такое как заголовок страницы и категории, которые должны отображаться на фоновом изображении, но отображаемое изображение является наиболее важным, я не знаю, почему, но WordPress покажет первый эскиз изображения продукта и изображение Я выбрал, как показано на странице магазина WooCommerce отличается. Есть ли решение? Я использую этот код:

function btheme_woocommerce_before_main_content()
  {
    if( has_post_thumbnail() ):
    ?>
      <div class="jumbotron jumbotron-fluid shop-page-cover" style="background-image:url('<?php echo the_post_thumbnail_url(); ?>');">
        <!-- <div class="parallax" data-parallax-image></div> -->
          <div class="container">
            <div class="row">
              <div class="col-sm-12 col-md-12 col-lg-12 text-center">
                <h1 class=""><?php woocommerce_page_title(); ?></h1>
                <?php $categories = get_terms( array('taxonomy' => 'product_cat') ); ?>
                <?php foreach( $categories as $category ): ?>
                  <h4 class="category-name d-inline"><?php echo $category->name; ?></h4>
                <?php endforeach; ?>
              </div>
            </div>
          </div>
      </div>
    <?php endif; ?>
      <div class="container-fluid content-wrapper" id="uptheme-woocommece-wrapper">
    <?php
  }
  add_action( 'woocommerce_before_main_content', 'btheme_woocommerce_before_main_content', 10 );

1 Ответ

4 голосов
/ 19 января 2020

сначала нужно получить миниатюру поста по идентификатору

<?php
$shop_page_id = wc_get_page_id('shop');

function btheme_woocommerce_before_main_content()
  {
    if( has_post_thumbnail($shop_page_id) ):
    ?>
      <div class="jumbotron jumbotron-fluid shop-page-cover" style="background-image:url('<?php echo get_the_post_thumbnail_url($shop_page_id,'full'); ?>');">
        <!-- <div class="parallax" data-parallax-image></div> -->
          <div class="container">
            <div class="row">
              <div class="col-sm-12 col-md-12 col-lg-12 text-center">
                <h1 class=""><?php woocommerce_page_title(); ?></h1>
                <?php $categories = get_terms( array('taxonomy' => 'product_cat') ); ?>
                <?php foreach( $categories as $category ): ?>
                  <h4 class="category-name d-inline"><?php echo $category->name; ?></h4>
                <?php endforeach; ?>
              </div>
            </div>
          </div>
      </div>
    <?php endif; ?>
      <div class="container-fluid content-wrapper" id="uptheme-woocommece-wrapper">
    <?php
  }
  add_action( 'woocommerce_before_main_content', 'btheme_woocommerce_before_main_content', 99 );

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...