it-swarm.com.de

Anzeigen zufälliger Kategorien auf der Startseite (Suchen und Bearbeiten von Themenfunktionen)

Derzeit bin ich in der Alpha-Phase, in der ich ein untergeordnetes Thema für ein Wordpress-Thema bearbeite. Ich habe Programmiererfahrung und einige Erfahrung im Umgang mit WordPress, aber keine direkte Erfahrung beim Bearbeiten von WordPress-Code. Derzeit werden die ersten drei Kategorien in alphabetischer Reihenfolge angezeigt.

Was ich versuche zu tun: Anstatt die ersten drei Kategorien alphabetisch anzuzeigen, möchte ich 3 zufällige Kategorien mit mehr als x Anzahl von Produkten anzeigen.

Ich bin auf die folgenden Straßensperren/Fragen gestoßen, die mich daran hindern, fortzufahren.

  1. Welcher Mechanismus/welche Funktion steuert die Auswahl dieser Kategorien? (TheirCode)
  2. Ist es themenbasiert oder etwas im zugrunde liegenden WordPress-System?
  3. Welche anderen Informationen wären relevant, um diese Änderung vorzunehmen?
  4. Welche Informationen wären in der Firefox-Dev-Leiste nützlich?
  5. Wie finde ich "TheirCode", damit ich es durch "MyCode" ersetzen kann?

Die eigentliche Frage hier ist: Wie finde ich "TheirCode", der für diese Auswahl mit Tools wie Firefox Dev Bar und der tatsächlichen Quelle verantwortlich ist?

Diese Frage bezieht sich nicht auf WooCommerce (das Plugin). Ich suche nach einer Möglichkeit, eine Funktion in einem Thema zu finden, das WooCommerce (das Unternehmen) entworfen hat, oder in einem beliebigen Thema.

Open Source-Thema: WooCommerce-Schaufenster

8
T. Thomas

Die eigentliche Frage hier ist: Wie finde ich "TheirCode", der für diese Auswahl mit Tools wie Firefox Dev Bar und der tatsächlichen Quelle verantwortlich ist?

Wenn Sie sich auf die HTML-Ausgabe Quelle beziehen, dann zum Beispiel auf das offizielle Storefront-Thema/- Demo-Site , klicken Sie einfach mit der rechten Maustaste auf die Überschrift oder den Abschnitt "Produktkategorien", und dann können Sie es ganz einfach inspiziere das section. Weitere Optionen wie das Symbol "Element auswählen" finden Sie im MDN-Dokument .

 enter image description here 

Nun zum " die eigentliche Quelle " (dh dem PHP Code oder der Funktion, die den Abschnitt "Produktkategorien" auf Seiten mit der Vorlage "Homepage" generiert), finden Sie ihn 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' ),
            ) );

            ...
        }
    }
}

storefront_product_categories() ist also die PHP Funktion, die Sie suchen und die Sie vollständig überschreiben können, wenn Sie möchten (siehe https://docs.woocommerce.com/document/ set-up-and-use-a-child-theme/# section-5 ). Wenn Sie jedoch nur die Produktkategorien in zufälliger Sortierung anzeigen möchten, können Sie einfach den storefront_product_categories_args verwenden, um die Abfrageargumente zu filtern (in Ihrem Fall wäre dies orderby):

add_filter( 'storefront_product_categories_args', function( $args ){
    $args['orderby'] = 'Rand';
    return $args;
} );

Dieser Filter wird in der Funktion storefront_product_categories() 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 Hast du den Code gefunden?

Durchsuchen Sie die Storefront-Themendokumentation :

Ich suche nach einer Möglichkeit, eine Funktion in einem Thema zu finden, das WooCommerce (das Unternehmen) entworfen hat, oder in einem beliebigen Thema.

  • Überprüfen Sie zunächst die Dokumentation des Themas (und lesen Sie sie durch).

  • Wenn keine der benötigten Informationen vorhanden ist oder Sie diese nicht finden konnten, versuchen Sie Folgendes: @motivast Vorgeschlagene - Überprüfen Sie die Elemente auf der Seite, suchen Sie den entsprechenden HTML-Code und/oder CSS class/id Durchsuchen Sie die Designdateien nach HTML oder CSS class/id, bis Sie die richtige Datei oder PHP Code/function gefunden haben.

Auf der Storefront-Themendemo-Site lautet der HTML-Code des Abschnitts mit den Produktkategorien beispielsweise:

<section class="storefront-product-section storefront-product-categories" aria-label="Product Categories">
    ...
</section>

So können Sie die Themendateien mit durchsuchen einer von Diese Keywords: (Ich beginne mit der genauesten oder genauesten Übereinstimmung mit dem generierten HTML.)

  • <section class="storefront-product-section storefront-product-categories"

  • class="storefront-product-section storefront-product-categories"

  • storefront-product-categories

  • storefront-product-section

Vorausgesetzt, Sie wussten nichts über die Storefront-/Themendokumentation, würden Sie durch Ausführen der obigen Suchvorgänge schließlich zur richtigen Datei oder zum PHP Code/function gelangen.

Wenn Sie weitere Unterstützung benötigen, lassen Sie es mich wissen und ich werde diese Antwort entsprechend aktualisieren.

11
Sally CJ