Удаляем префикс произвольного типа записи WordPress из ссылок

Удаляем префикс  произвольного типа записи Wordpress  из ссылок

Для тех кто использует произвольные типы записей на своём сайте, не секрет, что ссылка содержит префикс этого типа записи. Если в каких-то целях вам нужно удалить этот префикс из ссылки будь то СЕО или ещё какие-то соображения, то вам поможет код предоставленный ниже. Вам необходимо произвести всего 3 действия:

  1. Вставить код в файл вашей темы functions.php этот код.
  2. Поменять ‘services’ на название вашего типа записи.
  3. Пересохранить постоянные ссылки. Для этого перейдите в “Настройки”, а потом в “постоянные ссылки” и нажмите “сохранить”.

/**
 * Удаление префикса произвольного типа записи Wordpress  из ссылок
 */
function custom_remove_cpt_slug( $post_link, $post, $leavename ) {

    if ( 'services' != $post->post_type || 'publish' != $post->post_status ) {
        return $post_link;
    } 

    $post_link = str_replace( '/' . $post->post_type . '/', '/', $post_link );

    return $post_link;
}
add_filter( 'post_type_link', 'custom_remove_cpt_slug', 10, 3 );
function custom_parse_request_tricksy( $query ) {
    if ( ! $query->is_main_query() )
        return;
    if ( 2 != count( $query->query ) || ! isset( $query->query['page'] ) ) {
        return;
    }
    if ( ! empty( $query->query['name'] ) ) {
        $query->set( 'post_type', array( 'post', 'services', 'page' ) );
    }
}
add_action( 'pre_get_posts', 'custom_parse_request_tricksy' );

 

Поделиться:
Подписаться
Уведомление о
0 Ваш комментарий
Inline Feedbacks
Смотреть все комментарии