it-swarm.cn

在首页上显示随机类别(查找和编辑主题功能)

我目前处于编辑Wordpress主题的子主题的alpha阶段。我确实有编程经验和一些管理wordpress的经验,但没有编辑wordpress相关代码的直接经验。现在它当前按字母顺序显示前三个类别。

我正在尝试做的事情:我不想按字母顺序显示前三个类别,而是希望显示3个随机类别,其中包含超过x个数量的产品。

我遇到了以下障碍/问题阻止我继续进行。

  1. 什么机制/功能控制这些类别的选择? (TheirCode)
  2. 它是基于主题还是基础WordPress系统中的某些东西?
  3. 还有哪些与此相关的信息有关?
  4. Firefox Dev Bar有哪些有用的信息?
  5. 如何找到“他们的代码”,以便用“MyCode”替换它?

这里真正的问题是: 我如何使用firefox Dev Bar和实际源代码等工具找到负责此选择的“TheyCode”?

这个问题与WooCommerce(插件)无关。我正在寻找一种方法来找到WooCommerce(公司)设计的主题或任何主题中的功能。

Opensource主题:WooCommerce店面

8
T. Thomas

这里真正的问题是: 我如何使用firefox dev bar和实际源等工具找到负责此选择的“TheyCode”?

如果 您指的是HTML输出/源,然后例如在官方Storefront主题 演示网站上 ,只需右键单击“产品类别”标题或部分,然后您就可以轻松检查section。有关其他选项,请参阅 MDN doc ,例如“选择元素”图标。

enter image description here 

现在对于“ 实际的源 ”(即使用“主页”模板在Pages上生成“产品类别”部分的PHP代码或函数),您可以在 inc/storefront-template-functions.php

if ( ! function_exists( 'storefront_product_categories' ) ) {
    /**
     * Display Product Categories
     * Hooked into the `homepage` action in the homepage template
     *
     * @since  1.0.0
     * @param array $args the product section args.
     * @return void
     */
    function storefront_product_categories( $args ) {

        if ( storefront_is_woocommerce_activated() ) {

            $args = apply_filters( 'storefront_product_categories_args', array(
                'limit'             => 3,
                'columns'           => 3,
                'child_categories'  => 0,
                'orderby'           => 'name',
                'title'             => __( 'Shop by Category', 'storefront' ),
            ) );

            ...
        }
    }
}

所以storefront_product_categories()是您正在寻找的PHP函数,如果您愿意,可以完全覆盖(参见 https://docs.woocommerce.com/document/设置和使用儿童主题/#section-5 )。但是,如果您只想在随机排序中显示产品类别,那么您只需使用storefront_product_categories_args过滤查询参数(在您的情况下将为orderby):

add_filter( 'storefront_product_categories_args', function( $args ){
    $args['orderby'] = 'Rand';
    return $args;
} );

该过滤器是在storefront_product_categories()函数中调用的,这些是您可以使用的其他过滤器/操作:

  • 过滤:storefront_product_categories_shortcode_args

  • 行动:storefront_homepage_before_product_categories

  • 行动:storefront_homepage_after_product_categories_title

  • 行动:storefront_homepage_after_product_categories

如果你不确定“动作”和“过滤器”之间的区别,请参见 this


更新:How你能找到代码吗?

浏览 Storefront主题文档

我正在寻找一种方法来找到WooCommerce(公司)设计的主题或任何主题中的功能。

  • 首先,检查(并阅读)主题的文档。

  • 如果没有,或者你没有/找不到你需要的信息,那么试试 @motivast 建议 - 检查页面上的元素,找到合适的HTML代码和/或CSS class/id,然后搜索该HTML或CSS class/id的主题文件,直到找到正确的文件或PHP code/function

例如,在Storefront主题演示站点上,产品类别部分的HTML是:

<section class="storefront-product-section storefront-product-categories" aria-label="Product Categories">
    ...
</section>

所以你可以使用搜索主题文件 之一 这些关键字:(我从与生成的HTML最具体或最接近的匹配开始)

  • <section class="storefront-product-section storefront-product-categories"

  • class="storefront-product-section storefront-product-categories"

  • storefront-product-categories

  • storefront-product-section

假设您不了解Storefront/theme文档,执行上述搜索最终会将您带到正确的文件或PHP code/function

如果您需要进一步的帮助,请告诉我,我会相应更新此答案。

11
Sally CJ