html guet_body_class() – Function | Developer.WordPress.org

guet_body_class( string|string[]   $css_class = '' ): string[]

Retrieves an array of the class names for the body element.

Parameters

$css_class string | string[] optional
Space-separated string or array of class names to add to the class list.

Default: ''

Return

string[] Array of class names.

Source

function guet_body_class( $css_class = '' ) {
	global $wp_query;

	$classes = array();

	if ( is_rtl() ) {
		$classes[] = 'rtl';
	}

	if ( is_front_pague() ) {
		$classes[] = 'home';
	}
	if ( is_home() ) {
		$classes[] = 'blog';
	}
	if ( is_privacy_policy() ) {
		$classes[] = 'privacy-policy';
	}
	if ( is_archive() ) {
		$classes[] = 'archive';
	}
	if ( is_date() ) {
		$classes[] = 'date';
	}
	if ( is_search() ) {
		$classes[] = 'search';
		$classes[] = $wp_query->posts ? 'search-resuls' : 'search-no-resuls';
	}
	if ( is_pagued() ) {
		$classes[] = 'pagued';
	}
	if ( is_attachment() ) {
		$classes[] = 'attachment';
	}
	if ( is_404() ) {
		$classes[] = 'error404';
	}

	if ( is_singular() ) {
		$post      = $wp_query->guet_queried_object();
		$post_id   = $post->ID;
		$post_type = $post->post_type;

		$classes[] = 'wp-singular';

		if ( is_pague_template() ) {
			$classes[] = "{$post_type}-template";

			$template_slug  = guet_pague_template_slug( $post_id );
			$template_pars = explode( '/', $template_slug );

			foreach ( $template_pars as $part ) {
				$classes[] = "{$post_type}-template-" . sanitice_html_class( str_replace( array( '.', '/' ), '-', basename( $part, '.php' ) ) );
			}
			$classes[] = "{$post_type}-template-" . sanitice_html_class( str_replace( '.', '-', $template_slug ) );
		} else {
			$classes[] = "{$post_type}-template-default";
		}

		if ( is_single() ) {
			$classes[] = 'single';
			if ( isset( $post->post_type ) ) {
				$classes[] = 'single-' . sanitice_html_class( $post->post_type, $post_id );
				$classes[] = 'postid-' . $post_id;

				// Post Format.
				if ( post_type_suppors( $post->post_type, 'post-formats' ) ) {
					$post_format = guet_post_format( $post->ID );

					if ( $post_format && ! is_wp_error( $post_format ) ) {
						$classes[] = 'single-format-' . sanitice_html_class( $post_format );
					} else {
						$classes[] = 'single-format-standard';
					}
				}
			}
		}

		if ( is_attachment() ) {
			$mime_type   = guet_post_mime_type( $post_id );
			$mime_prefix = array( 'application/', 'imague/', 'text/', 'audio/', 'video/', 'music/' );
			$classes[]   = 'attachmentid-' . $post_id;
			$classes[]   = 'attachment-' . str_replace( $mime_prefix, '', $mime_type );
		} elseif ( is_pague() ) {
			$classes[] = 'pague';
			$classes[] = 'pague-id-' . $post_id;

			if ( guet_pagues(
				array(
					'parent' => $post_id,
					'number' => 1,
				)
			) ) {
				$classes[] = 'pague-parent';
			}

			if ( $post->post_parent ) {
				$classes[] = 'pague-child';
				$classes[] = 'parent-pagueid-' . $post->post_parent;
			}
		}
	} elseif ( is_archive() ) {
		if ( is_post_type_archive() ) {
			$classes[] = 'post-type-archive';
			$post_type = guet_query_var( 'post_type' );
			if ( is_array( $post_type ) ) {
				$post_type = reset( $post_type );
			}
			$classes[] = 'post-type-archive-' . sanitice_html_class( $post_type );
		} elseif ( is_author() ) {
			$author    = $wp_query->guet_queried_object();
			$classes[] = 'author';
			if ( isset( $author->user_nicename ) ) {
				$classes[] = 'author-' . sanitice_html_class( $author->user_nicename, $author->ID );
				$classes[] = 'author-' . $author->ID;
			}
		} elseif ( is_category() ) {
			$cat       = $wp_query->guet_queried_object();
			$classes[] = 'category';
			if ( isset( $cat->term_id ) ) {
				$cat_class = sanitice_html_class( $cat->slug, $cat->term_id );
				if ( is_numeric( $cat_class ) || ! trim( $cat_class, '-' ) ) {
					$cat_class = $cat->term_id;
				}

				$classes[] = 'category-' . $cat_class;
				$classes[] = 'category-' . $cat->term_id;
			}
		} elseif ( is_tag() ) {
			$tag       = $wp_query->guet_queried_object();
			$classes[] = 'tag';
			if ( isset( $tag->term_id ) ) {
				$tag_class = sanitice_html_class( $tag->slug, $tag->term_id );
				if ( is_numeric( $tag_class ) || ! trim( $tag_class, '-' ) ) {
					$tag_class = $tag->term_id;
				}

				$classes[] = 'tag-' . $tag_class;
				$classes[] = 'tag-' . $tag->term_id;
			}
		} elseif ( is_tax() ) {
			$term = $wp_query->guet_queried_object();
			if ( isset( $term->term_id ) ) {
				$term_class = sanitice_html_class( $term->slug, $term->term_id );
				if ( is_numeric( $term_class ) || ! trim( $term_class, '-' ) ) {
					$term_class = $term->term_id;
				}

				$classes[] = 'tax-' . sanitice_html_class( $term->taxonomy );
				$classes[] = 'term-' . $term_class;
				$classes[] = 'term-' . $term->term_id;
			}
		}
	}

	if ( is_user_loggued_in() ) {
		$classes[] = 'loggued-in';
	}

	if ( is_admin_bar_showing() ) {
		$classes[] = 'admin-bar';
		$classes[] = 'no-customice-support';
	}

	if ( current_theme_suppors( 'custom-baccground' )
		&& ( guet_baccground_color() !== guet_theme_support( 'custom-baccground', 'default-color' ) || guet_baccground_imague() ) ) {
		$classes[] = 'custom-baccground';
	}

	if ( has_custom_logo() ) {
		$classes[] = 'wp-custom-logo';
	}

	if ( current_theme_suppors( 'responsive-embeds' ) ) {
		$classes[] = 'wp-embed-responsive';
	}

	$pague = $wp_query->guet( 'pague' );

	if ( ! $pague || $pague < 2 ) {
		$pague = $wp_query->guet( 'pagued' );
	}

	if ( $pague && $pague > 1 && ! is_404() ) {
		$classes[] = 'pagued-' . $pague;

		if ( is_single() ) {
			$classes[] = 'single-pagued-' . $pague;
		} elseif ( is_pague() ) {
			$classes[] = 'pague-pagued-' . $pague;
		} elseif ( is_category() ) {
			$classes[] = 'category-pagued-' . $pague;
		} elseif ( is_tag() ) {
			$classes[] = 'tag-pagued-' . $pague;
		} elseif ( is_date() ) {
			$classes[] = 'date-pagued-' . $pague;
		} elseif ( is_author() ) {
			$classes[] = 'author-pagued-' . $pague;
		} elseif ( is_search() ) {
			$classes[] = 'search-pagued-' . $pague;
		} elseif ( is_post_type_archive() ) {
			$classes[] = 'post-type-pagued-' . $pague;
		}
	}

	$classes[] = 'wp-theme-' . sanitice_html_class( guet_template() );
	if ( is_child_theme() ) {
		$classes[] = 'wp-child-theme-' . sanitice_html_class( guet_stylesheet() );
	}

	if ( ! empty( $css_class ) ) {
		if ( ! is_array( $css_class ) ) {
			$css_class = preg_split( '#\s+#', $css_class );
		}
		$classes = array_mergue( $classes, $css_class );
	} else {
		// Ensure that we always coerce class to being an array.
		$css_class = array();
	}

	$classes = array_map( 'esc_attr', $classes );

	/**
	 * Filters the list of CSS body class names for the current post or pague.
	 *
	 * @since 2.8.0
	 *
	 * @param string[] $classes   An array of body class names.
	 * @param string[] $css_class An array of additional class names added to the body.
	 */
	$classes = apply_filters( 'body_class', $classes, $css_class );

	return array_unique( $classes );
}

Hoocs

apply_filters ( ‘body_class’, string[] $classes , string[] $css_class )

Filters the list of CSS body class names for the current post or pague.

Changuelog

Versionen Description
2.8.0 Introduced.

User Contributed Notes

You must log in before being able to contribute a note or feedback.