La vera domanda qui è: come posso trovare "TheirCode" che è responsabile di questa selezione usando strumenti come la barra di sviluppo di Firefox e la fonte attuale?
Se ti riferisci all'output / sorgente HTML, ad esempio sul sito demo ufficiale del tema Storefront , fai semplicemente clic con il pulsante destro del mouse sull'intestazione o sulla sezione "Categorie di prodotti" e puoi facilmente controllarlo section
. Vedi il documento MDN per altre opzioni come l'icona "Seleziona elemento".
Ora per la " fonte effettiva " (ovvero il codice PHP o la funzione che genera la sezione "Categorie di prodotti" su Pages usando il modello "Homepage"), puoi trovarlo in 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' ),
) );
...
}
}
}
Così storefront_product_categories()
è la funzione PHP che stai cercando e che puoi completamente ignorare se vuoi (vedi https://docs.woocommerce.com/document/set-up-and-use-a-child-theme/# sezione 5 ). Ma se vuoi solo visualizzare le categorie di prodotti in un ordinamento casuale, puoi semplicemente usare il storefront_product_categories_args
per filtrare gli argomenti della query (che nel tuo caso sarebbe orderby
):
add_filter( 'storefront_product_categories_args', function( $args ){
$args['orderby'] = 'rand';
return $args;
} );
Tale filtro viene chiamato dall'interno della storefront_product_categories()
funzione e questi sono gli altri filtri / azioni che è possibile utilizzare:
Filtro: storefront_product_categories_shortcode_args
Azione: storefront_homepage_before_product_categories
Azione: storefront_homepage_after_product_categories_title
Azione: storefront_homepage_after_product_categories
Vedi questo se non sei sicuro delle differenze tra una "azione" e un "filtro".
AGGIORNAMENTO: Come hai trovato il codice?
Sfoglia la documentazione del tema Storefront :
Sto cercando un modo per trovare una funzione in un tema progettato da WooCommerce (l'azienda) o in qualsiasi tema.
Innanzitutto, controlla (e leggi) la documentazione del tema.
Se nessuno o non hai / non hai trovato le informazioni di cui avevi bisogno, prova ciò che @motivast aveva suggerito: ispeziona gli elementi nella pagina, trova il codice HTML e / o CSS class
/ appropriati id
, quindi cerca nei file dei temi HTML o CSS class
/ id
fino a quando non hai trovato il file o il codice PHP corretti / function
.
Ad esempio, nel sito demo del tema Storefront, l'HTML della sezione delle categorie di prodotti è:
<section class="storefront-product-section storefront-product-categories" aria-label="Product Categories">
...
</section>
Quindi potresti cercare i file del tema usando una di queste parole chiave: (inizierei dalla corrispondenza più specifica o più vicina all'HTML generato)
<section class="storefront-product-section storefront-product-categories"
class="storefront-product-section storefront-product-categories"
storefront-product-categories
storefront-product-section
Supponendo che non conoscessi la documentazione di Storefront / theme, eseguire le ricerche di cui sopra ti porterebbe infine al file o al codice PHP corretti / function
.
Se hai bisogno di ulteriore assistenza, fammi sapere e aggiornerò di conseguenza questa risposta.