Добрый день!
Есть функция, которая переделывает URLы:
из:
site.ru/product/salat_cezar
в:
site.ru/463
Так вот, в ней срабатывает только последнее правило перезаписи (product_3). Почему не срабатывают первые два правила (product и product_2)? Почему срабатывает только последнее правило и не работают первые два?
Сама функция:
function fun_798668( $link, $post = 0 ) {
if ( $post->post_type == 'product' ) {
return home_url( '/' . $post->ID );
} elseif ( $post->post_type == 'product_2' ) {
return home_url( '/' . $post->ID );
} elseif ( $post->post_type == 'product_3' ) {
return home_url( '/' . $post->ID );
} else {
return $link;
}
}
add_filter( 'post_type_link', 'fun_798668', 1, 3 );
function fun_798686() {
add_rewrite_rule(
'([0-9]+)?$',
'index.php?post_type=product&p=$matches[1]',
'top'
);
add_rewrite_rule(
'([0-9]+)?$',
'index.php?post_type=product_2&p=$matches[1]',
'top'
);
add_rewrite_rule(
'([0-9]+)?$',
'index.php?post_type=product_3&p=$matches[1]',
'top'
);
}
add_action( 'init', 'fun_798686' );