bbPress::add_rewrite_rules()
Add Forums-specific rewrite rules for uri’s that are not setup for us by way of custom post types or taxonomies. This includes: – Front-end editing – Topic views – User profiles
Description
Source
File: bp-forums/classes/class-bbpress.php
756 757 758 759 760 761 762 763 764 765 766 767 768 769 770 771 772 773 774 775 776 777 778 779 780 781 782 783 784 785 786 787 788 789 790 791 792 793 794 795 796 797 798 799 800 801 802 803 804 805 806 807 808 809 810 811 812 813 814 815 816 817 818 | public static function add_rewrite_rules() { /** Setup *************************************************************/ // Add rules to top or bottom? $priority = 'top' ; // Single Slugs $forum_slug = bbp_get_forum_slug(); $topic_slug = bbp_get_topic_slug(); $reply_slug = bbp_get_reply_slug(); $ttag_slug = bbp_get_topic_tag_tax_slug(); // Archive Slugs $view_slug = bbp_get_view_slug(); $search_slug = bbp_get_search_slug(); $topic_archive_slug = bbp_get_topic_archive_slug(); $reply_archive_slug = bbp_get_reply_archive_slug(); // Tertiary Slugs $feed_slug = 'feed' ; $edit_slug = 'edit' ; $paged_slug = bbp_get_paged_slug(); // Unique rewrite ID's $feed_id = 'feed' ; $edit_id = bbp_get_edit_rewrite_id(); $view_id = bbp_get_view_rewrite_id(); $paged_id = bbp_get_paged_rewrite_id(); $search_id = bbp_get_search_rewrite_id(); $user_id = bbp_get_user_rewrite_id(); $user_favs_id = bbp_get_user_favorites_rewrite_id(); $user_subs_id = bbp_get_user_subscriptions_rewrite_id(); $user_tops_id = bbp_get_user_topics_rewrite_id(); $user_reps_id = bbp_get_user_replies_rewrite_id(); // Rewrite rule matches used repeatedly below $root_rule = '/([^/]+)/?$' ; $feed_rule = '/([^/]+)/' . $feed_slug . '/?$' ; $edit_rule = '/([^/]+)/' . $edit_slug . '/?$' ; $paged_rule = '/([^/]+)/' . $paged_slug . '/?([0-9]{1,})/?$' ; // Search rules (without slug check) $search_root_rule = '/?$' ; $search_paged_rule = '/' . $paged_slug . '/?([0-9]{1,})/?$' ; /** Add ***************************************************************/ // Edit Forum|Topic|Reply|Topic-tag add_rewrite_rule( $forum_slug . $edit_rule , 'index.php?' . bbp_get_forum_post_type() . '=$matches[1]&' . $edit_id . '=1' , $priority ); add_rewrite_rule( $topic_slug . $edit_rule , 'index.php?' . bbp_get_topic_post_type() . '=$matches[1]&' . $edit_id . '=1' , $priority ); add_rewrite_rule( $reply_slug . $edit_rule , 'index.php?' . bbp_get_reply_post_type() . '=$matches[1]&' . $edit_id . '=1' , $priority ); add_rewrite_rule( $ttag_slug . $edit_rule , 'index.php?' . bbp_get_topic_tag_tax_id() . '=$matches[1]&' . $edit_id . '=1' , $priority ); // Topic-View Pagination|Feed|View add_rewrite_rule( $view_slug . $paged_rule , 'index.php?' . $view_id . '=$matches[1]&' . $paged_id . '=$matches[2]' , $priority ); add_rewrite_rule( $view_slug . $feed_rule , 'index.php?' . $view_id . '=$matches[1]&' . $feed_id . '=$matches[2]' , $priority ); add_rewrite_rule( $view_slug . $root_rule , 'index.php?' . $view_id . '=$matches[1]' , $priority ); // Search All add_rewrite_rule( $search_slug . $search_paged_rule , 'index.php?' . $paged_id . '=$matches[1]' , $priority ); add_rewrite_rule( $search_slug . $search_root_rule , 'index.php?' . $search_id , $priority ); } |
Changelog
Version | Description |
---|---|
bbPress (r2688) | Introduced. |
Questions?
We're always happy to help with code or other questions you might have! Search our developer docs, contact support, or connect with our sales team.