WordPress URL’den Custom Post Type Slug Kaldırma

6 Nisan 2015alicanatas

Oluşturulan Custom Post Type’ların slugları permalinklerde .com/slug/yazi şeklinde görünür bunu kaldırmak için aşağıdaki kodu düzenleyip functions.php ekleyerek .com/yazi şeklinde görünmesi sağlanır.

Kendime not: permalinkleri güncellemeyi unutma 404 alırsın.

function slugkaldir( $post_link, $post, $leavename ) {

    if ( 'custom_post_type_slug_buraya' != $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', 'slugkaldir', 10, 3 );
function parsele( $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', 'custom_post_type_slug_buraya', 'page' ) );
    }
}
add_action( 'pre_get_posts', 'parsele' );

Leave a comment

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.

Önceki Yazı Sonraki Yazı