$object) {
$rest_base = !empty($object->rest_base)
? $object->rest_base
: $post_type;
if ($rest_base === 'rummelig-cases') {
return $post_type;
}
}
return null;
}
/**
* Generér links i formatet:
* /bolig/{kategori}/{post-slug}/
*/
add_filter('post_type_link', function (
string $post_link,
WP_Post $post
): string {
$case_post_type = rummelig_get_case_post_type();
if (!$case_post_type || $post->post_type !== $case_post_type) {
return $post_link;
}
$terms = wp_get_post_terms(
$post->ID,
'category',
[
'orderby' => 'term_id',
'order' => 'ASC',
]
);
$property_type_slug = 'ukategoriseret';
if (!is_wp_error($terms) && !empty($terms)) {
$property_type_slug = $terms[0]->slug;
}
return home_url(
user_trailingslashit(
'bolig/' . $property_type_slug . '/' . $post->post_name
)
);
}, 10, 2);
/**
* Lær WordPress at forstå URL-formatet:
* /bolig/{kategori}/{post-slug}/
*/
add_action('init', function (): void {
$case_post_type = rummelig_get_case_post_type();
if (!$case_post_type) {
return;
}
add_rewrite_rule(
'^bolig/([^/]+)/([^/]+)/?$',
'index.php?post_type=' . $case_post_type . '&name=$matches[2]',
'top'
);
}, 99);
Videre til indhold