Ich habe die URL des Post-Typs umgeschrieben, und die Hauptschleife (example.com/post-type/) erzeugt eine teure Anzahl von Abfragen.
Also habe ich einen Post-Typ “cd” und Taxonomie “Künstler”, und die URL sind:
beispiel.de/cd
example.com/cd/artist/name-cd
beispiel.com/cd/artist
Der Code…
add_filter( 'post_type_link', 'cd_type_link', 1, 3 ); function cd_type_link($link,$post) { global $post; $post_type = 'cd'; $taxonomy = 'artist'; $terms = wp_get_object_terms( $post->ID, $taxonomy ); $slug = $terms[0]->slug; $post_name = $post->post_name; if ( $post->post_type == $post_type ) { $link = get_post_type_archive_link($post_type) ."/{$slug}/{$post_name}"; } return $link; }
………………………………………….. ….
add_action('init', 'new_add_rules'); function new_add_rules() { add_rewrite_rule( '^cd/([^/]*)/([^/]*)?', 'index.php?post_type=cd&cd=$matches[2]&artist=$matches[1]', 'top' ); add_rewrite_rule( '^cd/([^/]*)/?', 'index.php?post_type=cd&artist=$matches[1]', 'top' ); global $wp_rewrite; $wp_rewrite->flush_rules(); }
Die Schleife in archive-cd.php:
<a href="https://wordpress.stackexchange.com/questions/139437/after-rewriting-post-types-url-the-number-of-queries-has-increased-dramaticall/">
Ohne URL-Umschreibung sind die Abfragen gering. Mit der URL-Umschreibung sind die Abfragen hoch. Das Problem ist “the_permalink ()”, denn wenn ich die function the_permalink () verlasse, fällt die Anzahl der Abfragen deutlich ab.
Wie kann ich auflösen? Vielen Dank.