Je suis actuellement en phase alpha de modification d'un thème enfant pour un thème Wordpress. J'ai une expérience de programmation et une certaine expérience de la gestion de wordpress mais aucune expérience directe de l'édition de code lié à wordpress. À l'heure actuelle, il affiche actuellement les trois premières catégories par ordre alphabétique.
Ce que j'essaie de faire: Au lieu d'afficher les trois premières catégories par ordre alphabétique, je voudrais afficher 3 catégories aléatoires avec plus de x nombre de produits.
J'ai rencontré les obstacles / questions suivants m'empêchant de continuer.
- Quel mécanisme / fonction contrôle la sélection de ces catégories? (Leur code)
- Est-ce basé sur un thème ou quelque chose dans le système WordPress sous-jacent?
- Quelles autres informations seraient pertinentes pour effectuer ce changement?
- Quelles informations seraient utiles à partir de la barre de développement de Firefox?
- Comment puis-je trouver «leur code» afin de pouvoir le remplacer par «mon code»?
La vraie question ici est: comment puis-je trouver "leur code" qui est responsable de cette sélection en utilisant des outils tels que firefox Dev Bar et la source réelle?
Cette question ne concerne pas WooCommerce (le plugin). 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.
Thème opensource: vitrine WooCommerce
Réponses:
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
.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 lestorefront_product_categories_args
pour filtrer les arguments de la requête (ce qui dans votre cas seraitorderby
):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 :
Page d'accueil "actions"
Fonctions de modèle de vitrine
Exemple de vérification des filtres de vitrine: modifiez le nombre de produits affichés par page .
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 CSSclass
/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:
Vous pouvez donc rechercher les fichiers de thème en utilisant l'
un deces 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.
la source