-2
Iveは新しいページテンプレートを作成し、woocommerce archive-product.phpをコピーしましたが、ショップページが動作している間はカスタムページはありません。ショップと同じように機能する方法はありますかページ?それが視覚的な作曲家や普通のコンテンツから何かを引っ張ってこないことに気づいた。woocommerce on page templates
Iveは新しいページテンプレートを作成し、woocommerce archive-product.phpをコピーしましたが、ショップページが動作している間はカスタムページはありません。ショップと同じように機能する方法はありますかページ?それが視覚的な作曲家や普通のコンテンツから何かを引っ張ってこないことに気づいた。woocommerce on page templates
カスタムウーモ商店のテンプレート(アーカイブ製品)をご希望の方は、サンプルテンプレートをご利用ください。
<?php
if (! defined('ABSPATH')) {
exit; // Exit if accessed directly
}
get_header('shop'); ?>
<?php
/**
* woocommerce_before_main_content hook
*
* @hooked woocommerce_output_content_wrapper - 10 (outputs opening divs for the content)
* @hooked woocommerce_breadcrumb - 20
*/
do_action('woocommerce_before_main_content'); ?>
<?php if (apply_filters('woocommerce_show_page_title', true)) : ?>
<h1 class="page-title"><?php woocommerce_page_title(); ?></h1>
<?php endif; ?>
<?php do_action('woocommerce_archive_description'); ?>
<?php
global $post, $product;
$args = array(
'post_type'=>'product',
'posts_per_page'=>-1,
'orderby'=>'date',
'order'=>'ASC'
);
// get all the posts (here it would be all the wc products)
$posts = get_posts($args);
/**
* woocommerce_before_shop_loop hook
*
* @hooked woocommerce_result_count - 20
* @hooked woocommerce_catalog_ordering - 30
*/
do_action('woocommerce_before_shop_loop');
if(count($posts) > 0) {
woocommerce_product_loop_start();
woocommerce_product_subcategories();
foreach($posts as $post) {
// this will put the current post into the GLOBAL $post object
setup_postdata($post);
// this will put the product data into GLOBAL $product object
wc_setup_product_data($post); ?>
<!-- Now you have valid WP loop, put the content-product template here -->
<?php wc_get_template_part('content', 'product'); ?>
<?php
}
woocommerce_product_loop_end();
} else {
wc_get_template('loop/no-products-found.php');
}
/**
* woocommerce_after_shop_loop hook
*
* @hooked woocommerce_pagination - 10
*/
do_action('woocommerce_after_shop_loop');
/**
* woocommerce_sidebar hook
*
* @hooked woocommerce_get_sidebar - 10
*/
do_action('woocommerce_sidebar');
get_footer('shop'); ?>
これは本当に便利です。しかし、それに沿った質問だけで、製品はうまくロードされますが、どのページのコンテンツにも読み込まれません。たとえば、読み込まれていないそのページのビジュアルコンポーザーにいくつかのコンポーネントがあります。それらを表示させるにはwpループが必要ですか? –
はい、可能です。 'get_footer( 'shop')の前に' the_content(); 'を入れてください、 – Sark
あなたの命の恩人に感謝します。 –