Ich denke das ist schnell:
Ich habe:
Wenn ich example.com/food?fruits=Apple,Cherry eingebe, erhalte ich alle Einträge in Fruits mit den Begriffen Apple und Cherry , das ist großartig!
Aber ich würde gerne example.com/food/fruits/Apple,Cherry oder example.com/food/Apple,Cherry eintippen das gleiche Ergebnis.
Ich habe verschiedene Permalink- und Rewrite-Plugins für benutzerdefinierte Posts ausprobiert, aber nichts hat geholfen.
Vielen Dank,
David
Sie müssen die Linkstruktur mithilfe der Filter post_link
und post_type_link
aufbauen:
add_filter('post_link', 'territorio_permalink', 10, 3);
add_filter('post_type_link', 'territorio_permalink', 10, 3);
function territorio_permalink($permalink, $post_id, $leavename) {
if (strpos($permalink, '%territorio%') === FALSE) return $permalink;
// Get post
$post = get_post($post_id);
if (!$post) return $permalink;
// Get taxonomy terms
$terms = wp_get_object_terms($post->ID, 'territorio','orderby=term_order');
if (!is_wp_error($terms) && !empty($terms) && is_object($terms[0]))
$taxonomy_slug = $terms[0]->slug.'/'.$terms[1]->slug; //build here
else $taxonomy_slug = 'not-yet';
return str_replace('%territorio%', $taxonomy_slug, $permalink);
}
Dabei ist hotel
der Beitragstyp und territorio
eine hierarchische Taxonomie.
Bei der Erstellung von Beitragstypen verwenden Sie:
'rewrite' => array( 'slug' => 'anything-you-want/%territorio%','with_front' => false),
Hinweis: Wenn Sie tiefere Links wünschen, sollte Ihr Build tiefer gehen:
$taxonomy_slug = $terms[0]->slug.'/'.$terms[1]->slug.'/'.$terms[2]->slug;