@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-09-13T01:20:30Z"^^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 """
<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>


<li>Three read-only MCP abilities for discovering and querying managed taxonomies against groups</li>

</ul>



<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 """
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


Three read-only MCP abilities for discovering and querying managed taxonomies against groups





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=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=author&term=cap-1> rdfs:seeAlso <https://lhero.org/?taxonomy=author&term=cap-1&feed=lhrdf&format=turtle> .
