RaymondDragon 116 ارسال شده در اسفند 93 گزارش بازنشر ارسال شده در اسفند 93 درود دوستان من...سوال: در وردپرس دو CPT داریم به اسمهای anime و manga که هر CPT دارای Taxonomy به اسم post_type است که دارای Termهای anime,animation,manga,comic است.انیمه و انیمیشن ها در CPT مربوط anime ذخیره می شوند و از طریق taxonomy مشخص می شوند که anime هستند یا animationمانگا و کمیک ها در CPT مربوط manga ذخیره می شوند و از طریق taxonomy مشخص می شوند که manga هستند یا comicدر نتیجه آدرسی که ساخته می شود به این شکل است:برای انیمه ها و انیمیشن ها:http://mysite.xxx/anime/ HYPERLINK "http://mysite.xxx/anime/عنوان"عنوان پستبرای مانگا و کمیک ها:http://mysite.xxx/manga/ عنوان پستحالا چیزی که لازم است این است که این آدرس ها بر اساس taxonomy مربوط post_type تغییر کند، یعنی اگر انیمیشن است:CPT Anime && Taxonomy == anime-> http://mysite.xxx/anime/ HYPERLINK "http://mysite.xxx/anime/عنوان"عنوان پستCPT Anime && Taxonomy == animation-> http://mysite.xxx/animantion/ HYPERLINK "http://mysite.xxx/animantion/عنوان"عنوان پستCPT Manga && Taxonomy == manga-> http://mysite.xxx/manga/ HYPERLINK "http://mysite.xxx/manga/عنوان"عنوان پستCPT Manga && Taxonomy == comic-> http://mysite.xxx/comic/ HYPERLINK "http://mysite.xxx/comic/عنوان"عنوان پستراه حلی که تست شده: add_filter('post_type_link', 'events_permalink_structure', 10, 4);function events_permalink_structure($post_link, $post, $leavename, $sample){$types=wp_get_object_terms( $post->ID, 'post_types' ); if (( 'animation' == $types[0]->slug )or ( 'comic' == $types[0]->slug )) { $post_link = str_replace( array('/anime/','/manga/'), '/'.$types[0]->slug.'/', $post_link ); } return $post_link;}اتفاقی که رخ می دهد:آدرس ها به درستی عوض می شوند ولی تمام ادرس های عوض شده ارور 404 می دهند.ادامه راه حلی که پیش بینی میشد حلال مشکل خواهد بود:add_action('init','animation_init');function animation_init() { global $wp,$wp_rewrite,$wp_query;$wp_rewrite->add_rule('comic/([^/]+)/', 'index.php?post_type=manga&name=$matches[1]', 'top');}ولی متاسفانه جواب نداد.حل مشکل آن چیست؟ممنون میشم جواب بدید... نقل قول لینک به ارسال
Parsa 23463 ارسال شده در اسفند 93 گزارش بازنشر ارسال شده در اسفند 93 اینجا یک نمونه هستhttp://shibashake.com/wordpress-theme/add-custom-taxonomy-tags-to-your-wordpress-permalinksadd_filter('post_link', 'rating_permalink', 10, 3);add_filter('post_type_link', 'rating_permalink', 10, 3);function rating_permalink($permalink, $post_id, $leavename) { if (strpos($permalink, '%rating%') === FALSE) return $permalink; // Get post $post = get_post($post_id); if (!$post) return $permalink; // Get taxonomy terms $terms = wp_get_object_terms($post->ID, 'rating'); if (!is_wp_error($terms) && !empty($terms) && is_object($terms[0])) $taxonomy_slug = $terms[0]->slug; else $taxonomy_slug = 'not-rated'; return str_replace('%rating%', $taxonomy_slug, $permalink);} در بخش ساختار پیوند یکتا با مقدار %rating% جایگزین میشود 1 نقل قول لینک به ارسال
پست های پیشنهاد شده
به گفتگو بپیوندید
هم اکنون می توانید مطلب خود را ارسال نمایید و بعداً ثبت نام کنید. اگر حساب کاربری دارید، برای ارسال با حساب کاربری خود اکنون وارد شوید .