Skip to content

Instantly share code, notes, and snippets.

@matesnippets
Created March 10, 2015 16:59
Show Gist options
  • Select an option

  • Save matesnippets/8bf6d23d0ee10ebff13b to your computer and use it in GitHub Desktop.

Select an option

Save matesnippets/8bf6d23d0ee10ebff13b to your computer and use it in GitHub Desktop.
PHP, WordPress, Prepend a namespace in WordPress body_class() function, so that it won't clash with other class names. E.g. `root--`.
/**
* Prepend a namespace in WordPress body_class() function
* @param string $prefix The desired prefix
* @param string $classes Additional classes separated by single space
* @return string Single space separated list of classes
*/
function body_class_prefix($prefix, $classes = '')
{
global $wp_query;
$output = '';
$body_classes = get_body_class();
foreach ($body_classes as $class) {
$output .= $prefix.$class . ' ';
}
echo "class='$output$classes' ";
}
@jgthms
Copy link

jgthms commented Apr 12, 2018

Thanks for the code! I made it into a filter:

function prepend_body_class( $classes ) {
  $prepended_classes = array_map(
    function($value) {
      return 'body-' . $value;
    },
    $classes
  );
  return $prepended_classes;
}
add_filter( 'body_class', 'prepend_body_class' );

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment