Der ‘post_type_link’-Filter funktioniert nicht

Ich weiß, es sollte gut funktionieren, ich weiß nicht, ob das ein neuer Bug oder so ist. Um das zu bestätigen, habe ich ein neues WordPress mit dem Standard-Theme installiert. Ich habe ein kleines Plugin wie folgt erstellt:

ID ); } add_action('init', 'sfsafsdsf_test'); function sfsafsdsf_test(){ wp_die(get_permalink(1)); } 

Aber aus irgendeinem Grund zeigt es immer noch:

http://example.com/2016/06/22/hello-world/

Lass es mich wissen, wenn ich etwas falsch mache.

Bearbeiten

Meine Sorge ist, dass obige Code sollte dies ausgeben (oder lassen Sie mich wissen, wenn ich etwas falsch mache):

 http://example.com/temp-tests/1 

Wenn ich “output” sage, meine ich, der Permalink für postID # 1 sollte so sein.

Bearbeiten 2

Nein, dies ist kein benutzerdefinierter Post-Typ. Ich verwende dafür den Standard “post”.

Solutions Collecting From Web of "Der ‘post_type_link’-Filter funktioniert nicht"

Es ist kein Fehler. Wie @LuisSanz darauf hingewiesen hat, wird post_type_link nicht für den integrierten post Post-Typ verwendet. Es wird nur für benutzerdefinierte Post-Typen verwendet.

Überfliegen get_permalink() function get_permalink() . Sie werden feststellen, dass WordPress den post_type_link Filter nicht verwendet, sondern den post_link Filter verwendet. Es bedeutet, dass Sie einen falschen Filter verwenden.

Dann sollte post_type_link in post_link werden, um das Problem zu beheben:

 add_filter('post_link', 'wpse230567_filter_post_link', 1, 2); function wpse230567_filter_post_link($link, $post = 0) { return home_url('temp-tests/' . $post->ID); }