Die eigentliche Frage hier ist: Wie finde ich "TheirCode", der für diese Auswahl verantwortlich ist, indem ich Tools wie die Firefox-Entwicklungsleiste und die eigentliche Quelle verwende?
Wenn Sie sich auf die HTML-Ausgabe / -Quelle beziehen, klicken Sie beispielsweise auf der offiziellen Storefront- Demo-Site mit der rechten Maustaste auf die Überschrift oder den Abschnitt "Produktkategorien", und Sie können dies leicht überprüfen section
. Weitere Optionen wie das Symbol "Element auswählen" finden Sie im MDN-Dokument .
Die " eigentliche Quelle " (dh der PHP-Code oder die PHP-Funktion, mit der der Abschnitt "Produktkategorien" auf Seiten mithilfe der Vorlage "Homepage" generiert wird) finden Sie 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' ),
) );
...
}
}
}
Dies storefront_product_categories()
gilt auch für die PHP-Funktion, nach der Sie suchen und die Sie bei Bedarf vollständig überschreiben können (siehe https://docs.woocommerce.com/document/set-up-and-use-a-child-theme/#) Abschnitt 5 ). Wenn Sie die Produktkategorien jedoch nur in zufälliger Sortierung anzeigen möchten, können Sie einfach die verwenden storefront_product_categories_args
, um die Abfrageargumente zu filtern (was in Ihrem Fall der Fall wäre orderby
):
add_filter( 'storefront_product_categories_args', function( $args ){
$args['orderby'] = 'rand';
return $args;
} );
Dieser Filter wird innerhalb der storefront_product_categories()
Funktion aufgerufen. Dies sind die anderen Filter / Aktionen, die Sie verwenden können:
Filter: storefront_product_categories_shortcode_args
Aktion: storefront_homepage_before_product_categories
Aktion: storefront_homepage_after_product_categories_title
Aktion: storefront_homepage_after_product_categories
Sehen Sie dies, wenn Sie sich der Unterschiede zwischen einer "Aktion" und einem "Filter" nicht sicher sind.
UPDATE: Wie können Sie den Code finden?
Durchsuchen Sie die Storefront-Themendokumentation :
Ich suche nach einer Möglichkeit, eine Funktion in einem von WooCommerce (dem Unternehmen) entworfenen Thema oder in einem anderen Thema zu finden.
Überprüfen (und lesen) Sie zuerst die Dokumentation des Themas.
Wenn keine oder Sie die benötigten Informationen nicht / nicht gefunden haben, versuchen Sie, was @motivast vorgeschlagen hat - Überprüfen Sie die Elemente auf der Seite, suchen Sie den entsprechenden HTML-Code und / oder CSS class
/ id
und durchsuchen Sie die Themendateien danach HTML oder CSS class
/ id
bis Sie die richtige Datei oder den richtigen PHP-Code / gefunden haben function
.
Auf der Storefront-Demo-Website lautet der HTML-Code des Abschnitts "Produktkategorien" beispielsweise:
<section class="storefront-product-section storefront-product-categories" aria-label="Product Categories">
...
</section>
Sie können die Themendateien also mit einem der folgenden Schlüsselwörter durchsuchen : (Ich würde von der spezifischsten oder engsten Übereinstimmung mit dem generierten HTML-Code ausgehen.)
<section class="storefront-product-section storefront-product-categories"
class="storefront-product-section storefront-product-categories"
storefront-product-categories
storefront-product-section
Angenommen, Sie wüssten nichts über die Storefront- / Themendokumentation. Wenn Sie die oben genannten Suchvorgänge durchführen, gelangen Sie schließlich zur richtigen Datei oder zum richtigen PHP-Code function
.
Wenn Sie weitere Hilfe benötigen, lassen Sie es mich wissen und ich werde diese Antwort entsprechend aktualisieren.