1

製品グリッド内のwoocommerce「ショップページ」にカスタムhtmlブロック/投稿を製品として追加する可能性を探しています。

つまり、「ショップ」ページ (アーカイブ製品) に製品のグリッドがあり、製品グリッドに挿入されるテキスト情報を含む特別な post/page/html ブロッ​​クを作成したいと考えています。 「製品」の 1 つですが、価格もタイトルもなく、クリックできません。私が望む最終結果のスクリーンショットを添付しまし

アイデアとして、おそらく特定のスラッグまたはタイトルで特別な製品を作成し、pre_get_posts フックを備えた対応するスクリプトがこの投稿/製品を見つけて、必要に応じて変更することができます。この特定のブロック/ページ/投稿をアーカイブ製品ページのグリッド内のある位置に挿入する方法のコード/アイデアを探しています。ありがとう!

4

3 に答える 3

2

Thanks for help, guys! I've implemented the functionality I was looking for. I've found the corresponding loop in archive-product.php and as was suggested by JapanGuy, I've added a simple "if i equal let's say 5 then echo < li>[Custom block]< /li>" .

The original snippet from archive-product.php:

<?php woocommerce_product_loop_start(); ?>
    <?php woocommerce_product_subcategories(); ?>
    <?php while ( have_posts() ) : the_post(); ?>
        <?php wc_get_template_part( 'content', 'product' ); ?>
    <?php endwhile; // end of the loop. ?>
<?php woocommerce_product_loop_end(); ?>

Modified code with inserted custom block:

<?php woocommerce_product_loop_start(); ?>
    <?php woocommerce_product_subcategories(); ?>
    <?php while ( have_posts() ) : the_post(); ?>
        <?php                                   
          if ($i == 5) {
          echo "<li>[Custom block]</li>";
          }
          $i++; 
        ?>
        <?php wc_get_template_part( 'content', 'product' ); ?>
    <?php endwhile; // end of the loop. ?>
<?php woocommerce_product_loop_end(); ?>

Im such simple way I can add any content to the created [Custom block] and have an usual products grid with extra custom designed block. I'm not very experienced programmer, so probably my code is not perfect, but it works. Thanks!

于 2016-09-16T21:13:59.783 に答える
1

編集:以前のコードが間違っていたので、ここに変更しました

$i=0;
while ($row = mysqli_fetch_array($query))  
{
    if ($i == 2) {
        echo "Cusom block";
    }
    echo "<p> Product block " . $row['column'] . " </p>";
    $i++;  
}
于 2016-09-15T21:38:54.523 に答える