Как переписать URI пользовательского типа сообщения?

На сайте, на котором я работаю, используется следующая «симпатичная» постоянная ссылка:

http://example.com/blog/my-special-post 

Но для персонализированного типа сообщения мой клиент хотел бы избежать наличия «симпатичного» пули:

 http://example.com/product/142 

Как можно использовать идентификатор post вместо пули для пользовательского типа сообщения?

Я считаю, что это возможно с помощью WP_Rewrite, но я не знаю с чего начать.

Это то, что я использую для перезаписи пользовательских URL-адресов типа post с идентификатором сообщения. Для преобразования URL-запросов вам необходимо правило перезаписи, а также фильтр post_type_link для возврата правильных URL-адресов для любых вызовов get_post_permalink() :

 add_filter('post_type_link', 'wpse33551_post_type_link', 1, 3); function wpse33551_post_type_link( $link, $post = 0 ){ if ( $post->post_type == 'product' ){ return home_url( 'product/' . $post->ID ); } else { return $link; } } add_action( 'init', 'wpse33551_rewrites_init' ); function wpse33551_rewrites_init(){ add_rewrite_rule( 'product/([0-9]+)?$', 'index.php?post_type=product&p=$matches[1]', 'top' ); }