Ich habe angefangen zu lernen, wie man Vorlagen mit WooCommerce erstellt, und ich hatte ein kleines Problem. Zum Beispiel habe ich in der PHP-Datei content-single-product.php des Woocommerce-Plugins solche Zeichenfolgen:
<?php
/**
* woocommerce_single_product_summary hook.
*
* @hooked woocommerce_template_single_title - 5
* @hooked woocommerce_template_single_rating - 10
* @hooked woocommerce_template_single_price - 10
* @hooked woocommerce_template_single_excerpt - 20
* @hooked woocommerce_template_single_add_to_cart - 30
* @hooked woocommerce_template_single_meta - 40
* @hooked woocommerce_template_single_sharing - 50
*/
do_action( 'woocommerce_single_product_summary' );
?>
Und zum Beispiel, wenn ich dies bearbeiten möchte (einige Felder löschen und die Struktur ändern), versuche ich, die Zeichenfolge zu löschen:
do_action( ‘woocommerce_single_product_summary’ );
und schreibe danach so:
<?php
/**
* woocommerce_single_product_summary hook.
*
* @hooked woocommerce_template_single_title - 5
* @hooked woocommerce_template_single_rating - 10
* @hooked woocommerce_template_single_price - 10
* @hooked woocommerce_template_single_excerpt - 20
* @hooked woocommerce_template_single_add_to_cart - 30
* @hooked woocommerce_template_single_meta - 40
* @hooked woocommerce_template_single_sharing - 50
*/
//do_action( 'woocommerce_single_product_summary' );
do_action('woocommerce_template_single_title');
?>
Könnt ihr mir bitte sagen warum das nicht geht?
Was ist der richtige Weg, um so etwas zu bearbeiten?
Danke
Erster Referenz unten Sie werden finden, wie es geht Woocommerce-Vorlagen richtig überschreiben über ein Thema (Vermeidung der Bearbeitung der Plugin-Vorlagen).
In Ihrem ersten Code-Snippet, wie Sie sehen können woocommerce_single_product_summary
Hakenhaben Sie in der Reihenfolge all die verschiedenen Vorlagen, die es gibt @hooked
in diesem Hakenposition mit do_action()
WordPress-Funktion:
do_action( 'woocommerce_single_product_summary' );
In Ihrem benutzerdefinierten Code (das 2. Code-Snippet) haben Sie also nur die ersetzt Hakenbis zum Hakenschablonenschnecke (das ist NICHT ein Haken) und wird NICHT Arbeit als Einstiegspunkt Aktionshaken. Siehe die Referenzen am Ende dieser Antwort für die Liste der WooCommerce-Aktionen und -Filter vorhandene Haken…
Konsequenzen: Alle anderen Hook-Templates im kommentierten Listencode (beginnend mit @süchtig) fehlen wenn Sie einen Hook durch einen Template Slug ersetzen.
Für die in den Vorlagen verwendeten Haken siehe das hilfreich WooCommerce Visual Hook Guide
Erläuterungen (Wie man):
WIE MAN – Konkretes Beispiel:
Sie wollen anpassen woocommerce_template_single_title
Haken Vorlage in woocommerce_single_product_summary
Haken.
THE HOOK NAME: woocommerce_single_product_summary hook.
THE TEMPLATES HOOKED (+priority order number) => corresponding template file name:
— woocommerce_template_single_title (5) => single-product/title.php
— woocommerce_template_single_rating (10) => single-product/rating.php
— woocommerce_template_single_price (10) => single-product/price.php
— woocommerce_template_single_excerpt (20) => single-product/short-description.php
— woocommerce_template_single_add_to_cart(30) => single-product/add-to-cart/ (6 files depending on product type)
— woocommerce_template_single_meta (40) => single-product/review-meta.php
— woocommerce_template_single_sharing - (50) => single-product/share.php
Dann müssen Sie bearbeiten die entsprechende woocommerce_single_product_summary
Haken title.php
gelegen in single-product
(Unterordner)… Schließlich ist es nicht so kompliziert, sobald wir die Template-Strukturdateien und die Hooks in diesen Templates verstanden haben.
Die Prioritätsnummergibt die Reihenfolge für die Hakenschablonen vor: Erst kleiner, am Ende größer…
Siehe auch: Hooks und ihre Ausführungswarteschlange für Hook-Funktionen in WordPress und Woocommerce
Andere Wege:
Sie können auch alle vorhandenen Vorlagenhaken verwenden um auf sehr spezifische Änderungen oder Anpassungen abzuzielen, mit benutzerdefinierten Funktionen in der function.php
Datei Ihres aktiven untergeordneten Designs (oder Designs) oder auch einer beliebigen Plugin-Datei.
Beispiel mit add_action()
WordPress-Funktion:
// define the woocommerce_single_product_summary callback function
function my_custom_action() {
echo '<p>This is my custom action function</p>';
};
add_action( 'woocommerce_single_product_summary', 'my_custom_action', 15 );
Diese Funktion hat eine Prioritätsnummer von 15
und wird angezeigt
“Dies ist meine benutzerdefinierte Aktionsfunktion” Zeichenfolgentext, zwischen der product price
und das product short description
…
Optionale Argumente dieser Hook-Funktion für diesen Hook:
• Der Template-Slug (Zeichenfolge).
• Die Priorität (int).
Verweise:
@LoicTheAztec Ja! Ich danke dir sehr! Du bist eine wirklich hilfsbereite Person! Sich kümmern!
– Dmitri Schulga
21. August 2016 um 20:55 Uhr
Danke … ich versuche es auch. Hooks und Templates sind nicht einfach, wenn man mit WooCommerce/WP beginnt. Wir sehen uns … Nochmals vielen Dank.
– LoicTheAztec
21. August 2016 um 21:02 Uhr