কাস্টম পোস্টের ধরণের ইউআরআই কীভাবে পুনর্লিখন করবেন?


16

আমি যে সাইটটিতে কাজ করছি সেগুলি নিম্নলিখিত "সুন্দর" পার্মালিঙ্ক কাঠামোটি ব্যবহার করে:

http://example.com/blog/my-special-post

তবে একটি কাস্টম পোস্ট টাইপের জন্য আমার ক্লায়েন্ট একটি "সুন্দর" স্লাগ না এড়াতে চান:

http://example.com/product/142

কাস্টম পোস্ট টাইপের জন্য স্লাগের জায়গায় পোস্ট আইডি কীভাবে ব্যবহার করা যেতে পারে?

আমি বিশ্বাস করি যে এটি ডব্লুপি_রউইরাইট ব্যবহার করে সম্ভব হতে পারে তবে কোথা থেকে শুরু করব তা আমি জানি না।

উত্তর:


33

পোস্ট আইডির সাহায্যে কাস্টম পোস্ট প্রকারের ইউআরএলগুলি পুনরায় লিখতে আমি এটিই ব্যবহার করি। ইউআরএল অনুরোধগুলি অনুবাদ করতে আপনার একটি পুনর্লিখনের নিয়ম প্রয়োজন, পাশাপাশি post_type_linkকোনও কলের সঠিক URL গুলি ফেরত দেওয়ার জন্য একটি ফিল্টারও দরকার get_post_permalink():

add_filter('post_type_link', 'wpse33551_post_type_link', 1, 3);

function wpse33551_post_type_link( $link, $post = 0 ){
    if ( $post->post_type == 'product' ){
        return home_url( 'product/' . $post->ID );
    } else {
        return $link;
    }
}

add_action( 'init', 'wpse33551_rewrites_init' );

function wpse33551_rewrites_init(){
    add_rewrite_rule(
        'product/([0-9]+)?$',
        'index.php?post_type=product&p=$matches[1]',
        'top' );
}

হাই @ মিলা এটি আমার পুরোপুরি কাজ করে ... তবে আমি কিছু পরিবর্তন চাই দয়া করে আপনি আমাকে গাইড করতে পারেন
Deemi-D-nadeem
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.