TKCC
Live-Seite:
https://www.thyssenkrupp-carbon-components.com
Backend-Login:
https://www.thyssenkrupp-carbon-components.com/wp-admin
Dev-Seite (Staging):
https://dev.thyssenkrupp-carbon-components.com
(pwd: mub-admin / wUw***..........)
Backend-Login:
https://dev.thyssenkrupp-carbon-components.com/wp-admin
Einstellungen der Staging Seite
Database: d02fdf80
Database Prefix: wp_
Directory: /www/htdocs/w019d7de/dev/
URL: https://dev.thyssenkrupp-carbon-components.com
Produkte nicht kaufbar machen (Stand November 2021)
- Seiten Warenkorb & Kasse auf Privat gestellt (damit nicht aufrufbar)
- Impreza > Kopfbereiche > Warenkorbsymbol unten rechts überall raus (auch englische Templates)
- style.css angepasst (.cHinweisBox + .cLinkHinweisBtn)
- footer.php angepasst (jQuery(document).ready(function($){... --> für Hinweisbox die bei Produktseiten statt Preis & Kaufbutton erscheint)
- functions.php (Z:121+122 für Ausblenden Warenkorb Button)
- FVM "Clear Everything" Cache leeren in beiden Sprachen nicht vergessen!
Neuerungen (Stand August 2021)
- neue Startseite mit mehr Infos
- Produktseiten mobil optimiert (Größe von Zeilen mit Hintergrundbild auf Tablet/Smartphone begrenzt & Abstandsframe in diesen Geräten ausgeblendet)
- SVG Integration für Reiter
- CSS Anpassungen
- Caching / Minify Plugins (Cache Enabler, Fast Velocity, Webcraftic Assets manager) --> zerstört manchmal englische Seiten, dann Plugins deaktivieren & Schritt für Schritt neu aktivieren
- Bestellungen aus dem europäischen Ausland unterbunden
- Facebook Pixel Integration
Bestellungen aus dem europäischen Ausland unterbunden - ToDo
-
disable rest api settings anpassen
-
style.css (#cFormPopupLink)
-
function.php
getI18NDescription()
add_filter( 'wpcf7_posted_data', 'format_cf7_message' ); --> Formularfunktion hidden field mit produktinfo anhängen, nur bei query-forms, nicht bei allen Kontakfforms
-
footer.php
switch(ICL_LANGUAGE_CODE) { $sTitleFormPopup $sFormPopupShortcode
function showFormPopup() {
function hideFormPopup() {
jQuery( document ).on( "click", "#cFormPopupLink", function() {
jQuery( document ).on( "click", "#FormPopup .close", function() {
-
Formulare: (sales-carbon-components@thyssenkrupp.com)
query-form-de / query-form-en mit Weiterleitung auf Dankesseite
-
Seiten:
Vielen Dank für die Anfrage -> Duplizieren "Vielen Dank für Ihre Produktanfrage"
-
Seitenleiste:
Sprachen löschen
Seitenleiste Sales de/en anlegen (Mail: sales-carbon-components@thyssenkrupp.com)
-
DB Anpassungen:
wp_options --> wccbp_paypal / wccbp_stripe / wccbp_bacs / ccbp_inquiry_gateway --> Ländercodes in JSON Array, i fortlaufend, neu speichern im Woocoomerce WCCBP "heilt" Reihenfolge
Facebook Pixel Integration
- Facebook Pixel über FB Business Manager bzw https://www.facebook.com/events_manager2 angelegt (Unternehmenskonto TKCC zu Grit verknüpft)
- unter Borlabs Cookie --> Marketing --> Facebook Pixel anlegen (Pixel ID eintragen, Code einfügen)
- Plunings "Facebook for WooCommerce" & "Facebook for WordPress" installieren, einrichten & mit FB verbinden
- damit werden Standard-Events (Kaufen, Kontakt, Warenkorb etc) getrackt
- bei den Formularen als Aktion --> Javascript einfügen --> fbq('track', 'Contact');
Aktuelle Probleme bei WPML & Produken
Derzeit (26.01.2021) kam es, wenn man eine Produktübersetzung via WMPL Editor lädt, zu folgenden Meldungen:
Warning: array_filter() expects parameter 1 to be array, string given in /www/htdocs/w019d7de/dev/wp-content/plugins/woocommerce-multilingual/inc/translation-editor/class-wcml-editor-ui-product-job.php on line 604
Warning: Invalid argument supplied for foreach() in /www/htdocs/w019d7de/dev/wp-content/plugins/woocommerce-multilingual/inc/translation-editor/class-wcml-editor-ui-product-job.php on line 604
Ursache scheint bei den custom fields (additional information & us_title) zu liegen
In der Datei (wp-content/plugins/woocommerce-multilingual/inc/translation-editor/class-wcml-editor-ui-product-job.php) ist als Bugfix folgender Hack an der Problemstelle möglich: if(is_array($custom_fields)) {...}
Problem ließ sich eventuell im DEV (nicht im LIVE) aber auch lösen via WPML Fehlerbehebungsseite (wp-admin/admin.php?page=sitepress-multilingual-cms%2Fmenu%2Ftroubleshooting.php) und folgende Schritte:
- Clear the cache in WPML
- Remove ghost entries from the translation tables
- Fix element_type collation
- Assign translation status to duplicated content
- Set language information
- Fix terms count
- Fix post type assignment for translations
Schritte für neues Produkt
- neue Produktseite anlegen (am besten als Duplikat einer passenden bestehenden)
- https://dev.tkcc.clients.mubsolutions.com/wp-admin/edit.php?post_type=product
- Permalink auf Namenskonvention einstellen (z.B. produkt/motorrad/honda-cbr-1000rr-stil1/)
- am besten alles im Text-Modus einpflegen, dann auf visuell umstellen und das Bild anklicken und noch einmal richtig via "Medien einfügen" hinzufügen + Link auf "Mediendatei" (damit er keinen Murks bei den Übersetzungen macht + darauf achten, dass IDs von kopierten älteren Produkten nicht mit übernommen werden, sonst passiert der Bild-Zuweisungs-Müll)
- Produktbild zuweisen
- bei Produktdaten > Varianten die Einzelbilder und -preise (NETTO) für Vorderrad, Hinterrad, Radsatz einpflegen
- speichern & kontrollieren
- via WPML Editor Automatismus übersetzen, entsprechende Felder einpflegen
- danach trotzdem noch einmal manuell in jede Produktseite der entsprechenden Sprache gehen und Permalink manuell anpassen (z.B. product/motorcycle/honda-cbr-1000rr-r-style1/)
- neues Produkt auf Produktübersichtsseite einpflegen (Impreza > Pageblock > Produktauswahl)
- Versandseite Tabelle um neues Produkt erweitern
[entfällt aktuell, da Versanddabelle auf Versandseite gelöscht werden sollte um Pflegeaufwand zu minimieren]
Schritte für neuen News-Beitrag
- neuen Beitrag anlegen, Überschrift, Text entsprechend einpflegen (Textmodus)
- Haken entfernen bei Medienanhänge (Hochgeladene Medien in Übersetzungen duplizieren & Artikelbild in Übersetzungen duplizieren --> macht Murks in den Übersetzungen wenn aktiviert, also weg damit)
- Bilder hochladen & Beitragsbild zuweisen
- Tabelle mit zwei Bildern unten am besten aus einem anderen Beitrag kopieren & im Textmodus einfügen + darauf achten, dass IDs von kopierten älteren News nicht mit übernommen werden, sonst passiert der Bild-Zuweisungs-Müll
- auf Visuell schalten und Bilder dennoch noch einmal richtig via Medien einfügen zuweisen + Link auf Mediendatei
- Kategorien richtig einstellen (standardmäßig Haken bei Allgemeien & Motorrad)
- speichern & kontrollieren
- Übersetzung via WPML Editor Automatismus anlegen, entsprechende Felder einpflegen
- danach trotzdem noch einmal manuell in jede Beitagsseite der entsprechenden Sprache gehen und Beitragsbild manuell anpassen (falls es nicht doch automatisch funktioniert hat)
- Kontrolle, das Bilder im Beitrag unten die richtigen sind (manchmal sind da trotzdem die falschen)
- Kontrolle ob Newsseite korrekt, ob News in Newsliste erscheint und ob News in Slider auf Motorradseite (oder PKW je nach Thema) erscheint + alle Sprachen prüfen
- CANONICAL-Link auf den jeweiligen Newsbeitrag in EN setzen, für alle Sprachen außer DE und EN
Schritte bei Änderungen (DEV -> LIVE)
- Achtung: htaccess Passwortschutz ist auf DEV aktiv, bevor Änderungen gemacht werden den wieder raus nehmen (weil manche Updates sonst nicht funktionieren) und bei den Staging Settings den erlaubten Betrachter wieder von "Alle" auf "Admin" stellen
- Wenn TKCC Vorschau auf DEV bekommen soll dann bei Staging Settings den erlaubten Betrachter auf "Alle" stellen und dev-Seite via htaccess Schützen
- Zunächst Backup erstellen (via All-in-One WP Migration -> Exportieren nach Datei und/oder via all-inkl DB (d02fdf7f) Export)
- ggf sicherheitshalber alle Bestellungen exportieren (WooCommerce -> Order Im-Ex als .csv)
- ggf Staging Seite auf neusten Stand bringen (WP Staging Pro -> Update Staging Site), Achtung: Staging & Live Seite müssen immer selbe WP Version haben!
- nachdem DEV Seite auf LIVE Stand gebracht wurde kann Fehlermeldung oder 505 Error kommen
- dazu Einstellungen > Permalinks auf "Tag und Name" & Benutzerdefinierte Basis auf "/produkt/%category%/" & speichern
- und/oder die htaccess anpassen (oft verkackt der was bei RewriteRule ^index.php$ - etc)
- auch kontrollieren, dass die Versandklasse Fahrrad weiterhin auch in der Übersetzung vorhanden sind (manchmal verschwindet dies --> https://dev.tkcc.clients.mubsolutions.com/wp-admin/admin.php?page=wpml-wcml&tab=product_shipping_class) wenn weg in Tabelle wp_icl_translations de gerade ziehen (siehe info weiter unten)
- Änderungen auf Staging Seite ausführen
- wenn alles getestet Staging Seite auf Live Seite übertragen (WP Staging Pro -> Push to Live Site)
- darauf achten, dass in der Zwischenzeit hinzugekommene Bestellungen nicht veloren gehen (ggf nochmal von Live Seite exportieren & importieren)
- dazu Woocommerce Import/Export Tool verwenden und CSV exportieren
- es empfiehlt sich, alle bis auf die neuen Einträge zu löschen
- oft gibt es Probleme, weil die vergebene order_id eine bereits bestehende post_id hat, daher in der DB schauen, welches die letzte post_id ist und die Nummer ab dieser neu vergeben (sonst kann er die Bestellungen nicht importieren) ODER einfach diese Spalte leer lassen ""
- anschließen muss die Rechnungsnummer via Klick neu generiert werden und ggf manuell das Rechnungsdatum angepasst werden
- unbedingt bei den neu importieren Bestellungen die angezeigten Preise kontrollieren, regelmäßig entsteht dort Mist bei Gesamtsumme, VAT, Versandkosten...!
- DEV DB > wp_postmeta (Suche nach post_id der Bestellung) > vergleichen mit LIVE DB
- Felder: _order_tax, _order_total, _order_version, vat_compliance_vat_paid von LIVE übernehmen
- wenn Bestellung noch nicht abgeschlossen kann bei Bestellung via Button die Neuberechnung in Gang gesetzt werden (ggf Status Bestellung temporär ändern), die die Preise heilen sollte
- es hilft zusätzlich (wenn nach wie vor Versand-Preis im rechten Kasten falsch) bei der Bestellung wo Flat rate steht auf den Stift zu gehen und manuell den Preis (ggf die 0,00) zu korrigieren durch Eintragung des richtigen Wertes
- speichern & dann nie wieder anfassen ;-)
- Nachdem DEV->Live gemacht wurde im Quellcode einer Seite checken, ob irgendwie dev.tkcc auftaucht, wenn ja ggf. das "better search replace" Plugin benutzen ("dev.tkcc.clients.mubsolutions.com" ersetzen mit "www.thyssenkrupp-carbon-components.com" ), falls das nichts bringt in der DB nach dev.tkcc suchen und versuchen, manuell die Eintragungen zu ändern (meist in wp_options)
Achtung bei Änderungen am Theme und Woocommerce
- unter wp-content/themes/Impreza-child/woocommerce gibt es einige Spezialdateien die bei Update der core-files verglichen und ggf angepasst werden müssen
zu beachten bei anderen Sprachen bzw allgemein
- diese Box mit Adresse etc bei Kontakt ist bei Widgets zu finden, dort ein neues anlegen und in der entsprechenden Sprache einblenden (Achtung: bei Übetragung von DEV auf LIVE verschwindet ggf die Einstellung)!
- bzgl. .wo Sprachdateien: bei Übetragung von DEV auf LIVE verschwinden diese ggf und müssen neu hochgeladen werden + auch bereits angelegte String Übersetungen werden "vergessen" und müssen noch einmal neu gespeichert werden!
- manchmal passiert bei den Produktlinks (Custom Permalinks) abfuck, diese immer kontrollieren und auch beim WP Plugin Custom Permalinks kontrollieren, dass dort nur so viele Einträge wie angelegte Produkte x angelegte Sprachen vorhanden sind
- Slide Anything Slider für Videoslider auch in anderen Sprachen anlegen & Shortcode einbinden (https://www.thyssenkrupp-carbon-components.com/wp-admin/edit.php?post_type=sa_slider)
- Slide Any Post Slider für Newsbeiträge (Kategorie Allgemein oder PKW) auch in anderen Sprachen anlegen & Shortcode einbinden
~~* Revolution Slider (wird nicht mehr verwendet) für News global angelegt, unterscheidet sich nur im Weiterlesen Button, dies über CSS content ausgesteuert, weil RevSlider mit WPML Funktionalität Mist macht
- Menüs auch in anderen Sprachen anlegen (https://www.thyssenkrupp-carbon-components.com/wp-admin/nav-menus.php?lang=de&admin_bar=1)
- metanavi_de/en/it --> Kopfbereich Siteheader-de ohne Unternavi
- menu-tkcc-shop-de/en/it --> Kopfbereich Siteheader-de
Produkt-Link-URL Namens-Konvention:
- /de/produkt/motorrad/yamaha-yzf-r1-stil1/
- /en/product/motorcycle/yamaha-yzf-r1-style1/
- /it/prodotti/motociclette/yamaha-yzf-r1-stile1/
Dran denken:
-
Impreza --> Grid Layouts, Kopfbereiche, Seitenblöcke...
-
Formulare
-
Borlabs Cookie
-
Bei Problemen mit Produkten bzw. wenn diese neu von Live auf Dev übernommern werden sollen:
- alle Produkte löschen
- csv von Live importieren
- nachträglich Pfade in DB von Live auf Dev ändern
-
Dinge wie "Es gelten..." [link-terms] Paypal Text --> String Übersetzung --> admin_texts_woocommerce_gateway
-
Produkte --> Eigenschaften --> Lieferzeit --> benutzerdef. Taxonomien --> übersetzbar machen --> dann über WPML einfügen
-
"Weiterlesen" Button bei News Liste zu finden als Grid Layout Template im Impreza
-
"Artikel lesen" Button bei News Slider werden über CSS gesetzt
html .cLinkBtn:after {
content: 'Artikel lesen'
} html ... html ...
-
Bei Zuordnungsproblemen Datenbaktabelle "wp_icl_translations"
- überall wo language_code=de --> source_language_code=NULL
- überall wo language_code=en --> source_language_code=de
- überall wo language_code=it --> source_language_code=de
- UPDATE wp_icl_translations SET source_language_code = NULL WHERE language_code LIKE 'de'
- UPDATE wp_icl_translations SET source_language_code = 'de' WHERE language_code NOT LIKE 'de'
-
Dinge wie "Einzelrad" in DB ändern --> wp_terms 552,553,554
-
"Heilung" Zahnrad wenn Beiträge nicht speicherbar:
- WPML -->Übersetzungen --> Übersetzungsschlange --> Beitrag anhaken --> zurücktreten
- Beitrag an sich öffnen und speichern
-
für die Anzeige der kleinen grünen Box unten links (wenn Cookie-Box akzeptiert) ist Änderung in theme/impreza-child/footer.php nötig
-
wenn Status Beitrag, Seite etc auf "muss geupdatet werden" in Originalsprache nervt und nicht anders zu beheben ist:
- Datenbank wp_icl_translation_status --> needs update = 0
-
Tabs bei Produktansicht sind in functions.php (auch Übersetzung) hart hinterlegt! (=wp_rename_woocommerce_product_tabs)
-
wenn im News-Slider ein Beitrag mit Überschrift erscheint wo dann ein Umbruch (oder andere Trennung) fehlen würde, einfach manuell bei dem Beitrag den Text-Auszug anlegen (mit Doppelpunkt getrennt und ... am Ende)
Bei Problemen nach Staging (Dev auf Live) mit fehlenden Produktlinks:
- Produkte neu speichern
- Übersetzungen aktualisieren
- auf Links (Custom Permalink) achten + ggf. bei Einzelprodukt korrigieren
Problem bei Plugin updaten
Wenn über Plugins -> Aktualisieren: Aktualisierung fehlgeschlagen: Download fehlgeschlagen. Unauthorized
Dann über https://www.thyssenkrupp-carbon-components.com/wp-admin/update-core.php
Plugin anhaken -> aktualisieren
ggf vorher Linzenz neu Aktivieren (zB https://www.thyssenkrupp-carbon-components.com/wp-admin/admin.php?page=wpstg-license)
Hinweis Slide Any Post Plugin (für Newsbeitrag Slider)
- dort ist der Post mit derm Weihnachtskram herausgenommen (ID NOT IN...) weil das auf Startseite nicht erscheinen soll
- bei unterschiedlichen Sprachen dran denken, dass jeweils die (übersetzte) Kategorie "allgemein" eingestellt sein muss (sonst kann er nichts anzeigen)
- darauf achten (bei kopieren für neue Sprache) das Anzahl (der anzuzeigenden Beiträge) von 10 auf 5 eingestellt werden muss!
Versandkosten anpassen
- Woocommerce > Einstellungen > Versand > Versandzonen (je nach Land) / Versandklassen (je nach Produkttyp)
Anpassungen für Ausgabe Produktansicht Fahrrad anders als Motorrad
- wp-content\themes\Impreza-child\woocommerce\single-product.php
- wp-content\themes\Impreza-child\woocommerce\content-single-product-fahrrad.php
- wp-content\themes\Impreza-child\woocommerce\single-product\tabs\additional-information.php
Canonical Links kontrollieren nach Staging --> Live
- Alle Canonicals müssen immer mit einem absolutem Pfad auf sich selber zeigen
- Falls nur / eingetragen ist dann im Menü unter ,,Werkzeuge" --> ,,Yoast Test" --> ,,Reset Indexables" ausführen
- Links erneut kontrollieren, News-Beiträge kontrollieren, alle Beiträge (außer DE & EN) müssen mit dem Canonical Link auf die EN Beiträge zeigen, sonst erkennt Google die Seiten als Duplikate an
WP richtig updaten
- Backup erstellen
- Alle Plugins AUSSER WooCommerce und seine Erweiterungen updaten (Staging Seite)
- Die Website kontrollieren
- eventuell Themes updaten (falls nötig oder möglich)
- Die Website kontrollieren
- WordPress selbst updaten (falls verfügbar)
- Die Website kontrollieren
- Erst jetzt Erweiterungen von WooCommerce und dann WooCommerce
- DEN SHOP TESTEN
- Die Live Seite updaten
WooCommerce Bestellungen STRIPE Problem
- falls auf der LIVE Seite eine neue Bestellung aufgegeben wird die noch nicht auf dem DEV vorhanden ist und mit STRIPE bezahlt wird, werden nicht alle Daten beim exportieren dieser Bestellung übernommen
- LIVE sowie DEV DB öffnen und in wp_postmeta nach der jeweiligen ID suchen
- fehlende Zeilen in der DEV DB ergänzen durch die aus LIVE DB
- z.B. __stripe_fee / _transaction_id / _stripenet ....
Produkte mit Mattlack Option
- es ist das Plugin "WooCommerce TM Zusätzliche Produktoptionen" aktiv, damit weiter Produktoptionen (Lack) zur Auswahl stehen (Plugin hat globale Optionen bzgl. Darstelllung, Priesberechnung etc)
- in der "Webshop Input matt.xlsx" ist aufgelistet, welche Produkte die Mattlack-Option haben
- Einstellung bei Produkt > Zusätzliche Produktoptionen
- am besten via CSV Import (Export von bestehender Konfiguration) eimfügen (Element neu anlegen)
- beachten, dass bei Englisch die Überschrift (Labeloptionen) und Optionsbezeichnungen (Allgemeine Optionen) übersetzt werden müssen (Produkt in Englisch im normalen Backend öffnen und anpassen, nicht via WPML)
- Preise ohne MwSt angeben, Bilder getrennt als Klein- und Großversion zuweisen
- beachten, dass beim Reiter "Bedingtte Logik" die richtigen Dinge eingestellt sind (erstes "Variationen" > "ist" > "radsatz-vorder-u-hinterrad" (englisch enstprechend übersetzt))