@prefix sioc: <http://rdfs.org/sioc/ns#> .
@prefix dc: <http://purl.org/dc/elements/1.1/> .
@prefix dcterms: <http://purl.org/dc/terms/> .
@prefix xsd: <http://www.w3.org/2001/XMLSchema#> .
@prefix content: <http://purl.org/rss/1.0/modules/content/> .
@prefix rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#> .
@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> .

<https://lhero.org/?post_type=lh-portfolio&#038;p=147286>
  a sioc:Post ;
  dc:title "LH BuddyPress Group Taxonomies" ;
  dcterms:identifier 147286 ;
  dc:modified "2026-10-24T21:08:03Z"^^xsd:dateTime ;
  dc:created "2026-09-13T01:20:30Z"^^xsd:dateTime ;
  sioc:link <https://lhero.org/portfolio/lh-buddypress-group-taxonomies/> ;
  sioc:has_creator <https://lhero.org/author/1/#account> ;
  sioc:has_container <https://lhero.org/#posts> ;
  content:encoded """<ul class="lh_portfolio-meta"><li><strong>Type:</strong> Plugin</li><li><strong>Lifecycle Stage:</strong> Active</li></ul>
<p class="wp-block-paragraph">LH BuddyPress Group Taxonomies uses WordPress&#8217;s built-in taxonomy system to add tag-style classification to BuddyPress groups. It&#8217;s a fork of the unmaintained &#8220;BP Groups Taxo&#8221; (imath), ported to LH plugin conventions and re-architected to be site-specific rather than network-shared.</p>



<h2 class="wp-block-heading">Key features</h2>



<ul class="wp-block-list">

<li>Term CRUD wrappers and a reusable, multi-taxonomy <code>tax_query</code> API (<code>get_group_ids_by_tax_query()</code>) for fetching matching group IDs from any PHP code</li>


<li>Front-end group tag editors on group creation and group admin edit screens</li>


<li>Groups directory filtering/display by one or more taxonomies at once, via a proper SQL <code>tax_query</code> join against BuddyPress&#8217;s own group query rather than a PHP-side ID intersection</li>


<li>A wp-admin bulk tag management screen mirroring core&#8217;s <code>edit-tags.php</code></li>

</ul>



<p class="wp-block-paragraph">It has no MCP abilities of its own. Abilities for querying group taxonomies belong in the companion plugin that registers them, such as <a href="/portfolio/lh-competitions/">LH Competitions</a> for team seasons, nights and types.</p>



<h2 class="wp-block-heading">Infrastructure, not a taxonomy of its own</h2>



<p class="wp-block-paragraph">This plugin does not call <code>register_taxonomy()</code> itself. Companion plugins register their own taxonomy against the <code>bp_group</code> object type and add its name to the <code>lh_bp_group_taxonomies_taxonomies</code> filter; once added, this plugin provides the CRUD, query, and UI layer around it. It ships with no taxonomies managed by default.</p>



<h2 class="wp-block-heading">Site-specific by design</h2>



<p class="wp-block-paragraph">Unlike the original upstream plugin, this fork does not force root-blog activation or require network-wide BuddyPress activation. It runs independently on whichever site it&#8217;s active on, with each site keeping its own taxonomy vocabulary in that site&#8217;s own term tables — no shared, network-wide tag vocabulary between sites.</p>



<h2 class="wp-block-heading">Install &amp; setup</h2>



<ol class="wp-block-list">

<li>Upload/install the plugin as <code>lh-buddypress-group-taxonomies</code> and activate on the site(s) where group taxonomies are needed — no network activation required or assumed.</li>


<li>Register a taxonomy (object type <code>bp_group</code>) and hook it into <code>lh_bp_group_taxonomies_taxonomies</code>, typically from a companion plugin or theme.</li>


<li>Visit Settings → Permalinks → Save Changes on that site to flush rewrite rules if the taxonomy uses directory-style URLs.</li>

</ol>


<ul class="lh_portfolio-doc-toc"><li><a href="https://lhero.org/portfolio/lh-buddypress-group-taxonomies/admin-front-end-interfaces/">Admin &#038; front-end interfaces</a></li><li><a href="https://lhero.org/portfolio/lh-buddypress-group-taxonomies/mcp-abilities/">MCP abilities</a></li><li><a href="https://lhero.org/portfolio/lh-buddypress-group-taxonomies/hooks-filters/">Hooks &#038; filters</a></li><li><a href="https://lhero.org/portfolio/lh-buddypress-group-taxonomies/architectural-notes/">Architectural notes</a></li><li><a href="https://lhero.org/portfolio/lh-buddypress-group-taxonomies/changelog/">Changelog</a></li></ul>"""^^rdf:XMLLiteral ;
  sioc:content """Type: PluginLifecycle Stage: Active
LH BuddyPress Group Taxonomies uses WordPress&#8217;s built-in taxonomy system to add tag-style classification to BuddyPress groups. It&#8217;s a fork of the unmaintained &#8220;BP Groups Taxo&#8221; (imath), ported to LH plugin conventions and re-architected to be site-specific rather than network-shared.



Key features





Term CRUD wrappers and a reusable, multi-taxonomy tax_query API (get_group_ids_by_tax_query()) for fetching matching group IDs from any PHP code


Front-end group tag editors on group creation and group admin edit screens


Groups directory filtering/display by one or more taxonomies at once, via a proper SQL tax_query join against BuddyPress&#8217;s own group query rather than a PHP-side ID intersection


A wp-admin bulk tag management screen mirroring core&#8217;s edit-tags.php





It has no MCP abilities of its own. Abilities for querying group taxonomies belong in the companion plugin that registers them, such as LH Competitions for team seasons, nights and types.



Infrastructure, not a taxonomy of its own



This plugin does not call register_taxonomy() itself. Companion plugins register their own taxonomy against the bp_group object type and add its name to the lh_bp_group_taxonomies_taxonomies filter; once added, this plugin provides the CRUD, query, and UI layer around it. It ships with no taxonomies managed by default.



Site-specific by design



Unlike the original upstream plugin, this fork does not force root-blog activation or require network-wide BuddyPress activation. It runs independently on whichever site it&#8217;s active on, with each site keeping its own taxonomy vocabulary in that site&#8217;s own term tables — no shared, network-wide tag vocabulary between sites.



Install &amp; setup





Upload/install the plugin as lh-buddypress-group-taxonomies and activate on the site(s) where group taxonomies are needed — no network activation required or assumed.


Register a taxonomy (object type bp_group) and hook it into lh_bp_group_taxonomies_taxonomies, typically from a companion plugin or theme.


Visit Settings → Permalinks → Save Changes on that site to flush rewrite rules if the taxonomy uses directory-style URLs.




Admin &#038; front-end interfacesMCP abilitiesHooks &#038; filtersArchitectural notesChangelog""" ;
  sioc:topic <https://lhero.org/lh_portfolio-type/plugin/>, <https://lhero.org/lh_portfolio-lifecycle-stage/active/>, <https://lhero.org/?taxonomy=lh_portfolio-tags&term=buddypress>, <https://lhero.org/?taxonomy=lh_portfolio-tags&term=groups>, <https://lhero.org/?taxonomy=lh_portfolio-tags&term=multisite>, <https://lhero.org/?taxonomy=lh_portfolio-tags&term=taxonomy>, <https://lhero.org/?taxonomy=lh_portfolio-tags&term=tags>, <https://lhero.org/?taxonomy=author&term=cap-1> .

