857 | | add_rewrite_tag( '%%' . bbp_get_view_rewrite_id() . '%%', '([^/]+)' ); // View Page tag |
858 | | add_rewrite_tag( '%%' . bbp_get_edit_rewrite_id() . '%%', '([1]{1,})' ); // Edit Page tag |
859 | | add_rewrite_tag( '%%' . bbp_get_search_rewrite_id() . '%%', '([^/]+)' ); // Search Results tag |
860 | | add_rewrite_tag( '%%' . bbp_get_user_rewrite_id() . '%%', '([^/]+)' ); // User Profile tag |
861 | | add_rewrite_tag( '%%' . bbp_get_user_favorites_rewrite_id() . '%%', '([1]{1,})' ); // User Favorites tag |
862 | | add_rewrite_tag( '%%' . bbp_get_user_subscriptions_rewrite_id() . '%%', '([1]{1,})' ); // User Subscriptions tag |
863 | | add_rewrite_tag( '%%' . bbp_get_user_topics_rewrite_id() . '%%', '([1]{1,})' ); // User Topics Tag |
864 | | add_rewrite_tag( '%%' . bbp_get_user_replies_rewrite_id() . '%%', '([1]{1,})' ); // User Replies Tag |
| 859 | |
| 860 | // Get the unique ID's |
| 861 | $edit_id = 'edit'; |
| 862 | $view_id = bbp_get_view_rewrite_id(); |
| 863 | $search_id = bbp_get_search_rewrite_id(); |
| 864 | $user_id = bbp_get_user_rewrite_id(); |
| 865 | $user_favs_id = bbp_get_user_favorites_rewrite_id(); |
| 866 | $user_subs_id = bbp_get_user_subscriptions_rewrite_id(); |
| 867 | $user_tops_id = bbp_get_user_topics_rewrite_id(); |
| 868 | $user_reps_id = bbp_get_user_replies_rewrite_id(); |
| 869 | |
| 870 | // Setup the rewrite tags |
| 871 | add_rewrite_tag( '%' . $view_id . '%', '([^/]+)' ); // View Page tag |
| 872 | add_rewrite_tag( '%' . $edit_id . '%', '([1]{1,})' ); // Edit Page tag |
| 873 | add_rewrite_tag( '%' . $search_id . '%', '([^/]+)' ); // Search Results tag |
| 874 | add_rewrite_tag( '%' . $user_id . '%', '([^/]+)' ); // User Profile tag |
| 875 | add_rewrite_tag( '%' . $user_favs_id . '%', '([1]{1,})' ); // User Favorites tag |
| 876 | add_rewrite_tag( '%' . $user_subs_id . '%', '([1]{1,})' ); // User Subscriptions tag |
| 877 | add_rewrite_tag( '%' . $user_tops_id . '%', '([1]{1,})' ); // User Topics Tag |
| 878 | add_rewrite_tag( '%' . $user_reps_id . '%', '([1]{1,})' ); // User Replies Tag |
886 | | $edit_id = bbp_get_edit_rewrite_id(); |
887 | | $view_id = bbp_get_view_rewrite_id(); |
888 | | $search_id = bbp_get_search_rewrite_id(); |
889 | | $user_id = bbp_get_user_rewrite_id(); |
890 | | $favs_id = bbp_get_user_favorites_rewrite_id(); |
891 | | $subs_id = bbp_get_user_subscriptions_rewrite_id(); |
892 | | $tops_id = bbp_get_user_topics_rewrite_id(); |
893 | | $reps_id = bbp_get_user_replies_rewrite_id(); |
| 913 | $feed_id = 'feed'; |
| 914 | $edit_id = 'edit'; |
| 915 | $view_id = bbp_get_view_rewrite_id(); |
| 916 | $paged_id = bbp_get_paged_rewrite_id(); |
| 917 | $search_id = bbp_get_search_rewrite_id(); |
| 918 | $user_id = bbp_get_user_rewrite_id(); |
| 919 | $user_favs_id = bbp_get_user_favorites_rewrite_id(); |
| 920 | $user_subs_id = bbp_get_user_subscriptions_rewrite_id(); |
| 921 | $user_tops_id = bbp_get_user_topics_rewrite_id(); |
| 922 | $user_reps_id = bbp_get_user_replies_rewrite_id(); |
896 | | $root_rule = '/([^/]+)/?$'; |
897 | | $edit_rule = '/([^/]+)/edit/?$'; |
898 | | $feed_rule = '/([^/]+)/feed/?$'; |
899 | | $page_rule = '/([^/]+)/page/?([0-9]{1,})/?$'; |
| 925 | $root_rule = '/([^/]+)/?$'; |
| 926 | $feed_rule = '/([^/]+)/' . $feed_slug . '/?$'; |
| 927 | $edit_rule = '/([^/]+)/' . $edit_slug . '/?$'; |
| 928 | $paged_rule = '/([^/]+)/' . $paged_slug . '/?([0-9]{1,})/?$'; |
906 | | $tops_rule = '/([^/]+)/topics/?$'; |
907 | | $reps_rule = '/([^/]+)/replies/?$'; |
908 | | $favs_rule = '/([^/]+)/' . bbp_get_user_favorites_slug() . '/?$'; |
909 | | $subs_rule = '/([^/]+)/' . bbp_get_user_subscriptions_slug() . '/?$'; |
910 | | $tops_page_rule = '/([^/]+)/topics/page/?([0-9]{1,})/?$'; |
911 | | $reps_page_rule = '/([^/]+)/replies/page/?([0-9]{1,})/?$'; |
912 | | $favs_page_rule = '/([^/]+)/' . bbp_get_user_favorites_slug() . '/page/?([0-9]{1,})/?$'; |
913 | | $subs_page_rule = '/([^/]+)/' . bbp_get_user_subscriptions_slug() . '/page/?([0-9]{1,})/?$'; |
| 935 | $tops_rule = '/([^/]+)/' . $topic_archive_slug . '/?$'; |
| 936 | $reps_rule = '/([^/]+)/' . $reply_archive_slug . '/?$'; |
| 937 | $favs_rule = '/([^/]+)/' . $user_favs_slug . '/?$'; |
| 938 | $subs_rule = '/([^/]+)/' . $user_subs_slug . '/?$'; |
| 939 | $tops_paged_rule = '/([^/]+)/' . $topic_archive_slug . '/' . $paged_slug . '/?([0-9]{1,})/?$'; |
| 940 | $reps_paged_rule = '/([^/]+)/' . $reply_archive_slug . '/' . $paged_slug . '/?([0-9]{1,})/?$'; |
| 941 | $favs_paged_rule = '/([^/]+)/' . $user_favs_slug . '/' . $paged_slug . '/?([0-9]{1,})/?$'; |
| 942 | $subs_paged_rule = '/([^/]+)/' . $user_subs_slug . '/' . $paged_slug . '/?([0-9]{1,})/?$'; |
919 | | // Edit Forum|Topic|Reply|Topic-tag |
920 | | bbp_get_forum_slug() . $edit_rule => 'index.php?' . bbp_get_forum_post_type() . '=' . $wp_rewrite->preg_index( 1 ) . '&' . $edit_id . '=1', |
921 | | bbp_get_topic_slug() . $edit_rule => 'index.php?' . bbp_get_topic_post_type() . '=' . $wp_rewrite->preg_index( 1 ) . '&' . $edit_id . '=1', |
922 | | bbp_get_reply_slug() . $edit_rule => 'index.php?' . bbp_get_reply_post_type() . '=' . $wp_rewrite->preg_index( 1 ) . '&' . $edit_id . '=1', |
923 | | bbp_get_topic_tag_tax_slug() . $edit_rule => 'index.php?' . bbp_get_topic_tag_tax_id() . '=' . $wp_rewrite->preg_index( 1 ) . '&' . $edit_id . '=1', |
| 946 | // Edit Forum|Topic|Reply|Topic-tag |
| 947 | add_rewrite_rule( $forum_slug . $edit_rule, 'index.php?' . bbp_get_forum_post_type() . '=$matches[1]&' . $edit_id . '=1', 'top' ); |
| 948 | add_rewrite_rule( $topic_slug . $edit_rule, 'index.php?' . bbp_get_topic_post_type() . '=$matches[1]&' . $edit_id . '=1', 'top' ); |
| 949 | add_rewrite_rule( $reply_slug . $edit_rule, 'index.php?' . bbp_get_reply_post_type() . '=$matches[1]&' . $edit_id . '=1', 'top' ); |
| 950 | add_rewrite_rule( $ttag_slug . $edit_rule, 'index.php?' . bbp_get_topic_tag_tax_id() . '=$matches[1]&' . $edit_id . '=1', 'top' ); |
925 | | // User Pagination|Edit|View |
926 | | $user_slug . $tops_page_rule => 'index.php?' . $user_id . '=' . $wp_rewrite->preg_index( 1 ) . '&' . $tops_id . '=1&paged=' . $wp_rewrite->preg_index( 2 ), |
927 | | $user_slug . $reps_page_rule => 'index.php?' . $user_id . '=' . $wp_rewrite->preg_index( 1 ) . '&' . $reps_id . '=1&paged=' . $wp_rewrite->preg_index( 2 ), |
928 | | $user_slug . $favs_page_rule => 'index.php?' . $user_id . '=' . $wp_rewrite->preg_index( 1 ) . '&' . $favs_id . '=1&paged=' . $wp_rewrite->preg_index( 2 ), |
929 | | $user_slug . $subs_page_rule => 'index.php?' . $user_id . '=' . $wp_rewrite->preg_index( 1 ) . '&' . $subs_id . '=1&paged=' . $wp_rewrite->preg_index( 2 ), |
930 | | $user_slug . $tops_rule => 'index.php?' . $user_id . '=' . $wp_rewrite->preg_index( 1 ) . '&' . $tops_id . '=1', |
931 | | $user_slug . $reps_rule => 'index.php?' . $user_id . '=' . $wp_rewrite->preg_index( 1 ) . '&' . $reps_id . '=1', |
932 | | $user_slug . $favs_rule => 'index.php?' . $user_id . '=' . $wp_rewrite->preg_index( 1 ) . '&' . $favs_id . '=1', |
933 | | $user_slug . $subs_rule => 'index.php?' . $user_id . '=' . $wp_rewrite->preg_index( 1 ) . '&' . $subs_id . '=1', |
934 | | $user_slug . $edit_rule => 'index.php?' . $user_id . '=' . $wp_rewrite->preg_index( 1 ) . '&' . $edit_id . '=1', |
935 | | $user_slug . $root_rule => 'index.php?' . $user_id . '=' . $wp_rewrite->preg_index( 1 ), |
| 952 | // User Pagination|Edit|View |
| 953 | add_rewrite_rule( $user_slug . $tops_paged_rule, 'index.php?' . $user_id . '=$matches[1]&' . $user_tops_id . '=1&' . $paged_id . '=$matches[2]', 'top' ); |
| 954 | add_rewrite_rule( $user_slug . $reps_paged_rule, 'index.php?' . $user_id . '=$matches[1]&' . $user_reps_id . '=1&' . $paged_id . '=$matches[2]', 'top' ); |
| 955 | add_rewrite_rule( $user_slug . $favs_paged_rule, 'index.php?' . $user_id . '=$matches[1]&' . $user_favs_id . '=1&' . $paged_id . '=$matches[2]', 'top' ); |
| 956 | add_rewrite_rule( $user_slug . $subs_paged_rule, 'index.php?' . $user_id . '=$matches[1]&' . $user_subs_id . '=1&' . $paged_id . '=$matches[2]', 'top' ); |
| 957 | add_rewrite_rule( $user_slug . $tops_rule, 'index.php?' . $user_id . '=$matches[1]&' . $user_tops_id . '=1', 'top' ); |
| 958 | add_rewrite_rule( $user_slug . $reps_rule, 'index.php?' . $user_id . '=$matches[1]&' . $user_reps_id . '=1', 'top' ); |
| 959 | add_rewrite_rule( $user_slug . $favs_rule, 'index.php?' . $user_id . '=$matches[1]&' . $user_favs_id . '=1', 'top' ); |
| 960 | add_rewrite_rule( $user_slug . $subs_rule, 'index.php?' . $user_id . '=$matches[1]&' . $user_subs_id . '=1', 'top' ); |
| 961 | add_rewrite_rule( $user_slug . $edit_rule, 'index.php?' . $user_id . '=$matches[1]&' . $edit_id . '=1', 'top' ); |
| 962 | add_rewrite_rule( $user_slug . $root_rule, 'index.php?' . $user_id . '=$matches[1]', 'top' ); |
937 | | // Topic-View Pagination|Feed|View |
938 | | $view_slug . $page_rule => 'index.php?' . $view_id . '=' . $wp_rewrite->preg_index( 1 ) . '&paged=' . $wp_rewrite->preg_index( 2 ), |
939 | | $view_slug . $feed_rule => 'index.php?' . $view_id . '=' . $wp_rewrite->preg_index( 1 ) . '&feed=' . $wp_rewrite->preg_index( 2 ), |
940 | | $view_slug . $root_rule => 'index.php?' . $view_id . '=' . $wp_rewrite->preg_index( 1 ), |
| 964 | // Topic-View Pagination|Feed|View |
| 965 | add_rewrite_rule( $view_slug . $paged_rule, 'index.php?' . $view_id . '=$matches[1]&' . $paged_id . '=$matches[2]', 'top' ); |
| 966 | add_rewrite_rule( $view_slug . $feed_rule, 'index.php?' . $view_id . '=$matches[1]&' . $feed_id . '=$matches[2]', 'top' ); |
| 967 | add_rewrite_rule( $view_slug . $root_rule, 'index.php?' . $view_id . '=$matches[1]', 'top' ); |
950 | | // Return merged rules |
951 | | return $wp_rewrite; |
| 976 | // Get unique ID's |
| 977 | $user_id = bbp_get_user_rewrite_id(); |
| 978 | $view_id = bbp_get_view_rewrite_id(); |
| 979 | $search_id = bbp_get_search_rewrite_id(); |
| 980 | |
| 981 | // Get root slugs |
| 982 | $user_slug = bbp_get_user_slug(); |
| 983 | $view_slug = bbp_get_view_slug(); |
| 984 | $search_slug = bbp_get_search_slug(); |
| 985 | |
| 986 | // User Permastruct |
| 987 | add_permastruct( $user_id, $user_slug . '/%' . $user_id . '%', array( |
| 988 | 'with_front' => false, |
| 989 | 'ep_mask' => EP_NONE, |
| 990 | 'paged' => false, |
| 991 | 'feed' => false, |
| 992 | 'forcomments' => false, |
| 993 | 'walk_dirs' => true, |
| 994 | 'endpoints' => true, |
| 995 | ) ); |
| 996 | |
| 997 | // Topic View Permastruct |
| 998 | add_permastruct( $view_id, $view_slug . '/%' . $view_id . '%', array( |
| 999 | 'with_front' => false, |
| 1000 | 'ep_mask' => EP_NONE, |
| 1001 | 'paged' => false, |
| 1002 | 'feed' => false, |
| 1003 | 'forcomments' => false, |
| 1004 | 'walk_dirs' => true, |
| 1005 | 'endpoints' => true, |
| 1006 | ) ); |
| 1007 | |
| 1008 | // Search Permastruct |
| 1009 | add_permastruct( $user_id, $search_slug . '/%' . $search_id . '%', array( |
| 1010 | 'with_front' => false, |
| 1011 | 'ep_mask' => EP_NONE, |
| 1012 | 'paged' => true, |
| 1013 | 'feed' => false, |
| 1014 | 'forcomments' => false, |
| 1015 | 'walk_dirs' => true, |
| 1016 | 'endpoints' => true, |
| 1017 | ) ); |