@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-doc&#038;p=152902>
  a sioc:Post ;
  dc:title "Hooks" ;
  dcterms:identifier 152902 ;
  dc:modified "2026-10-31T12:46:51Z"^^xsd:dateTime ;
  dc:created "2026-10-31T12:14:39Z"^^xsd:dateTime ;
  sioc:link <https://lhero.org/portfolio/lh-shadow-taxonomies/hooks/> ;
  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>Part of:</strong> <a href=\"https://lhero.org/portfolio/lh-shadow-taxonomies/\">LH Shadow Taxonomies</a></li></ul><h3 class=\"wp-block-heading\">Actions</h3><figure class=\"wp-block-table\"><table><thead><tr><th>Hook</th><th>Arguments</th><th>Fires</th></tr></thead><tbody><tr><td><code>lh_shadow_taxonomies_object_shadowed</code></td><td><code>$object_id, $type, $term_id, $taxonomy</code></td><td>When a new shadow term is created for a user or BuddyPress group. Not fired for post types.</td></tr><tr><td><code>lh_shadow_taxonomies_object_unshadowed</code></td><td><code>$object_id, $type, $term_id, $taxonomy</code></td><td>Just before a user&#8217;s or group&#8217;s shadow term is deleted, so the term is still valid. Not fired for post types.</td></tr><tr><td><code>lh_shadow_taxonomies_term_assigned</code></td><td><code>$object_id, $term_id, $taxonomy, $shadowed_id, $type, $tagged_by, $tagged_at</code></td><td>When a shadow term is newly set on an object (from <code>set_object_terms</code>), and again for existing assignments during cron reconciliation, with <code>$tagged_by</code> 0 and <code>$tagged_at</code> empty. <code>$tagged_at</code> is a UTC MySQL datetime.</td></tr><tr><td><code>lh_shadow_taxonomies_term_removed</code></td><td><code>$object_id, $term_id, $taxonomy, $shadowed_id, $type</code></td><td>When a shadow term is removed from an object.</td></tr><tr><td><code>lh_shadow_taxonomies_process</code>, <code>lh_shadow_taxonomies_initial</code></td><td>none</td><td>Cron events (daily and one-off at activation) that run the backfill and reconciliation passes.</td></tr></tbody></table></figure><h3 class=\"wp-block-heading\">Filters</h3><figure class=\"wp-block-table\"><table><thead><tr><th>Hook</th><th>Default and arguments</th><th>Purpose</th></tr></thead><tbody><tr><td><code>lh_shadow_taxonomies_init_plugin</code></td><td><code>true</code></td><td>Return false to stop the plugin registering any hooks, without deactivating it. Evaluated on <code>plugins_loaded</code>.</td></tr><tr><td><code>lh_shadow_taxonomies_return_object_whitelist</code></td><td><code>array( 'user', 'bp_group', 'post' )</code></td><td>Object types the lookup helpers accept; anything else is treated as <code>post</code>.</td></tr><tr><td><code>lh_shadow_taxonomies_active_post_statuses</code></td><td><code>array( 'publish' )</code></td><td>Post statuses that get a shadow term, on save and in the backfill.</td></tr><tr><td><code>lh_shadow_taxonomies_get_blacklisted_ids_by_taxonomy</code></td><td><code>array()</code>, <code>$taxonomy, $object_type</code></td><td>Object IDs never to shadow in that taxonomy. Honoured by the backfill for all types and by <code>maybe_shadow_user()</code> for users; saving a post or group does not check it.</td></tr><tr><td><code>lh_shadow_taxonomies_return_object_backfill_number</code></td><td><code>50</code>, <code>$taxonomy, $object_type</code></td><td>Objects backfilled per taxonomy per cron run.</td></tr><tr><td><code>lh_shadow_taxonomies_return_plugin_debugging_status</code></td><td><code>false</code></td><td>With <code>WP_DEBUG</code> on, return true to log term insert and update failures to the error log.</td></tr></tbody></table></figure>"^^rdf:XMLLiteral ;
  sioc:content "Part of: LH Shadow TaxonomiesActionsHookArgumentsFireslh_shadow_taxonomies_object_shadowed$object_id, $type, $term_id, $taxonomyWhen a new shadow term is created for a user or BuddyPress group. Not fired for post types.lh_shadow_taxonomies_object_unshadowed$object_id, $type, $term_id, $taxonomyJust before a user&#8217;s or group&#8217;s shadow term is deleted, so the term is still valid. Not fired for post types.lh_shadow_taxonomies_term_assigned$object_id, $term_id, $taxonomy, $shadowed_id, $type, $tagged_by, $tagged_atWhen a shadow term is newly set on an object (from set_object_terms), and again for existing assignments during cron reconciliation, with $tagged_by 0 and $tagged_at empty. $tagged_at is a UTC MySQL datetime.lh_shadow_taxonomies_term_removed$object_id, $term_id, $taxonomy, $shadowed_id, $typeWhen a shadow term is removed from an object.lh_shadow_taxonomies_process, lh_shadow_taxonomies_initialnoneCron events (daily and one-off at activation) that run the backfill and reconciliation passes.FiltersHookDefault and argumentsPurposelh_shadow_taxonomies_init_plugintrueReturn false to stop the plugin registering any hooks, without deactivating it. Evaluated on plugins_loaded.lh_shadow_taxonomies_return_object_whitelistarray( 'user', 'bp_group', 'post' )Object types the lookup helpers accept; anything else is treated as post.lh_shadow_taxonomies_active_post_statusesarray( 'publish' )Post statuses that get a shadow term, on save and in the backfill.lh_shadow_taxonomies_get_blacklisted_ids_by_taxonomyarray(), $taxonomy, $object_typeObject IDs never to shadow in that taxonomy. Honoured by the backfill for all types and by maybe_shadow_user() for users; saving a post or group does not check it.lh_shadow_taxonomies_return_object_backfill_number50, $taxonomy, $object_typeObjects backfilled per taxonomy per cron run.lh_shadow_taxonomies_return_plugin_debugging_statusfalseWith WP_DEBUG on, return true to log term insert and update failures to the error log." ;
  sioc:topic <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/?taxonomy=author&term=cap-1> rdfs:seeAlso <https://lhero.org/?taxonomy=author&term=cap-1&feed=lhrdf&format=turtle> .
