Posts by cc_dev

    Hallo, weißt du schon, was SwissChem genau unter Altersprüfung versteht? Reicht eine Selbstauskunft im Checkout, also Geburtsdatum plus Bestätigung als Pflichtfeld nur bei den betroffenen Kategorien, oder muss das Alter wirklich nachgewiesen werden, etwa per Ausweis? Davon hängt ab, ob ein Checkout-Feld genügt oder ob du einen externen Prüfdienst anbinden musst.

    Zu den beiden Punkten kann ich nichts Belastbares sagen, Zahlen zu den Abmahnungen habe ich nicht. Ich wäre da aber vorsichtig: das BFSG wird in erster Linie über die Marktüberwachungsstelle durchgesetzt, meist auf Beschwerde hin, und nicht über Abmahnungen von Mitbewerbern. Wer dazu Statistiken zitiert, hat sie meistens auch nur gehört.

    Praktisch: Generator ja, aber nur für das Gerüst. Der inhaltliche Kern der Erklärung ist die Liste der Punkte, die eben nicht konform sind, samt Begründung, und das kann ein Generator nicht wissen, das kommt aus einer Prüfung. Ohne diese Liste ist die Erklärung formal vorhanden und trotzdem unvollständig, und genau das ist der Teil, der auffällt.

    Aktuell halten wir sie über den Deploy und nicht über gute Vorsätze: einmal im Monat läuft ein automatischer Check (axe bzw. pa11y) über die Kundenseiten, der Report wird abgelegt, und das Datum in der Erklärung kommt aus diesem Lauf. Alles, was am Markup dreht, also neues Template, neues Plugin, Theme-Update, löst zusätzlich eine Prüfung aus. Und wie beim Datenschutz vorher schriftlich trennen: was der Kunde selbst ändert, dokumentiert der Kunde.

    Die Screenshots bestätigen es: das Feld „Titelform“ taucht in der Schnellbearbeitung nur auf, wenn is_post_type_viewable() für den Beitragstyp wahr ist, also public bzw. publicly_queryable gesetzt sind. Die Abfrage steht in wp-admin/includes/class-wp-posts-list-table.php direkt vor dem Eingabefeld post_name. Directories Pro meldet den Eintragstyp nicht so an, deshalb fehlt es dort und ist bei den normalen Beiträgen da.

    Ändern lässt sich der Slug trotzdem, nur nicht über das Backend-Formular. Per WP-CLI in einer Zeile: wp post update 123 --post_name=neuer-slug. Die 123 ist die ID, die beim Bearbeiten des Eintrags in der Adresszeile hinter post= steht.

    Ohne SSH-Zugang bleibt für Directories Pro nur noch die eine Frage übrig: ob sie im Eintragsformular selbst ein eigenes Feld für die URL vorsehen. Auf WordPress-Seite ist nichts kaputt.

    Wenn /wp-admin/ und wp-login.php wirklich beide dicht sind, dann kommt die Mail nicht von dort. retrieve_password() lässt sich von jedem Formular im Frontend auslösen, und das häufigste davon ist die WooCommerce-Seite /mein-konto/passwort-vergessen/ — eine ganz normale Seite, von deinem htaccess-Schutz überhaupt nicht betroffen. Dasselbe gilt für Login-Formulare aus Theme oder Page-Buildern (Elementor Pro, Ultimate Member und Konsorten).

    Schau dir die Mail selbst an: der WordPress-Standardtext und der von WooCommerce unterscheiden sich deutlich, damit siehst du sofort, welcher Weg benutzt wurde. Und im Access-Log nach POST-Requests suchen, einmal auf wp-login.php und einmal auf die Konto-Seite. Eins von beiden taucht auf, und dann weisst du, wo du ansetzen musst.

    Falls ausser dem einen Admin niemand ein Passwort zurücksetzen muss, ist der einfachste Riegel: add_filter( 'allow_password_reset', ... ) und für Benutzer mit manage_options false zurückgeben. Damit läuft die Anfrage für Administratoren ins Leere und es geht gar keine Mail mehr raus, egal über welches Formular sie kommt.

    Die Box „Titelform“ blendet WordPress nicht per „Ansicht anpassen“ aus, sondern registriert sie gar nicht erst, wenn der Beitragstyp ohne eigene öffentliche Permalink-Struktur angemeldet ist (public bzw. rewrite auf false). Directories Pro baut die Eintrags-URLs über eigene Routen, deshalb fehlt der Kasten genau bei diesem Beitragstyp, während er bei den normalen WordPress-Beiträgen da ist. Das ist also kein Schaden an Ihrer Installation, und ein Neuaufsetzen des Verzeichnisses ändert daran nichts.

    Zwei Dinge, die Sie ohne Code prüfen können: In der Eintragsliste auf „QuickEdit“ gehen – das Feld „Titelform“ steckt dort in der Zeile selbst und hängt nicht an den Screen Options. Steht es da und lässt es sich speichern, können Sie den Slug darüber ändern.

    Und dass der Permalink-Wechsel nichts ändert, ist normal: der Slug (post_name) wird beim ersten Speichern festgeschrieben, die Permalink-Struktur bestimmt nur das Muster drumherum, nicht den bereits gespeicherten Slug.

    Zur Blätterung: dass Seite 2 wieder auf Seite 1 landet, ist das typische Bild, wenn die Liste per eigener Query auf einer Seite (Page) statt auf einem Archiv läuft. Dort steht die Seitenzahl in get_query_var('page') und nicht in 'paged', die Query bekommt also immer die 1. Schnelltest: hängen Sie an die URL von Hand /page/2/ bzw. ?paged=2 an. Kommt so die zweite Seite, liegt es nur an den erzeugten Links; bleibt es die erste Seite, liegt es an der Query – und das gehört dann tatsächlich zu Directories Pro.