我认为您应该能够使用wp_unique_post_slug
过滤器(应用于function of the same name):
add_filter("wp_unique_post_slug", function($slug, $post_ID, $post_status, $post_type, $post_parent, $original_slug) {
if($meta = get_post_meta($post_ID, "my-meta", true)) {
$slug = $meta . \'-\' . $slug;
}
return $slug;
}, 10, 6);
由于这是在该函数的末尾应用的,我相信WP期望并依赖于该slug是唯一的,因此您必须确保它是唯一的。我相信它会随着帖子的发布而生成(并保存),所以你必须在那时准备好你的元值。