Fügen Sie den eingefügten Links innerhalb des_contents die Post- / Seiten-ID hinzu

Im Hauptinhalts-Editor von Beiträgen und Seiten können wir mehrere Links zu anderen Beiträgen / Seiten einfügen:

Hello World 

Was ich versuche, ist WordPress automatisch die ID von, in diesem Fall die Hello World Post auf den Link hinzufügen. Um zu versuchen, klar zu erklären, was ich will, stell dir vor, ich schreibe einen neuen Blogpost und lege einen Link innerhalb des neuen Blogposts auf meinen bestehenden Hello World Post.

 Hello World 

Wo im obigen Beispiel unser Hello World Post die ID 4 hat. Ich habe diese Antwort auf eine andere Frage untersucht, aber ich habe noch nicht ganz herausgefunden, wie ich die ID des Posts / der Seite, auf die ich verlinke, erhalte zum Ankerelement. Wenn wir mehr als einen Link haben, der auf den gleichen Post / die gleiche Seite verweist, ist es möglicherweise sicherer, stattdessen das rel-Attribut zu verwenden:

 Hello World 

Solutions Collecting From Web of "Fügen Sie den eingefügten Links innerhalb des_contents die Post- / Seiten-ID hinzu"

Dies ist die Lösung, die ich mit dem pointers von @bravokeyl gefunden habe

Also, um es klar zu stellen , fügt es die IDs nicht zu den Links hinzu, aber mit dem Link Slug kann ich die ID bekommen, die eine Lösung für das ist, was ich brauche. Ich verwende JS, um die URL in diese function zu übergeben und sie dann auf den Slug only zu get_page_by_path der innerhalb von get_page_by_path der dann die ID für diesen Post zurückgibt.

Es ist Teil dessen, woran ich gerade arbeite, um ein Ajax-Motiv zu erstellen. Dieser Ansatz triggers auch das Problem, mehrere Verbindungen mit denselben IDs zu haben.

 function local_post_init() { /** Get post ID from slug **/ $page_slug = $_POST['id']; $page_data = get_page_by_path(basename( untrailingslashit( $page_slug ) ) , OBJECT, 'post'); $page_id = $page_data->ID; /** $page_id holds our ID which we then use in our query */ $args = array( 'p' => $page_id ); $theme_query = new \WP_Query( $args ); post_template($theme_query); }