Was für ein Gerät und welchen Browser verwendest du denn zum testen?
Und was genau funktioniert nicht?
Bei mir (Android 11, Chrome, 393px effektive Bildschirmbreite) scheint es zu funktionieren.
Um schreiben oder kommentieren zu können, benötigen Sie ein Benutzerkonto.
Sie haben schon ein Benutzerkonto? Melden Sie sich hier an.
Jetzt anmeldenHier können Sie ein neues Benutzerkonto erstellen.
Neues Benutzerkonto erstellenWas für ein Gerät und welchen Browser verwendest du denn zum testen?
Und was genau funktioniert nicht?
Bei mir (Android 11, Chrome, 393px effektive Bildschirmbreite) scheint es zu funktionieren.
Es ist in der Regel nicht vorgesehen, dass Shortcodes erweitert werden können.
Der einfachste Ansatz wäre in deinem Fall, dir die Definition des Shortcodes herauszusuchen, zu duplizieren, unzubenennen und entsprechend anzupassen bzw. zu erweitern.
Am besten machst du das dann innerhalb der functions.php deines Child-Themes oder als Add-Plugin.
Ganz theoretisch müsste man einen Shortcode auch über Hooks und Filter anpassen können. Das müsste dann aber in dem Plugin technisch so vorgesehen und vorbereitet sein.
Bei solchen Fragen ist oft folgendes Plugin hilfreich.
Vor allem, wenn man mit der Template-Hierarchie noch nicht so vertraut ist (oder man ein sehr komplexes Theme verwendet).
Ohne den Code selbst debuggen zu können ist es schwierig hier zu helfen. Aber kann es sein, dass du den Kaufpreis als String hinterlegst und deine Meta-Query deshalb nicht Zahlen, sondern Strings vergleicht?
Du könntest einfach die Order aufmachen und dem jeweils anderen Kundenkonto zuordnen und anschließend das "leere" Konto löschen. Oder hat der Nutzer sehr viele Order?
Von einem solchen Ordner habe ich noch nie gehört, oder ich übersehe ihn in meinen Installationen ;). Kannst Du mir da mal helfen?
htdocs eine gängige Bezeichnung für das Docroot im Apache. Je nach Konfiguration/Installation/Distribution sind z.B. auch httpdocs, public_html oder www üblich (und vermutlich gibt es auch noch weitere).
Das Verzeichnis hat also nicht direkt etwas mit Wordpress zu tun, sondern dürfte das Verzeichnis sein, in dem seine Wordpress-Installation lag.
Mal ganz blöd gefragt: Wieso lässt man WordPress lokal laufen? Webhosting kostet doch so wenig, dass sich der Aufwand doch gar nicht lohnt.
Also wir machen das eigentlich fast immer für den Hauptteil der Entwicklung, weil es einfach viel komfortabler ist, Dateien direkt zu bearbeiten, als sie immer auf den Server übertragen zu müssen. Außerdem arbeitet man ja eh oft mit Staging und Dev Versionen. Die kann man natürlich auch auf Subdomain einrichten, den Aufwand hat man aber eh (und wenn man weiß, wie es geht, ist die lokale Version und wenigen Minuten erstellt).
Ich kenne mich mit Gravity Forms leider gar nicht aus. Aber falls es keine andere Möglichkeit geben sollte, könntest du es mit der wrap() Funktion in jQuery lösen.
Ist aber eher als Notlösung zu sehen.
Ich würde behaupten, der Common Sense ist: Die DSE und das Impressum muss in allen Sprachen zur Verfügung stehen, in die auch der Content übersetzt ist.
So handhaben es praktisch alle Anwälte und Datenschutzbeauftragten, mit denen ich bislang zu tun hatte.
Das finde ich auch durchaus schlüssig und im Sinne der DSGVO. Die Website richtet sich an alle, die einer der Sprachen mächtig sind, in der die Website angeboten wird. Und folgerichtig muss in jeder dieser Sprachen die DSE und das Impressum vorliegen.
Wichtig: Das ist natürlich keine Rechtsberatung und auch keine rechtlich belastbare Aussage. Viel mehr ist das meine Meinung und meine Erfahrung aus meinem beruflichen Alltag (was natürlich nicht sicherstellt, dass es inhaltlich auch korrekt ist).
Klingt auf jeden Fall nach einem kreativen Workaround :)
Die Unterkategorien kannst du notfalls wahrscheinlich einfach per CSS ausblenden.
Genau kannst du es nur prüfen, wenn du eine DTD hast.
Bau dir doch mal eine ganz simple XML-Datei zum testen und schau, ob es damit funktioniert.
Alternativ kannst du auch deine XML-Datei hier hochladen.
Das ist vielleicht ne blöde Frage, aber ist deine XML-Datei validiert? Kann es sein, dass das Markup nicht korrekt ist?
Ich glaube, näher ausführen sprengt den Rahmen des Formus etwas.
Aber ich kann die ein paar grobe Hinweise zum Einstieg geben :)
1. Du brauchst einen Ort, an dem du eigenen Code ausführen kannst. Üblicherweise ist das entweder die functions.php deines Child-Themes (Wichtig: Nicht die Dateien des "normalen" Themes anpassen) oder eines eigenen Plugins.
Beide Varianten unterscheiden sich eigentlich nur in Details und sind sonst gleichwertig.
https://www.elmastudio.de/ein-wordpress-…-gehts-richtig/
https://codex.wordpress.org/Writing_a_Plugin
2. Jetzt brauchst du das Custom Field, mit dem du auswähslen kannst, welche Art von Produkt du hast. Wenn du eher wenig bis keine PHP-Kentnisse hast, würde ich dir das Plugin ACF empfehlen. Man kann das zwar auch händisch programmieren, ACF macht es aber wesentlich einfacher.
https://www.advancedcustomfields.com/
https://themeisle.com/blog/custom-fields-woocommerce/
3. Anhand des Wertes des Custom Fields entfernst du dann den "Add-To-Cart"-Button mit dem entsprechenden Filter. Hier ist ein Fall beschrieben, der deinem recht ähnlich ist und an dem du dich orientieren kannst:
https://stackoverflow.com/questions/1725…asable/48177212
4. Jetzt musst du stattdessen deinen Button bzw. Link einfügen, der auf das Kontaktformular verlinkt. Dafür kannst du (zum Beispiel) den "woocommerce_before_add_to_cart_button"-Hook verwenden. Das sieht dann in etwas so aus:
add_action( 'woocommerce_before_add_to_cart_button', 'wpde_before_add_to_cart_btn' );
function wpde_before_add_to_cart_btn(){
$markup = '<a class="wpde-button-class" href="https://dein-link.de">Angebot anfordern</a>';
echo $markup;
}
5. Den Link musst du dann noch mit CSS ein bisschen hübsch machen, so dass er aussieht wie der "normale" Add-To-Cart-Button.
Ganz wichtig bei all diesen Anpassungen: Mach auf jeden Fall regelmäßig Backups, bevor du etwas anfasst!
Wie gut sind denn deine PHP-Kenntnisse?
Ich würde es folgendermaßen lösen:
Du ergänzt ein Custom Field im Produkt (z.B. eine Checkbox) mit dem du festlegen kannst, ob das Produkt einen Preis und einen Warenkorb-Button haben soll oder einen "Angebot anfordern"-Button.
Diese Checkbox kannst du dann z.B. im Template abfragen und abhängig davon den einen oder den anderen Button ausgeben.
Alternativ zum Bearbeiten der Templates kannst du auch Hooks und Filter von Woocommerce verwenden (z.B. "woocommerce_is_purchasable" und "woocommerce_before_add_to_cart_button").
Habe das von WP Mail von WPForms zum testen aber 50 USD per Jahr ist viel am Ende.
Das Plugin ist eigentlich unbegrenzt kostenlos, solange du die Pro-Features nicht benötigst. Da du nichts weiter an bestimmten Anforderungen schreibst, müsste es für dich also auch eigentlich dauerhaft kostenlos sein (und wäre auch meine Empfehlung).
Wenn es "nur" über den Mailversand via SMTP geht, geht es allerdings auch relativ easy ganz ohne Plugin.
Hier ist es z.B. recht gut erklärt:
https://www.media-techport.de/blog/2020/02/e…en-ohne-plugin/
Wenn ich das richtig verstehe, besteht die Seite also schon und es wäre zu viel Aufwand die Bilder gegen Shortcodes zu tauschen.
Aber wäre es denn weniger Aufwand die Bilder aus der geklonten Website zu entfenren? Und wie stellst du sicher, dass niemand auf die Bilder zugreift, der nicht angemeldet ist? Oder reicht es, wenn nur die Pfade und Dateinamen nicht bekannt ist, die Bilder aber (theoretisch) von aussen erreichbar sind.
Man könnte auch versuchen, die Bilder im Content mit Regex gegen Shortcodes zu ersetzen. Ich befürchte aber, die Aufgabe wird aber nicht unbedingt einfacher, vor allem wenn kaum oder keine PHP-Kenntnisse vorhanden sind.
Standardmäßig ist so etwas mit Wordpress nicht möglich, da Medien (also auch Bilder) immer öffentlich sind.
Möglicher Ansatz (setzt aber zumindest rudimentäre PHP Kenntnisse voraus):
Du erstellst ein Verzeichnis, dass per htaccess vom Zugriff von aussen geschützt ist. Dort kommen dann deine Bilder rein.
Dann erstellst du einen Shortcode, der den Bildnamen als Attribut nimmt und dann prüft, ob der jeweilige Nutzer angemeldet ist. Ist das der Fall, lässt du das Bild durch den Shortcode ausgeben.
Existiert denn dein Webhosting-Vertrag noch? In dem Fall könntest du Glück haben, und der Hoster hat noch ein Backup.