La vraie question ici est: comment puis-je trouver "leur code" qui est responsable de cette sélection en utilisant des outils tels que la barre de développement de Firefox et la source réelle?
Si vous faites référence à la sortie / source HTML, par exemple sur le site officiel de démonstration du thème Storefront , faites un clic droit sur l'en-tête ou la section "Catégories de produits" et vous pourrez facilement l'inspecter section
. Voir la doc MDN pour d'autres options telles que l'icône "Select Element".
Maintenant, pour la " source réelle " (c'est-à-dire le code PHP ou la fonction qui génère la section "Catégories de produits" sur les pages utilisant le modèle "Page d'accueil"), vous pouvez le trouver dans 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' ),
) );
...
}
}
}
Il en storefront_product_categories()
va de même de la fonction PHP que vous recherchez et que vous pouvez complètement remplacer si vous le souhaitez (voir https://docs.woocommerce.com/document/set-up-and-use-a-child-theme/# section-5 ). Mais si vous souhaitez simplement afficher les catégories de produits dans un tri aléatoire, vous pouvez simplement utiliser le storefront_product_categories_args
pour filtrer les arguments de la requête (ce qui dans votre cas serait orderby
):
add_filter( 'storefront_product_categories_args', function( $args ){
$args['orderby'] = 'rand';
return $args;
} );
Ce filtre est appelé à partir de la storefront_product_categories()
fonction, et ce sont les autres filtres / actions que vous pouvez utiliser:
Filtre: storefront_product_categories_shortcode_args
Action: storefront_homepage_before_product_categories
Action: storefront_homepage_after_product_categories_title
Action: storefront_homepage_after_product_categories
Voyez ceci si vous n'êtes pas sûr des différences entre une "action" et un "filtre".
MISE À JOUR: Comment avez-vous pu trouver le code?
Parcourez la documentation du thème Storefront :
Je cherche un moyen de trouver une fonction dans un thème que WooCommerce (la société) a conçu ou dans n'importe quel thème vraiment.
Tout d'abord, vérifiez (et lisez) la documentation du thème.
Si aucun ou si vous n'avez pas / ne parvenez pas à trouver les informations dont vous avez besoin, essayez ce que @motivast avait suggéré - Inspectez les éléments sur la page, trouvez le code HTML et / ou CSS class
/ approprié id
, puis recherchez les fichiers de thème pour cela HTML ou CSS class
/ id
jusqu'à ce que vous trouviez le bon fichier ou le code PHP / function
.
Par exemple, sur le site de démonstration du thème Storefront, le code HTML de la section des catégories de produits est:
<section class="storefront-product-section storefront-product-categories" aria-label="Product Categories">
...
</section>
Vous pouvez donc rechercher les fichiers de thème en utilisant l' un de ces mots clés: (je commencerais par la correspondance la plus spécifique ou la plus proche du code HTML généré)
<section class="storefront-product-section storefront-product-categories"
class="storefront-product-section storefront-product-categories"
storefront-product-categories
storefront-product-section
En supposant que vous ne connaissiez pas la documentation Storefront / theme, effectuer les recherches ci-dessus vous amènerait finalement au bon fichier ou code PHP / function
.
Si vous avez besoin d'aide supplémentaire, faites-le moi savoir et je mettrai à jour cette réponse en conséquence.