Zum Zielen nur die Hauptseite des Shops mit CSS (eine spezifische benutzerdefinierte Klasse, die ich wie unten erwähnt erstellt habe).
Folgendes habe ich bisher gemacht und probiert:
Ich habe eine Override-Vorlage von archive-product.php in meinem Child-Theme.
In dieser Override-Vorlage habe ich ein div mit einer benutzerdefinierten Klasse hinzugefügt custom-shop-class kurz vor dem Start der Produktschleife, weil ich die geschleiften Produkte gezielt ansprechen möchte.
Ich habe versucht, mit der Klasse zu zielen page-id-4 denn wenn ich in wp-admin über die “shop”-Seite fahre, gab es mir http://.../post.php?post=4&action=edit
Das Problem, das ich habe, ist wie folgt:
Nach dem, was ich herausgefunden habe, ist das dasselbe archive-product.php Die Vorlage wird auf den anderen verschiedenen Shopseiten verwendet und nicht nur auf der Hauptseite “Shop” (korrigieren Sie mich, wenn ich falsch liege), also wenn ich auf meine ziele custom-shop-class bei CSS wirkt es sich auf alle anderen Shopseiten aus, die dieselbe Vorlagendatei verwenden, und muss es nicht.
Es gibt keine eindeutige Kennung oder Klasse speziell für die Shop-Seite, so etwas wie die page-id-?? class im Body-Tag (wie bei den üblichen WP-Seiten).
Irgendwelche Vorschläge zur besten Methode/Lösung?
Legen Sie eine bedingte Anweisung fest, um nach der primären Shop-Seite zu suchen, und wiederholen Sie dann das betreffende div, wenn diese Anweisung als wahr ausgewertet wird.
Schön! Eine tolle (einfache) Lösung und logisch sinnvoll! Nur eine kurze Frage, was ist “is_shop”? Ist es eine Variable oder eine Funktion und wo finde ich sie im WC-Schema der Dinge?
– Mario
1. Juni 2016 um 21:25 Uhr
Fantastisch! Schön, dass Sie richtig gekommen sind. WooCommerce macht es auf diese Weise einfach, benutzerdefinierte Aktionen und Filter einzubinden. Wenn Sie der Meinung sind, dass diese Antwort Ihnen die gesuchte Lösung geliefert hat, können Sie sie gerne als die richtige Antwort markieren.
– UncaughtTypeError
1. Juni 2016 um 21:28 Uhr
Vergiss meine Frage. Ich habe erst jetzt den von Ihnen angehängten Link zu “bedingten Tags” gesehen. Genial, danke!
– Mario
1. Juni 2016 um 21:33 Uhr
Um Ihre Frage zu beantworten: is_shop() ist nur ein bedingtes Abfrage-Tag, das in enger Beziehung zur WordPress-Vorlagenhierarchie steht. Weitere Informationen finden Sie unter: codex.wordpress.org/Conditional_Tags
– UncaughtTypeError
1. Juni 2016 um 21:34 Uhr
Vielen Dank für Ihre Antwort. Ich muss etwas lesen, sehr zu schätzen.
– Mario
1. Juni 2016 um 21:35 Uhr
Neilgee
Verwenden des Filters body_class mit dem is_shop Bedingt können Sie die Hauptseite des WooCommerce-Shops anvisieren.
add_filter( 'body_class', 'woo_shop_class' );
// Add WooCommerce Shop Page CSS Class
function woo_shop_class( $classes ) {
if ( is_shop() ) // Set conditional
$classes[] = 'woo-shop'; // Add Class
return $classes;
}
Der Code geht in Ihre Themen functions.php Datei.
Sehr praktisch. Auf diese Weise wird dasselbe Endergebnis ohne Verwendung einer Vorlagendatei erzielt. Kann dies über functions.php implementieren, was genau das ist, was ich brauchte. Vielen Dank.
– inspiriertnz
6. März 2021 um 4:37 Uhr
Um auf der hier gegebenen Antwort aufzubauen, wie könnte ich noch weiter gehen und der Shop-Seite basierend auf der aktiven WPML-Sprache eine eindeutige Kennung hinzufügen? (Ich versuche im Grunde nur auf der deutschen Version der Shop-Seite eine Schriftgröße zu verkleinern – es erweist sich als überraschend schwierig)
13823700cookie-checkAusrichtung nur auf die Shop-Seiteyes