function sandbox_comment_class($print = true) { global $comment, $post, $sandbox_comment_alt; // Collects the comment type (comment, trackback), $c = array($comment->comment_type); // Counts trackbacks (t[n]) or comments (c[n]) if ($comment->comment_type == 'comment') { $c[] = "c{$sandbox_comment_alt}"; } else { $c[] = "t{$sandbox_comment_alt}"; } // If the comment author has an id (registered), then print the log in name if ($comment->user_id > 0) { $user = get_userdata($comment->user_id); // For all registered users, 'byuser'; to specificy the registered user, 'commentauthor+[log in name]' $c[] = 'byuser comment-author-' . sanitize_title_with_dashes(strtolower($user->user_login)); // For comment authors who are the author of the post if ($comment->user_id === $post->post_author) { $c[] = 'bypostauthor'; } } // If it's the other to the every, then add 'alt' class; collects time- and date-based classes sandbox_date_classes(mysql2date('U', $comment->comment_date), $c, 'c-'); if (++$sandbox_comment_alt % 2) { $c[] = 'alt'; } // Separates classes with a single space, collates classes for comment LI $c = join(' ', apply_filters('comment_class', $c)); // Available filter: comment_class // Tada again! return $print ? print $c : $c; }
function sandbox_classes($classes) { $c = array('wordpress'); sandbox_date_classes(time(), $c); foreach ($c as $single) { $classes[] = $single; } return $classes; }
function sandbox_comment_class($print = true) { global $comment, $post, $sandbox_comment_alt; $c = array($comment->comment_type, "c{$sandbox_comment_alt}"); if ($comment->user_id > 0) { $user = get_userdata($comment->user_id); $c[] = "byuser commentauthor-{$user->user_login}"; if ($comment->user_id === $post->post_author) { $c[] = 'bypostauthor'; } } sandbox_date_classes(mysql2date('U', $comment->comment_date), $c, 'c-'); if (++$sandbox_comment_alt % 2) { $c[] = 'alt'; } if (is_trackback()) { $c[] = 'trackback'; } $c = join(' ', apply_filters('comment_class', $c)); return $print ? print $c : $c; }
function sandbox_body_class($print = true) { global $wp_query, $current_user, $wp_version; $version = sanitize_title_with_dashes(str_replace('.', '-', $wp_version)); // It's surely a WordPress blog, right? $c = array('wp-' . $version); // Applies the time- and date-based classes (below) to BODY element //sandbox_date_classes( time(), $c ); // Generic semantic classes for what type of content is displayed is_front_page() ? $c[] = 'home' : null; // For the front page, if set is_home() ? $c[] = 'blog' : null; // For the blog posts page, if set is_archive() ? $c[] = 'archive' : null; is_date() ? $c[] = 'date' : null; is_search() ? $c[] = 'search' : null; is_paged() ? $c[] = 'paged' : null; is_attachment() ? $c[] = 'attachment' : null; is_404() ? $c[] = 'four04' : null; // CSS does not allow a digit as first character // Special classes for BODY element when a single post if (is_single()) { $postID = $wp_query->post->ID; the_post(); // Adds 'single' class and class with the post ID $c[] = 'single postid-' . $postID; // Adds classes for the month, day, and hour when the post was published if (isset($wp_query->post->post_date)) { sandbox_date_classes(mysql2date('U', $wp_query->post->post_date), $c, 's-'); } // Adds category classes for each category on single posts if ($cats = get_the_category()) { foreach ($cats as $cat) { $c[] = 's-category-' . $cat->slug; } } // Adds tag classes for each tags on single posts /** to much selectoor bad for SEO ck $ if ( $tags = get_the_tags() ) foreach ( $tags as $tag ) $c[] = 's-tag-' . $tag->slug; */ // Adds MIME-specific classes for attachments if (is_attachment()) { $mime_type = get_post_mime_type(); $mime_prefix = array('application/', 'image/', 'text/', 'audio/', 'video/', 'music/'); $c[] = 'attachmentid-' . $postID . ' attachment-' . str_replace($mime_prefix, "", "{$mime_type}"); } // Adds author class for the post author $c[] = 's-author-' . sanitize_title_with_dashes(strtolower(get_the_author_login())); rewind_posts(); } elseif (is_author()) { $author = $wp_query->get_queried_object(); $c[] = 'author'; $c[] = 'author-' . $author->user_nicename; } elseif (is_category()) { $cat = $wp_query->get_queried_object(); $c[] = 'category'; $c[] = 'category-' . $cat->slug; } elseif (is_tag()) { $tags = $wp_query->get_queried_object(); $c[] = 'tag'; $c[] = 'tag-' . $tags->slug; } elseif (is_page()) { $pageID = $wp_query->post->ID; $page_children = wp_list_pages("child_of={$pageID}&echo=0"); the_post(); $c[] = 'page pageid-' . $pageID; $c[] = 'page-author-' . sanitize_title_with_dashes(strtolower(get_the_author('login'))); // Checks to see if the page has children and/or is a child page; props to Adam if ($page_children) { $c[] = 'page-parent'; } if ($wp_query->post->post_parent) { $c[] = 'page-child parent-pageid-' . $wp_query->post->post_parent; } if (is_page_template()) { // Hat tip to Ian, themeshaper.com $c[] = 'page-template page-template-' . str_replace('.php', '-php', get_post_meta($pageID, '_wp_page_template', true)); } rewind_posts(); } elseif (is_search()) { the_post(); if (have_posts()) { $c[] = 'search-results'; } else { $c[] = 'search-no-results'; } rewind_posts(); } // For when a visitor is logged in while browsing if ($current_user->ID) { $c[] = 'loggedin'; } else { $c[] = 'guest'; } // Paged classes; for 'page X' classes of index, single, etc. if ((($page = $wp_query->get('paged')) || ($page = $wp_query->get('page'))) && $page > 1) { $c[] = 'paged-' . $page; if (is_single()) { $c[] = 'single-paged-' . $page; } elseif (is_page()) { $c[] = 'page-paged-' . $page; } elseif (is_category()) { $c[] = 'category-paged-' . $page; } elseif (is_tag()) { $c[] = 'tag-paged-' . $page; } elseif (is_date()) { $c[] = 'date-paged-' . $page; } elseif (is_author()) { $c[] = 'author-paged-' . $page; } elseif (is_search()) { $c[] = 'search-paged-' . $page; } } // Language settings from K2 body class $locale = get_locale(); if (empty($locale)) { $locale = 'en'; } else { $lang_array = split('_', $locale); $locale = $lang_array[0]; } $c[] = 'lang-' . $locale; // Separates classes with a single space, collates classes for BODY $c = join(' ', apply_filters('body_class', $c)); // Available filter: body_class // And tada! return $print ? print $c : $c; }