همانطور که میدانید در حالت عادی وقتی به آدرس یک دسته بندی به هر طریقی چه از طریق جستجو و چه مراجعه مستقیم به آدرس استفاده کنید مطالب موجود در آن دسته بندی نمایش داده خواهند شد. اما گاها پیش میآید که در یک دسته بندی صرفا یک نوشته قرار دارد، لذا با این کار کاربر یک بار دیگر باید کلیک کند تا به نوشته هدایت شود.
بنابراین در این آموزش از 20اسکریپت قصد دارم تا به معرفی قطعه کدی بپردازم که با استفاده از آن قادر خواهید بود تا دستهبندی هایی که دارای یک نوشته هستند را به گونه ای تعیین کنید که به صورت خودکار به نوشته ریدایرکت شوند.
ریدایرکت کاربر به نوشته در دسته بندی دارای یک نوشته
برای شروع کار وارد ویرایش فایل فانکشن (functions.php) قالب خود شده و کدهای زیر را در آن قرار داده و آن را ذخیره کنید.
function redirect_to_post(){ global $wp_query; if( is_archive() && $wp_query->post_count == 1 ){ the_post(); $post_url = get_permalink(); wp_redirect( $post_url ); } } add_action('template_redirect', 'redirect_to_post');
سپس آن را ذخیره کرده و آدرس یکی از دسته بندیهای سایت خود را که شامل یک نوشته هستند باز کنید. خواهید دید که پس از چند ثانیه به صورت خودکار به نوشته موجود ریدایرکت خواهید شد.
- نکته: مثل همیشه دقت کنید قبل از هرگونه تغییر در فایل فانکشن قالب یک کپی از آن داشته باشید تا در صورت بروز خطا مشکل را سریعا رفع کنید.
اما اگر میخواهید کمی حرفه ای تر عمل کنید و قبل از ریدایرکت کاربر یک پیام مبنی بر هدایت شدن به نوشته نمایش دهید کافی است تا از کد زیر استفاده کنید.
function redirect_to_post(){ global $wp_query; if( is_archive() && $wp_query->post_count == 1 ){ the_post(); $post_url = get_permalink(); wp_redirect( $post_url ); } echo "این دسته بندی تنها دارای یک نوشته میباشد و تا چند ثانیه دیگر به صورت خودکار به ان نوشته ریدایرکت خواهید شد :D"; } add_action('template_redirect', 'redirect_to_post');
حال قبل از ریدایرکت کاربر به لینک نوشته پیام فوق نمایش داده شده و پس از چند ثانیه ریدایرکت خواهد شد.
- مشکلی دارید؟ جواب خود را در پست فروم بگیرید
- منبع : بیست اسکریپت لطفا رعایت کنید