Как для определённых меток изменить структуру постоянных ссылок записей
Гость | 21 августа 2017, 19:44 | 1
Допустим, у записей структура http://example.com/postname.
Мне нужно для записей, имеющих определённые метки, изменить структуру ЧПУ http://example.com/post_id-postname. Как этого добиться?
Wordpress
Решения
add_action( 'pre_post_link', 'wppw_rewrite_surf_news', 10, 3 ); function wppw_rewrite_surf_news( $permalink, $post, $leavename ) { $tags = [3, 4, 5 ]; // Нужные нам ID меток $terms = get_the_tags( $post ); foreach ( $terms as $term ) { if ( in_array( $term->term_id, $tags ) ) { $post_type = 'post'; $permalink = "/%post_id%-%postname%/"; $args = array( 'with_front' => false, 'paged' => true, 'ep_mask' => EP_NONE, 'feed' => false, 'forcomments' => false, 'walk_dirs' => false, 'endpoints' => false, ); global $wp_rewrite; $wp_rewrite->add_permastruct( $post_type, $permalink, $args ); } } unset( $term ); return $permalink; }После не забудьте обновить структуру ссылок в панели администратора WordPress в
Настройки—Постоянные ссылки