How to add random prefix (based on related page slug) to custom post type?

Resolved! So I’ve added rewrite rule: add_rewrite_rule( ‘^[^\/]*\/review\/([^\/]*)$’, ‘index.php?review=$matches[1]’, ‘top’ ); And additional code to create appropriate url structure: function rev_update_slug( $post_link, $post, $leavename ) { if ( ‘review’ != $post->post_type || ‘publish’ != $post->post_status ) { return $post_link; } //** Field where related page post object stored in ACF field **// $pageid= get_field(‘related_home_inner_page’,$post->ID); $post_link … Read more

How to write ReWrite Rule to cut URL?

First add the rewrite rule: function wpse426504_add_rewrite() { add_rewrite_rule( ‘mycontent/events/([a-z0-9-]+)[/]?$’, ‘index.php?eventslug=$matches[1]’, ‘top’ ); } add_action( ‘init’, ‘wpse426504_add_rewrite’ ); function wpse426504_add_query_var( $query_vars ) { $query_vars[] = ‘eventslug’; return $query_vars; } ); add_filter( ‘query_vars’, ‘wpse426504_add_query_var’ ); That’s the basics of it. If you need to add a new template to handle displaying everything, you’d then hook to … Read more

Custom post type slug localization

First, you should have to register your custom post type with a generic, language-independent slug because the slug in register_post_type is not meant to be dynamic. and then modify rewrite rule try this snippet function register_custom_post_type_services() { $labels = array( ‘name’ => _x(‘Services’, ‘Post Type General Name’, ‘text_domain’), ‘singular_name’ => _x(‘Service’, ‘Post Type Singular Name’, … Read more