[Hướng dẫn] Xóa bỏ Slug Featured_item và featured_item_category khi vào trang Portfolio và Porfolio category

  • Admin

    Đoạn code bỏ Feature_item trong Slug Porfolio:


    Code:
    function ah_remove_custom_post_type_slug( $post_link, $post, $leavename ) {
     
        if ( ! in_array( $post->post_type, array( 'featured_item' ) ) || 'publish' != $post->post_status )
            return $post_link;
     
        $post_link = str_replace( '/' . $post->post_type . '/', '/', $post_link );
     
        return $post_link;
    }
    add_filter( 'post_type_link', 'ah_remove_custom_post_type_slug', 10, 3 );
     
    function ah_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', 'featured_item', 'page' ) );
    }
    add_action( 'pre_get_posts', 'ah_parse_request_tricksy' );


    Đoạn code bỏ Feature_item_category trong slug danh mục Portfolio:


    Code:
    add_filter('request', 'rudr_change_term_request', 1, 1 );
     
    function rudr_change_term_request($query){
     
        $tax_name = 'featured_item_category'; // specify you taxonomy name here, it can be also 'category' or 'post_tag'
     
        // Request for child terms differs, we should make an additional check
        if( $query['attachment'] ) :
            $include_children = true;
            $name = $query['attachment'];
        else:
            $include_children = false;
            $name = $query['name'];
        endif;
     
     
        $term = get_term_by('slug', $name, $tax_name); // get the current term to make sure it exists
     
        if (isset($name) && $term && !is_wp_error($term)): // check it here
     
            if( $include_children ) {
                unset($query['attachment']);
                $parent = $term->parent;
                while( $parent ) {
                    $parent_term = get_term( $parent, $tax_name);
                    $name = $parent_term->slug . '/' . $name;
                    $parent = $parent_term->parent;
                }
            } else {
                unset($query['name']);
            }
     
            switch( $tax_name ):
                case 'category':{
                    $query['category_name'] = $name; // for categories
                    break;
                }
                case 'post_tag':{
                    $query['tag'] = $name; // for post tags
                    break;
                }
                default:{
                    $query[$tax_name] = $name; // for another taxonomies
                    break;
                }
            endswitch;
     
        endif;
     
        return $query;
     
    }
     
     
    add_filter( 'term_link', 'rudr_term_permalink', 10, 3 );
     
    function rudr_term_permalink( $url, $term, $taxonomy ){
     
        $taxonomy_name = 'featured_item_category'; // your taxonomy name here
        $taxonomy_slug = 'featured_item_category'; // the taxonomy slug can be different with the taxonomy name (like 'post_tag' and 'tag' )
     
        // exit the function if taxonomy slug is not in URL
        if ( strpos($url, $taxonomy_slug) === FALSE || $taxonomy != $taxonomy_name ) return $url;
     
        $url = str_replace('/' . $taxonomy_slug, '', $url);
     
        return $url;
    }


    --Chữ ký--
    www.danganhviet.com


    • - Tránh đặt tiêu đề các dạng như: Giúp em với, Code này hay nè, Vào xem nè anh em,...
      - Đăng bài phải có ảnh demo hoặc viết mô tả rõ ràng, code phải bỏ vào khung code
      - Không comment vô nghĩa, không spam, không chữi tục, không post link độc hại, không hide bài viết
      - Hạn chế viết tắt, viết chữ màu, chữ to, chữ in đậm
Thông tin tác giả
avatar
ACP
Bài viết :
350
Points :
683
Like :
108
Punbb
Quản trị
Status :
test
Xem lý lịch thành viên http://hotrofm.forumvi.com
Bài viết liên quan
    Đang tải dữ liệu

Permissions in this forum:
Bạn không có quyền trả lời bài viết

<