Wie checke ich, ob ein custom post type editierbar ist?
custom post type is editable
-
-
- Gerade eben
- Anzeige
Hallo!
Wenn du gerade an deiner Website arbeitest oder dein aktuelles Hosting überdenkst: Wir betreiben mit NetzLiving eine Hosting-Plattform, die speziell auf Performance, Sicherheit und einfache Verwaltung ausgelegt ist.
- ✔️ Schnelle Ladezeiten (optimiert für WordPress & Co.)
- ✔️ Deutsche Server & DSGVO-konform
- ✔️ Persönlicher Support (kein 0815-Ticket-System)
-
Ich verstehe die Frage nicht.
Erklär mal genau was dein Problem ist und wie es dazu kam. -
Ich muss codeseitig prüfen ob ein custom post type editiert werden kann, für eine wordpress plugin entwicklung.
es gibt custom post types, die die option haben nicht editiert werden zu können.gibt es nicht get_post_options um das zu prüfen? mir fällt die richtige funktion nicht mehr ein.
wäre für hilfe dankbar.viele grüße,
lf11 -
Ich entwickel das Plugin "Last Used Items": https://wordpress.org/plugins/last-used-items/
Dies listet die 10 zuletzt verwendeten Posts, Pages und Custom Post Types auf.
Verwendet man das Plugin Contact Form 7 werden allerdings derzeit auch die Formulare aufgelistet,
die den Custom Post Type "wpcf7_contact_form" verwenden.
Klickt man auf einen solchen Eintrag erscheint leider die Fehlermeldung "Sorry, you are not allowed to edit posts in this post type.".
Der Custom Post Type ist also nicht editierbar. Ich muss vorab codeseitig prüfen, ob der Post Type editierbar ist, damit dieser nicht in der Liste auftaucht.
@SirEctor: weisst Du da Rat? Das wäre super.Viele Grüße und einen schönen Tag,
lf11 -
Mir ist eine Funktion in dem Kontext wieder eingefallen: post_type_supports()
Damit kann man eine Reihe von Features für einen Post Type checken.https://developer.wordpress.org/reference/func…_type_supports/
Leider lässt sich damit nicht direkt checken, ob ein Post Type editierbar ist.
Eine ähnliche Frage: wie kann ich codeseitig prüfen, ob ein Post im Papierkorb ist? Edit: letzteres gefunden. Mit if(get_post_status($post_id) != 'trash'){} lässt sich prüfen, ob ein Post im Papierkorb ist.
Viele Grüße,
lf11 -
Ich muss codeseitig prüfen ob ein custom post type editiert werden kann,
Verwende sowas wie das hier, Pseudocode, ungeprüft.Codeif ( post_type_exists( $dein_post_type ) ) { ... $post_type = get_post_type_object( $dein_post_type ); .. if ( current_user_can( $post_type->cap->edit_posts ) ) { ...
Und schau Dir die Links zum Bearbeiten der CF7 Einträge mal genauer an, vergleiche den Link, den Du generierst mit dem Link den das Plugin im Backend generiert.Ergänzung: Und noch ein Tipp, schreibe keine Werte in die Datenbank, die Du über ein Cookie oder GET Parameter bekommst... :oops:
-
Danke, das hat was gebracht. Thread kann geschlossen werden.
Viele Grüße,
lf11 -
Poste doch noch Deine Lösung, dann bringt es auch anderen was die ähnliche Fragen haben.
Jetzt mitmachen!
Sie haben noch kein Benutzerkonto auf unserer Seite? Registrieren Sie sich kostenlos und nehmen Sie an unserer Community teil!