WordPresste Industroz temasını kullanmış olup services https://deneme.com/services/vidali-kompresorler/ adında çeşit çeşit ürün katalogu vardı. Bu kalıcı bağlantıda services yazısını kaldırmak varsayılan olarak imkansızdı. Bunun için aşağıdaki kod satırını “Code Snippets” adlı eklentiye her yerde çalışacak şekilde tek tek snippet oluşturarak ekledim. Sorunum çözüldü.

function na_remove_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', 'na_remove_slug', 10, 3 );

function na_parse_request( $query ) {

    if ( ! $query->is_main_query() || 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', 'na_parse_request' );

Services bağlantısı portfolio olabilirdi o zaman services kısımlarını portfolio olarak değiştirmemiz gerekiyordu

Sesli Okuyucu

Bir cevap yazın

E-posta hesabınız yayımlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir

This site uses Akismet to reduce spam. Learn how your comment data is processed.