it-swarm.com.de

Benutzerdefinierte Beitragstypen, URL-Umschreibung auf mehreren CPTs

Betreff: Benutzerdefinierte Beitragstypen, Taxonomien und Permalinks von @TheDeadMechanic Die obige Lösung funktioniert perfekt und das Neuschreiben ist großartig. Sie können jedoch Tipps zum Neuschreiben geben für mehr als einen benutzerdefinierten Beitragstyp mit eigener Taxonomie? Der folgende Code gilt für das Taxonomieprodukt cat under products. Wenn Sie jedoch einen weiteren CPT mit Taxonomie hinzufügen, erhalten Sie 404, da dieser nicht im Folgenden enthalten ist. Wie kann der folgende Code geändert werden, um mehr als einen CPT und eine Taxonomie zu berücksichtigen?

    function filter_post_type_link($link, $post){
    if ($post->post_type != 'product_listing')
        return $link;

    if ($cats = get_the_terms($post->ID, 'product_cat'))
        $link = str_replace('%product_cat%', array_pop($cats)->slug, $link);
    return $link;
    }
 add_filter('post_type_link', 'filter_post_type_link', 10, 2);

danke im Voraus

1
scampi

Unter der Annahme, dass das bereitgestellte Code-Snippet funktioniert, können Sie die bedingte Anweisung wie folgt erweitern:

function filter_post_type_link($link, $post)
{
    if ($post->post_type = 'custom_post_type_1') {

        if ($cats = get_the_terms($post->ID, 'custom_cat_1'))

             $link = str_replace('%custom_cat_1%', array_pop($cats)->slug, $link);

        return $link;

    } elseif ($post->post_type = 'custom_post_type_2') {

        if ($cats = get_the_terms($post->ID, 'custom_cat_2'))

             $link = str_replace('%custom_cat_2%', array_pop($cats)->slug, $link);

        return $link;

    } else {

        return $link;

    }

}

add_filter('post_type_link', 'filter_post_type_link', 10, 2);
1
userabuser