<https://lhero.org/author/1/#account> rdfs:seeAlso <https://lhero.org/author/1/?feed=lhrdf&format=turtle> .
<https://lhero.org/lh_portfolio-type/plugin/> rdfs:seeAlso <https://lhero.org/lh_portfolio-type/plugin/?feed=lhrdf&format=turtle> .
<https://lhero.org/lh_portfolio-lifecycle-stage/active/> rdfs:seeAlso <https://lhero.org/lh_portfolio-lifecycle-stage/active/?feed=lhrdf&format=turtle> .
<https://lhero.org/?taxonomy=lh_portfolio-tags&term=buddypress> rdfs:seeAlso <https://lhero.org/?taxonomy=lh_portfolio-tags&term=buddypress&feed=lhrdf&format=turtle> .
<https://lhero.org/?taxonomy=lh_portfolio-tags&term=groups> rdfs:seeAlso <https://lhero.org/?taxonomy=lh_portfolio-tags&term=groups&feed=lhrdf&format=turtle> .
<https://lhero.org/?taxonomy=lh_portfolio-tags&term=multisite> rdfs:seeAlso <https://lhero.org/?taxonomy=lh_portfolio-tags&term=multisite&feed=lhrdf&format=turtle> .
<https://lhero.org/?taxonomy=lh_portfolio-tags&term=taxonomy> rdfs:seeAlso <https://lhero.org/?taxonomy=lh_portfolio-tags&term=taxonomy&feed=lhrdf&format=turtle> .
<https://lhero.org/?taxonomy=lh_portfolio-tags&term=tags> rdfs:seeAlso <https://lhero.org/?taxonomy=lh_portfolio-tags&term=tags&feed=lhrdf&format=turtle> .
<https://lhero.org/?taxonomy=author&term=cap-1> rdfs:seeAlso <https://lhero.org/?taxonomy=author&term=cap-1&feed=lhrdf&format=turtle> .
