Ändern Sie den Abfrage-String in einen schönen Permalink

Ich habe einen Link http://www.example.com/my-account/view-pet/?pet-page=2

Ich möchte es entweder ändern

  • http://www.example.com/my-account/view-pet/pet-page/2 oder
  • http://www.example.com/my-account/view-pet/2

Hier ist, was ich bis jetzt versucht habe

function wpse12065_init() { add_rewrite_rule('view-pet(/([^/]+))?(/([^/]+))?/?', 'index.php?pagename=my-account/view-pet&pet-page=$matches[2]', 'top'); } add_action( 'init', array( $this, 'wpse12065_init' ) ); 

Ich kann die ?pet-page=2 mit get_query_var( 'pet-page' )

Ich habe auch das THIS durchgeschaut und es funktioniert immer noch nicht

Jede Hilfe würde sehr geschätzt werden

Solutions Collecting From Web of "Ändern Sie den Abfrage-String in einen schönen Permalink"

Versuchen Sie diese Rewrite-Regel in Ihrer functions.php

 function string_url_rewrite() { global $wp_rewrite; add_rewrite_tag('%pet-page%', '([^&]+)'); //In the rewrite rule you need to enter page slug and page id add_rewrite_rule('^Enter_Page_slug/([0-9]+)/?', 'index.php?page_id=Enter_Page_ID&pet-page=$matches[1]', 'top'); $wp_rewrite->flush_rules(true); } add_action('init', 'string_url_rewrite', 10, 0); 

Jetzt müssen Sie auch den farmat der URL im anchor tag ändern. Zum Beispiel Ihre vorherige URL

 http://www.example.com/my-account/view-pet/?pet-page=2 

Ändere diese URL in diese

 http://www.example.com/my-account/view-pet/2 

Um den Wert der pet-page verwenden Sie die folgende Methode

 //Storing the value of 'pet-page' in variable $value = get_query_var( 'pet-page' ); if($value){ //checking if variable has any value or not echo 'This is the value '.$value; } else { echo 'No Values'; } 

Hinweis: Wenn das nicht funktioniert, spülst du deinen Permalink. Dazu gehen Sie zu sentting -> permalink und speichern Sie die Änderungen.