۲ فراز توانا
پیاده سازی روت مجرا برای جلسات
مصطفی زارعی حل شده توسط مصطفی زارعی

سلام استاد صالحی عزیزخدا قوت

یک سوال دارم اونم اینه که می‌خوام برای نمایش جلسات یک روت داشته باشم مثل course-episodes/804ashft26 که با کمک اون آیدی بگیرم قسمت رو و نمایش بدم ولی چون قسمت‌ها برای خودشون یک پست تایپ مجزا دارن تا بشه براشون کامنت هم درج کرد  برای این چه راه کاری پیشنهاد میدین ؟ در واقع چیزی شبیه به چیزی که سایت راکت پیاده کرده البته درسته که اون لاراوله ولی خوب 

سلام. وقت بخیر 

برای اضافه کردن لینک سفارشی به post-type در وردپرس می‌تونید از rewrite rule استفاده کنید: 

function custom_rewrite_rule() {
    add_rewrite_rule('^course-episodes/([^/]*)/?', 'index.php?episode=$matches[1]', 'top');
}
add_action('init', 'custom_rewrite_rule');

تو این مرحله episode query variable رو داخل فیلتر query_vars اضافه کنید:

function add_custom_query_vars($vars) {
    $vars[] = 'episode';
    return $vars;
}
add_filter('query_vars', 'add_custom_query_vars');

 داخل فایل single-episode.php هم می‌تونید محتویات هر episode رو بر اساس id نمایش بدین:

<?php
get_header();
$episode_id = get_query_var('episode');
$episode_query = new WP_Query(array(
    'post_type' => 'episode',
    'name' => $episode_id,
));
if ($episode_query->have_posts()) {
    while ($episode_query->have_posts()) {
        $episode_query->the_post();
        echo '<h1>' . get_the_title() . '</h1>';
        the_content();
    }
} else {
    echo 'Episode not found.';
}
wp_reset_postdata();
get_footer();
?>
بهترین پاسخ
مصطفی زارعی ۲۹ مهر ۱۴۰۳، ۰۵:۱۶

خیلی ممنون از پاسختون

فراز توانا ۲۹ مهر ۱۴۰۳، ۰۵:۵۲