Ich möchte den Slug für jeden meiner benutzerdefinierten Post-Typen als Post-ID-Nummer festlegen. Wie mache ich das? Keiner meiner Beiträge akzeptiert Posttitel, Inhalt oder irgendetwas anderes – sie benötigen andere Daten, die einfacher als Meta-Box angezeigt werden können. Um zu veranschaulichen:
Ich habe eine CPT (‘eduation’). Wenn ich den Beitrag in die database einschicke, hat er eine ID von sagen wir 15. Wenn ich mysite.com/edu/15 besuche (‘edu’ ist der Post-Slug, den ich gesetzt habe), sehe ich die Details von diesem Beitrag in meiner Website.
Ich weiß, ich könnte einfach die Permalinks ändern, aber ich möchte, dass sie so bleiben wie sie sind; Ich möchte nur die für diese benutzerdefinierten Post-Typen ändern. Entschuldigung, wenn die Frage verwirrend ist. Es ist wahrscheinlich sehr einfach zu beantworten, aber ich weiß wirklich nicht, was die Antwort ist.
Hier ist ein Weg, wie man den Slug ändert:
add_action('wp_insert_post', 'change_slug'); function change_slug( $post_id ) { // Making sure this runs only when a 'eduation' post type is created $slug = 'eduation'; if ( $slug != $_POST['post_type'] ) { return; } wp_update_post( array( 'ID' => $post_id, 'post_name' => $post_id // slug )); }