Настоящий вопрос здесь заключается в следующем: как мне найти «их код», который отвечает за этот выбор, используя такие инструменты, как панель разработки Firefox и фактический источник?
Если вы ссылаетесь на вывод / источник HTML, то, например, на официальном демонстрационном сайте темы Storefront , просто щелкните правой кнопкой мыши заголовок или раздел «Категории продуктов», и тогда вы можете легко это проверить section
. См. Документ MDN для других опций, таких как значок «Выбор элемента».
Теперь о « фактическом источнике » (то есть коде 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/set-up-and-use-a-child-theme/# раздел-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
Смотрите это , если вы не уверены в различиях между «действием» и «фильтром».
ОБНОВЛЕНИЕ: Как вы могли найти код?
Просмотрите документацию темы Storefront :
Я ищу способ найти функцию в теме, разработанной WooCommerce (компания), или в любой другой теме.
Сначала проверьте (и прочитайте) документацию темы.
Если ничего, или вы не / не можете найти нужную информацию, попробуйте то, что предложил @motivast - проверьте элементы на странице, найдите соответствующий HTML-код и / или CSS class
/ id
, а затем найдите в файлах темы эту информацию. HTML или CSS class
/, id
пока не найдете нужный файл или код PHP / 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 / function
.
Если вам нужна дополнительная помощь, дайте мне знать, и я обновлю этот ответ соответственно.