如何像往常一样添加自定义块 "product" 到商店页面 / archive-product.php

How to add a custom block as a usual "product" to shop page / archive-product.php

我正在寻找将自定义 html block/post 作为产品添加到产品网格内的 woocommerce "shop page" 的可能性。

我的意思是.. 我在 "shop" 页面 (archive-product) 上有一个产品网格,我想创建一个带有一些文本信息的特殊 post/page/html 块,即将作为 "product" 之一插入到产品网格中,但没有价格、没有标题且不可点击。我附上了我想要的最终结果的屏幕截图,它真的是自我解释 - here it is exactly what I'm looking for.

作为一个想法,我可能可以创建一个具有特定 slug 或标题的特殊产品,带有 pre_get_posts 挂钩的相应脚本将找到这个 post/product 并将其修改为我需要的样子。我正在寻找一些 code/ideas 如何将这个特定的 block/page/post 插入网格中某个位置的 archive-product 页面。谢谢!

编辑:之前的代码有误,在此修改

$i=0;
while ($row = mysqli_fetch_array($query))  
{
    if ($i == 2) {
        echo "Cusom block";
    }
    echo "<p> Product block " . $row['column'] . " </p>";
    $i++;  
}

创建 WordPress 自定义 Post 存档:希望这能满足您的要求。

自定义 Post 存档列出您的自定义内容。您可能已经知道标准的 WordPress 档案。所以你可以按照这个把两者一起显示。

参考此处:https://wp-types.com/documentation/user-guides/creating-wordpress-custom-post-archives/

谢谢大家的帮助!我已经实现了我正在寻找的功能。我在 archive-product.php 中找到了相应的循环,正如 JapanGuy 所建议的,我添加了一个简单的 "if i equal let's say 5 then echo < li>[Custom block]< /li>" 。

存档中的原始片段-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(); ?>

插入自定义块的修改代码:

<?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(); ?>

我可以通过这种简单的方式将任何内容添加到创建的 [Custom block] 中,并拥有一个带有额外定制设计块的常用产品网格。我不是很有经验的程序员,所以我的代码可能并不完美,但它可以工作。谢谢!