В настоящее время я нахожусь на стадии альфа-редактирования дочерней темы для темы Wordpress. У меня есть опыт программирования и некоторый опыт управления WordPress, но нет непосредственного опыта редактирования кода, связанного с WordPress. Прямо сейчас он отображает первые три категории в алфавитном порядке.
Что я пытаюсь сделать: вместо того, чтобы отображать первые три категории в алфавитном порядке, я хотел бы отобразить 3 случайные категории с более чем x количеством товаров.
Я столкнулся со следующими препятствиями/вопросами, мешающими мне продолжить.
Реальный вопрос здесь: Как я могу найти "OurCode", который отвечает за этот выбор, используя такие инструменты, как Firefox Dev Bar и фактический источник?
Этот вопрос не о WooCommerce (плагин). Я ищу способ найти функцию в теме, разработанной WooCommerce (компания), или в любой другой теме.
Тема с открытым исходным кодом: WooCommerce Storefront
Реальный вопрос здесь: Как я могу найти "OurCode", который отвечает за этот выбор, используя такие инструменты, как панель разработки Firefox и фактический источник?
Есливы ссылаетесь на вывод/источник HTML, то, например, на официальную тему Storefront demo site , просто щелкните правой кнопкой мыши заголовок или раздел "Категории продуктов", и затем вы можете легко проверить, что section
. Смотрите MDN doc для других опций, таких как значок "Выбор элемента".
Теперь для "фактического источника" (т. Е. Кода или функции 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-child-theme/# 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 , если вы не уверены в различиях между "действием" и "фильтром".
Просмотрите документацию по теме 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
.
Если вам нужна дополнительная помощь, дайте мне знать, и я соответствующим образом обновлю этот ответ.