カスタムテンプレートを使用するWooCommerceショップページ[終了]


9

質問する前に、https://stackoverflow.com/questions/15025213/wordpress-woocommerce-template-file-overidingですでに質問をしたことをお伝えしたいと思います。

私が使用していますWooCommerceのウェブサイトを開発するためのプラグインを。WooCommerceはすべて正常です。私の要件に従って、私のホームページをWooCommerceダッシュボードからショップベースページとして構成し、私のホームページをショップページにしました。次に、管理者側からアップロードする必要がある画像を配置し、画像の上にテキストを表示する必要があります。その機能については、Googleで検索しましたが、WordPress Advanced Custom Fieldsを使用するよう提案されました。インストールしたところです。

今、WooCommerceが私のカスタムテーマを使用していないことを確認しました。独自のカスタムテーマを使用しています。Advanced Custom Fieldsプラグインを使用して画像とテキストを表示したいので、画像とテキストのクエリを使用するには、独自のカスタムテンプレートが本当に必要です。その後、私は再びソリューションをGoogle上で検索し、私はちょうどテーマののコピーを作成する提案だpage.phpwoocommerce.phpして、コードだけを交換します:

     <?php while ( have_posts() ) : the_post(); ?>

      <?php get_template_part( 'content', 'page' ); ?>

      <?php comments_template( '', true ); ?>

    <?php endwhile; // end of the loop. ?>

<?php woocommerce_content(); ?>

私はそれをしましたが、それでも、高度なカスタムフィールドからカスタムフィールドを取得していません。親切に私を助けてください。どんな提案や助けも認められるでしょう。ありがとう。

画像とテキストの高度なカスタムフィールドを表示する私のコードは次のとおりです。

<?php $product_tab_banner = get_field('product_tab_banner');
    if($product_tab_banner): ?>
   <?php var_dump($product_tab_banner); ?>
    <div class="nt-highlighted-products">
    <img src="<?php echo $product_tab_banner['url']; ?>" alt="<?php echo $product_tab_banner['alt']; ?>"  width="<?php echo $product_tab_banner['sizes']['featured_product-width'];?>" height="<?php echo $product_tab_banner['sizes']['featured_product-height'];?>" title="<?php echo $product_tab_banner['title']; ?>" />
    </div>
  <?php endif; ?>

WordPress TwentyElevenテーマを使用しています。


たぶんWCのドキュメントにはいくつかのヒントがあります。
ブラソフィロ2013

@brasofilo私はドキュメントを検索しましたが、そこに手掛かりはありません...
NewUser

これが役立つかどうかを確認ます。
ブラソフィロ2013

はい、試してみましたが、次のように表示されますFatal error: Cannot redeclare show_template() (previously declared
NewUser

関数名に誤りがありましたので修正しました。
ブラソフィロ2013

回答:


5

質問を通して、woocommerceはカスタムテンプレートを使用しないことをお伝えします。独自のテンプレートを使用します。あなたが使用したいようwordpressの高度なカスタムフィールドプラグイン私はあなたに伝えたい機能のみのページとポストに動作することです。したがって、woocommerceは独自のカスタムテンプレートを使用できないため、高度なカスタムフィールド機能を使用できません。

今、何か違うことをしてください。製品を表示したい場所に独自のカスタムテンプレートを作成するだけです。それからちょうどサイトにアクセスしてくださいhttp://docs.woothemes.com/document/woocommerce-shortcodes/ ここにあなたが見ることができるショートコードwoocommerceを。ほとんどすべての製品を独自のカスタマイズで簡単に表示できます。次に、これらのショートコードを使用して製品を表示します。ここでは、woocommerceが独自のカスタムテンプレートを使用していることを確認しました。これが独自のテンプレートなので、これを使用して高度なカスタムフィールドを簡単に使用できます。それは明らかですか?理解できないことがあれば、返信してください。これがお役に立てば幸いです。


11

あなたの問題を正しく理解しているかどうかはわかりませんが、これを再現するための私の試みを以下に示します。

最初にWooCommerceのドキュメントのこの部分を検討してください

あなたはこれらのテンプレートの編集1にしたい場合は、単に名前のあなたのテーマ内のディレクトリにコピーし/woocommerce、例えば移動同じファイル構造を維持する、/templates/cart/cart.phpとしthemename/woocommerce/cart/cart.php。コピーされたファイルは、WooCommerceのデフォルトテンプレートファイルを上書きします。

次に、これは複製手順です。

  • WP 3.5.1、TwentyEleven 1.5、WooCommerce 1.6.6およびAdvancedCustomFields 4.0.0を使用
  • 読み取り設定(/wp-admin/options-reading.php)で、「ショップ」ページを静的フロントページとして設定します。
  • 画像フィールド(product_tab_banner)を含むACFフィールドグループを設定します。戻り値は「画像オブジェクト」で、投稿タイプ「製品」に表示されます。

ソリューション

  • 次のフォルダを作成します。 /wp-content/twentyeleven/woocommerce/
  • ファイルをコピーします。/wp-content/plugins/woocommerce/templates/content-product.php この新しく作成されたフォルダに
  • このコピーにコードを配置します content-product.php
$product_tab_banner = get_field('product_tab_banner');
if($product_tab_banner): ?>
    <div class="nt-highlighted-products">
    <img src="<?php echo $product_tab_banner['url']; ?>" 
        alt="<?php echo $product_tab_banner['alt']; ?>"  
        width="<?php echo $product_tab_banner['sizes']['featured_product-width'];?>" 
        height="<?php echo $product_tab_banner['sizes']['featured_product-height'];?>" 
        title="<?php echo $product_tab_banner['title']; ?>" />
    </div>
<?php endif; ?>

これが製品ページです。

商品ページ
クリックして拡大します

そしてここにサイトの結果:

サイト結果


「ショップ」ページをカスタマイズする場合は、ファイル/wp-content/plugins/woocommerce/templates/archive-product.phpをテーマの/woocommerce/フォルダーにコピーします。


弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.