Sposób na usunięcie typu wpisów z adresu URL

Sposób na usunięcie typu wpisu z adresu URL

Nie wiesz jak usunąć skróconą nazwę z adresu URL nowego typu wpisów? W tym wpisie znajdziesz wersję video oraz tekstową jak usunąć slug z CPT

Po co usuwać skróconą nazwę z adresu URL?

Są dwie możliwości:

  • możesz pozostawić skróconą nazwę w adresie URL, jeżeli nazwa typu wpisu wspomoże i doprecyzuje treść którą umieszczasz na stronie internetowej.
    W poniższym przykładzie nie ma sensu usuwać z adresu URL „Aparatura”, bo ta fraza jest połączona z wszystkimi podstronami i nie ma duplikatu treści. Ja dla przykładu przedrostek „filmy” umieściłem tylko i wyłącznie, by docierać do osób dla których filmik jest najbardziej wartościową treścią.
Kiedy zostawić skróconą nazwę w WordPress?
  • Pozostawianie skróconej nazwy w adresie URL nie ma jednak sensu, jeżeli nie zamierzasz jej w żaden sposób wykorzystywać i nie ma znaczenia dla SEO.

Dlaczego nie mogę użyć opcji With Front we wtyczce Custom Post Type UI?

Bo służy ona do czegoś innego – wytłumaczyłem to w filmie, w którym tłumaczę wszystkie ustawienia we wtyczce Custom Post Type UI tutaj.

Sprawdzony sposób na usunięcie skróconej nazwy z adresu URL

/**
     * 
     * Odc. 3. Jak usunąć z adresu URL skróconą nazwę nowego typu wpisu?
     * 
     * Źródło: https://wordpress.stackexchange.com/questions/203951/remove-slug-from-custom-post-type-post-urls
     * 
    */

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

        if ( 'podcast' != $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', 'lw_remove_slug_podcast', 10, 3 ); 

    function lw_parse_request_podcast( $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', 'podcast', 'page' ) );

        }

    }
    add_action( 'pre_get_posts', 'lw_parse_request_podcast' );

Dodaj komentarz

Twój adres e-mail nie zostanie opublikowany. Wymagane pola są oznaczone *