Shouldn’t this be easy?! Custom post type/custom taxonomy permalink

Follow the advice on this question as you did already, but add this to your code: add_action( ‘generate_rewrite_rules’, ‘fix_literature_category_pagination’ ); function fix_literature_category_pagination( $wp_rewrite ) { unset($wp_rewrite->rules[‘literature/([^/]+)/page/?([0-9]{1,})/?$’]); $wp_rewrite->rules = array( ‘literature/?$’ => $wp_rewrite->index . ‘?post_type=literature’, ‘literature/page/?([0-9]{1,})/?$’ => $wp_rewrite->index . ‘?post_type=literature&paged=’ . $wp_rewrite->preg_index( 1 ), ‘literature/([^/]+)/page/?([0-9]{1,})/?$’ => $wp_rewrite->index . ‘?literature_category=’ . $wp_rewrite->preg_index( 1 ) . ‘&paged=’ . … Read more

How to change permalink structure for custom post type and it’s taxonomies?

Ok I think I might have a solution. I have no idea if this is the right way to accomplish this, but as for now it’s the only thing that seems to work. add_filter(‘rewrite_rules_array’, ‘mmp_rewrite_rules’); function mmp_rewrite_rules($rules) { $newRules = array(); $newRules[‘portfolio/(.+)/(.+?).html$’] = ‘index.php?project=$matches[2]’; $newRules[‘portfolio/(.+)/?$’] = ‘index.php?project_category=$matches[1]’; return array_merge($newRules, $rules); } add_filter(‘request’, ‘mmp_rewrite_request’); function mmp_rewrite_request($vars) … Read more

How to disable generation of default image sizes for some custom post types?

I think the only solution you have at the moment is to disable all intermediate image sizes: add_filter( ‘intermediate_image_sizes’, ‘__return_empty_array’, 99 ); And then manually generate them, depending on the post type, by hooking into ‘wp_generate_attachment_metadata’, where you do have access to the attachment id (and therefore to it’s parent post): function do_your_stuff( $data, $attachment_id … Read more

Add .html (dot HTML) extension to custom post types

This seem to work: Create the rewrite rules like post-type/post-name.html. You can use arrays to create the rules for just some set of post types instead of doing it for all of them. add_action( ‘rewrite_rules_array’, ‘rewrite_rules’ ); function rewrite_rules( $rules ) { $new_rules = array(); foreach ( get_post_types() as $t ) $new_rules[ $t . ‘/([^/]+)\.html$’ … Read more