Custom permalink that contains post meta information
Here is the example how to improve custom post type permalink by adding additional information from the post meta in here the album name for the gallery. The post type in here is called gallery.
Instead of URL like /gallery/post-name
we will have /gallery/album-name/post-name
add_filter('post_type_link', 'f_gallery', 10, 3);
function f_gallery($permalink, $post, $leavename)
{
$post_id = $post->ID;
if($post->post_type != 'gallery' || empty($permalink) || in_array($post->post_status, array('draft', 'pending', 'auto-draft')))
return $permalink;
$album = get_post_meta($post_id, 'album', true);
$album = sanitize_title($album);
if(empty($album)) { $album = "unknown"; }
$permalink = str_replace('gallery/', 'gallery/'.$album .'/' , $permalink);
return $permalink;
}
…
tags: & category: -