WordPress.org

Make WordPress Core

Ticket #4517: 4517-add-sandbox-0.9.5-theme.diff

File 4517-add-sandbox-0.9.5-theme.diff, 237.2 KB (added by Speedboxer, 8 years ago)

Add Sandbox 0.9.5 Theme and Add it to wp-includes/theme.php

  • wp-content/themes/sandbox/footer.php

     
     1 
     2        <div id="footer"> 
     3                <span id="generator-link"><a href="http://wordpress.org/" title="<?php _e('WordPress', 'sandbox'); ?>" rel="generator"><?php _e('WordPress', 'sandbox'); ?></a></span> 
     4                <span class="meta-sep">|</span> 
     5                <span id="theme-link"><a href="http://www.plaintxt.org/themes/sandbox/" title="<?php _e('Sandbox for WordPress', 'sandbox'); ?>" rel="designer"><?php _e('Sandbox', 'sandbox'); ?></a></span> 
     6        </div><!-- #footer --> 
     7 
     8</div><!-- #wrapper .hfeed --> 
     9 
     10<?php wp_footer() ?> 
     11 
     12</body> 
     13</html> 
     14 No newline at end of file 
  • wp-content/themes/sandbox/style.css

     
     1/* 
     2THEME NAME: Sandbox 
     3THEME URI: http://www.plaintxt.org/themes/sandbox/ 
     4DESCRIPTION: A theme rich with powerful and dynamic semantic class selectors; a canvas for CSS artists 
     5VERSION: 0.9.5 
     6AUTHOR: <a href="http://andy.wordpress.com/">Andy Skelton</a> &amp; <a href="http://www.plaintxt.org/">Scott Allan Wallick</a> 
     7AUTHOR URI: 
     8*/ 
     9 
     10/* Two-column with sidebar on left from the /sandbox-layouts/ folder  */ 
     11@import url('sandbox-layouts/2c-l.css'); 
     12 
     13/* Just some example content */ 
     14div#header{text-align:center;margin-bottom:2em;} 
     15div#access div.skip-link{position:absolute;top:1em;right:1em;} 
     16div#menu{font-size:0.9em;height:1.5em;padding-top:0.3em;background:#eee;width:100%;} 
     17div#menu ul a{font-weight:700;text-decoration:none;} 
     18div#menu ul,div#menu ul ul,div#menu ul li{list-style:none;margin:0;padding:0;} 
     19div#menu ul li{float:left;} 
     20div#menu ul li a{background:#eee;padding:0.3em 0.5em;} 
     21div#menu ul ul{display:none;} 
     22div#menu ul ul li{float:none;} 
     23div#menu ul ul li a{margin:0;padding:0;} 
     24div#menu ul li:hover ul{display:block;font-size:0.9em;padding-top:0.5em;position:absolute;} 
     25div#menu ul li:hover ul li a{background:#f5f5f5;border:none;display:block;padding:0.1em;width:10em;} 
     26 
     27.entry-title{clear:both;} 
     28div#container,div.sidebar{margin-top:2em;} 
     29div#nav-above,div#nav-below{width:100%;height:1em;} 
     30div#nav-above{margin-bottom:1em;} 
     31div#nav-below{margin-top:1em;} 
     32.alignleft,div.nav-previous{float: left;} 
     33.alignright,div.nav-next{float: right;} 
     34form#commentform .form-label{margin:1em 0 0;} 
     35form#commentform span.req-field{background:#fff;color:red;} 
     36form#commentform,form#commentform p{padding:0;} 
     37input#author,input#email,input#url{width:50%;} 
     38input#author,input#email,input#url,textarea#comment{padding:0.2em;} 
     39div.comments ol li{margin:0 0 3.5em;} 
     40textarea#comment{height:13em;margin:0 0 0.5em;overflow:auto;width:66%;} 
     41 
     42div.sidebar div,div.sidebar h3,div.sidebar ul,div.sidebar li{margin:0;padding:0;} 
     43div.sidebar h3{font-size:1.2em;} 
     44div.sidebar input#s{width:7em;} 
     45div.sidebar li{list-style:none;margin:0 0 1em;} 
     46div.sidebar li form{margin:0.2em 0 0;padding:0;} 
     47div.sidebar ul ul{margin:0 0 0 1em;} 
     48div.sidebar ul ul li{list-style:disc;margin:0;} 
     49div.sidebar ul ul ul{margin:0 0 0 0.5em;} 
     50div.sidebar ul ul ul li{list-style:circle;} 
     51 
     52div#footer{text-align:center;} 
     53 No newline at end of file 
  • wp-content/themes/sandbox/author.php

     
     1<?php get_header() ?> 
     2 
     3        <div id="container"> 
     4                <div id="content"> 
     5 
     6<?php the_post() ?> 
     7 
     8                        <h2 class="page-title author"><?php printf(__('Author Archives: <span class="vcard">%s</span>', 'sandbox'), "<a class='url fn n' href='$authordata->user_url' title='$authordata->display_name' rel='me'>$authordata->display_name</a>") ?></h2> 
     9                        <div class="archive-meta"><?php if ( !(''== $authordata->user_description) ) : echo apply_filters('archive_meta', $authordata->user_description); endif; ?></div> 
     10 
     11                        <div id="nav-above" class="navigation"> 
     12                                <div class="nav-previous"><?php next_posts_link(__('<span class="meta-nav">&laquo;</span> Older posts', 'sandbox')) ?></div> 
     13                                <div class="nav-next"><?php previous_posts_link(__('Newer posts <span class="meta-nav">&raquo;</span>', 'sandbox')) ?></div> 
     14                        </div> 
     15 
     16<?php rewind_posts(); while (have_posts()) : the_post(); ?> 
     17 
     18                        <div id="post-<?php the_ID(); ?>" class="<?php sandbox_post_class(); ?>"> 
     19                                <h3 class="entry-title"><a href="<?php the_permalink() ?>" title="<?php printf(__('Permalink to %s', 'sandbox'), wp_specialchars(get_the_title(), 1)) ?>" rel="bookmark"><?php the_title(); ?></a></h3> 
     20                                <div class="entry-date"><abbr class="published" title="<?php the_time('Y-m-d\TH:i:sO'); ?>"><?php unset($previousday); printf(__('%1$s &#8211; %2$s', 'sandbox'), the_date('', '', '', false), get_the_time()) ?></abbr></div> 
     21                                <div class="entry-content "> 
     22<?php the_excerpt(''.__('Read More <span class="meta-nav">&raquo;</span>', 'sandbox').'') ?> 
     23 
     24                                </div> 
     25                                <div class="entry-meta"> 
     26                                        <span class="cat-links"><?php printf(__('Posted in %s', 'sandbox'), get_the_category_list(', ')) ?></span> 
     27                                        <span class="meta-sep">|</span> 
     28<?php edit_post_link(__('Edit', 'sandbox'), "\t\t\t\t\t<span class=\"edit-link\">", "</span>\n\t\t\t\t\t<span class=\"meta-sep\">|</span>\n"); ?> 
     29                                        <span class="comments-link"><?php comments_popup_link(__('Comments (0)', 'sandbox'), __('Comments (1)', 'sandbox'), __('Comments (%)', 'sandbox')) ?></span> 
     30                                </div> 
     31                        </div><!-- .post --> 
     32 
     33<?php endwhile ?> 
     34 
     35                        <div id="nav-below" class="navigation"> 
     36                                <div class="nav-previous"><?php next_posts_link(__('<span class="meta-nav">&laquo;</span> Older posts', 'sandbox')) ?></div> 
     37                                <div class="nav-next"><?php previous_posts_link(__('Newer posts <span class="meta-nav">&raquo;</span>', 'sandbox')) ?></div> 
     38                        </div> 
     39         
     40                </div><!-- #content --> 
     41        </div><!-- #container --> 
     42 
     43<?php get_sidebar() ?> 
     44<?php get_footer() ?> 
     45 No newline at end of file 
  • wp-content/themes/sandbox/archives.php

     
     1<?php 
     2/* 
     3Template Name: Archives Page 
     4*/ 
     5?> 
     6<?php get_header() ?> 
     7         
     8        <div id="container"> 
     9                <div id="content"> 
     10 
     11<?php the_post() ?> 
     12 
     13                        <div id="post-<?php the_ID() ?>" class="<?php sandbox_post_class() ?>"> 
     14                                <h2 class="entry-title"><?php the_title() ?></h2> 
     15                                <div class="entry-content"> 
     16<?php the_content(); ?> 
     17 
     18                                        <ul id="archives-page" class="xoxo"> 
     19                                                <li id="category-archives" class="content-column"> 
     20                                                        <h3><?php _e('Archives by Category', 'sandbox') ?></h3> 
     21                                                        <ul> 
     22                                                                <?php wp_list_cats('sort_column=name&optioncount=1&feed=RSS') ?>  
     23                                                        </ul> 
     24                                                </li> 
     25                                                <li id="monthly-archives" class="content-column"> 
     26                                                        <h3><?php _e('Archives by Month', 'sandbox') ?></h3> 
     27                                                        <ul> 
     28                                                                <?php wp_get_archives('type=monthly&show_post_count=1') ?> 
     29                                                        </ul> 
     30                                                </li> 
     31                                        </ul> 
     32<?php edit_post_link(__('Edit', 'sandbox'),'<span class="edit-link">','</span>') ?> 
     33 
     34                                </div> 
     35                        </div><!-- .post --> 
     36 
     37<?php if ( get_post_custom_values('comments') ) comments_template() // Add a key/value of "comments" to enable comments on pages! ?> 
     38 
     39                </div><!-- #content --> 
     40        </div><!-- #container --> 
     41 
     42<?php get_sidebar() ?> 
     43<?php get_footer() ?> 
     44 No newline at end of file 
  • wp-content/themes/sandbox/search.php

     
     1<?php get_header() ?> 
     2 
     3        <div id="container"> 
     4                <div id="content"> 
     5 
     6<?php if (have_posts()) : ?> 
     7 
     8                <h2 class="page-title"><?php _e('Search Results for:', 'sandbox') ?> <span id="search-terms"><?php echo wp_specialchars(stripslashes($_GET['s']), true); ?></span></h2> 
     9 
     10                        <div id="nav-above" class="navigation"> 
     11                                <div class="nav-previous"><?php next_posts_link(__('<span class="meta-nav">&laquo;</span> Older posts', 'sandbox')) ?></div> 
     12                                <div class="nav-next"><?php previous_posts_link(__('Newer posts <span class="meta-nav">&raquo;</span>', 'sandbox')) ?></div> 
     13                        </div> 
     14 
     15<?php while ( have_posts() ) : the_post(); ?> 
     16 
     17                        <div id="post-<?php the_ID() ?>" class="<?php sandbox_post_class() ?>"> 
     18                                <h3 class="entry-title"><a href="<?php the_permalink() ?>" title="<?php printf(__('Permalink to %s', 'sandbox'), wp_specialchars(get_the_title(), 1)) ?>" rel="bookmark"><?php the_title() ?></a></h3> 
     19                                <div class="entry-date"><abbr class="published" title="<?php the_time('Y-m-d\TH:i:sO'); ?>"><?php unset($previousday); printf(__('%1$s &#8211; %2$s', 'sandbox'), the_date('', '', '', false), get_the_time()) ?></abbr></div> 
     20                                <div class="entry-content"> 
     21<?php the_excerpt(''.__('Read More <span class="meta-nav">&raquo;</span>', 'sandbox').'') ?> 
     22 
     23                                </div> 
     24                                <div class="entry-meta"> 
     25                                        <span class="author vcard"><?php printf(__('By %s', 'sandbox'), '<a class="url fn n" href="'.get_author_link(false, $authordata->ID, $authordata->user_nicename).'" title="' . sprintf(__('View all posts by %s', 'sandbox'), $authordata->display_name) . '">'.get_the_author().'</a>') ?></span> 
     26                                        <span class="meta-sep">|</span> 
     27                                        <span class="cat-links"><?php printf(__('Posted in %s', 'sandbox'), get_the_category_list(', ')) ?></span> 
     28                                        <span class="meta-sep">|</span> 
     29<?php edit_post_link(__('Edit', 'sandbox'), "\t\t\t\t\t<span class=\"edit-link\">", "</span>\n\t\t\t\t\t<span class=\"meta-sep\">|</span>\n"); ?> 
     30                                        <span class="comments-link"><?php comments_popup_link(__('Comments (0)', 'sandbox'), __('Comments (1)', 'sandbox'), __('Comments (%)', 'sandbox')) ?></span> 
     31                                </div> 
     32                        </div><!-- .post --> 
     33 
     34<?php endwhile; ?> 
     35 
     36                        <div id="nav-below" class="navigation"> 
     37                                <div class="nav-previous"><?php next_posts_link(__('<span class="meta-nav">&laquo;</span> Older posts', 'sandbox')) ?></div> 
     38                                <div class="nav-next"><?php previous_posts_link(__('Newer posts <span class="meta-nav">&raquo;</span>', 'sandbox')) ?></div> 
     39                        </div> 
     40 
     41<?php else : ?> 
     42 
     43                        <div id="post-0" class="post noresults"> 
     44                                <h2 class="entry-title"><?php _e('Nothing Found', 'sandbox') ?></h2> 
     45                                <div class="entry-content"> 
     46                                        <p><?php _e('Sorry, but nothing matched your search criteria. Please try again with some different keywords.', 'sandbox') ?></p> 
     47                                </div> 
     48                                <form id="searchform" method="get" action="<?php bloginfo('home') ?>"> 
     49                                        <div> 
     50                                                <input id="s" name="s" type="text" value="<?php echo wp_specialchars(stripslashes($_GET['s']), true) ?>" size="40" /> 
     51                                                <input id="searchsubmit" name="searchsubmit" type="submit" value="<?php _e('Find', 'sandbox') ?>" /> 
     52                                        </div> 
     53                                </form> 
     54                        </div><!-- .post --> 
     55 
     56<?php endif; ?> 
     57 
     58                </div><!-- #content --> 
     59        </div><!-- #container --> 
     60 
     61<?php get_sidebar() ?> 
     62<?php get_footer() ?> 
     63 No newline at end of file 
  • wp-content/themes/sandbox/index.php

     
     1<?php get_header() ?> 
     2 
     3        <div id="container"> 
     4                <div id="content"> 
     5 
     6                        <div id="nav-above" class="navigation"> 
     7                                <div class="nav-previous"><?php next_posts_link(__('<span class="meta-nav">&laquo;</span> Older posts', 'sandbox')) ?></div> 
     8                                <div class="nav-next"><?php previous_posts_link(__('Newer posts <span class="meta-nav">&raquo;</span>', 'sandbox')) ?></div> 
     9                        </div> 
     10 
     11<?php while ( have_posts() ) : the_post() ?> 
     12                        <div id="post-<?php the_ID() ?>" class="<?php sandbox_post_class() ?>"> 
     13                                <h2 class="entry-title"><a href="<?php the_permalink() ?>" title="<?php printf(__('Permalink to %s', 'sandbox'), wp_specialchars(get_the_title(), 1)) ?>" rel="bookmark"><?php the_title() ?></a></h2> 
     14                                <div class="entry-date"><abbr class="published" title="<?php the_time('Y-m-d\TH:i:sO'); ?>"><?php unset($previousday); printf(__('%1$s &#8211; %2$s', 'sandbox'), the_date('', '', '', false), get_the_time()) ?></abbr></div> 
     15                                <div class="entry-content"> 
     16<?php the_content(''.__('Read More <span class="meta-nav">&raquo;</span>', 'sandbox').''); ?> 
     17 
     18<?php link_pages("\t\t\t\t\t<div class='page-link'>".__('Pages: ', 'sandbox'), "</div>\n", 'number'); ?> 
     19                                </div> 
     20                                <div class="entry-meta"> 
     21                                        <span class="author vcard"><?php printf(__('By %s', 'sandbox'), '<a class="url fn n" href="'.get_author_link(false, $authordata->ID, $authordata->user_nicename).'" title="' . sprintf(__('View all posts by %s', 'sandbox'), $authordata->display_name) . '">'.get_the_author().'</a>') ?></span> 
     22                                        <span class="meta-sep">|</span> 
     23                                        <span class="cat-links"><?php printf(__('Posted in %s', 'sandbox'), get_the_category_list(', ')) ?></span> 
     24                                        <span class="meta-sep">|</span> 
     25<?php edit_post_link(__('Edit', 'sandbox'), "\t\t\t\t\t<span class=\"edit-link\">", "</span>\n\t\t\t\t\t<span class=\"meta-sep\">|</span>\n"); ?> 
     26                                        <span class="comments-link"><?php comments_popup_link(__('Comments (0)', 'sandbox'), __('Comments (1)', 'sandbox'), __('Comments (%)', 'sandbox')) ?></span> 
     27                                </div> 
     28                        </div><!-- .post --> 
     29 
     30<?php comments_template() ?> 
     31<?php endwhile ?> 
     32 
     33                        <div id="nav-below" class="navigation"> 
     34                                <div class="nav-previous"><?php next_posts_link(__('<span class="meta-nav">&laquo;</span> Older posts', 'sandbox')) ?></div> 
     35                                <div class="nav-next"><?php previous_posts_link(__('Newer posts <span class="meta-nav">&raquo;</span>', 'sandbox')) ?></div> 
     36                        </div> 
     37 
     38                </div><!-- #content --> 
     39        </div><!-- #container --> 
     40 
     41<?php get_sidebar() ?> 
     42<?php get_footer() ?> 
     43 No newline at end of file 
  • wp-content/themes/sandbox/404.php

     
     1<?php get_header() ?> 
     2 
     3        <div id="container"> 
     4                <div id="content"> 
     5 
     6                        <div id="post-0" class="post error404"> 
     7                                <h2 class="entry-title"><?php _e('Not Found', 'sandbox') ?></h2> 
     8                                <div class="entry-content"> 
     9                                        <p><?php _e('Apologies, but we were unable to find what you were looking for. Perhaps  searching will help.', 'sandbox') ?></p> 
     10                                </div> 
     11                                <form id="searchform" method="get" action="<?php bloginfo('home') ?>"> 
     12                                        <div> 
     13                                                <input id="s" name="s" type="text" value="<?php echo wp_specialchars(stripslashes($_GET['s']), true) ?>" size="40" /> 
     14                                                <input id="searchsubmit" name="searchsubmit" type="submit" value="<?php _e('Find', 'sandbox') ?>" /> 
     15                                        </div> 
     16                                </form> 
     17                        </div><!-- .post --> 
     18 
     19                </div><!-- #content --> 
     20        </div><!-- #container --> 
     21 
     22<?php get_sidebar() ?> 
     23<?php get_footer() ?> 
     24 No newline at end of file 
  • wp-content/themes/sandbox/functions.php

     
     1<?php 
     2// Produces a list of pages in the header without whitespace -- er, I mean negative space. 
     3function sandbox_globalnav() { 
     4        echo '<div id="menu"><ul>'; 
     5        $menu = wp_list_pages('title_li=&sort_column=post_title&echo=0'); // Params for the page list in header.php 
     6        echo str_replace(array("\r", "\n", "\t"), '', $menu); 
     7        echo "</ul></div>\n"; 
     8} 
     9 
     10// Checks for WP 2.1.x language_attributes() function 
     11function sandbox_blog_lang() { 
     12        if ( function_exists('language_attributes') ) 
     13                return language_attributes(); 
     14} 
     15 
     16// Generates semantic classes for BODY element 
     17function sandbox_body_class( $print = true ) { 
     18        global $wp_query, $current_user; 
     19         
     20        // It's surely a WordPress blog, right? 
     21        $c = array('wordpress'); 
     22 
     23        // Applies the time- and date-based classes (below) to BODY element 
     24        sandbox_date_classes(time(), $c); 
     25 
     26        // Generic semantic classes for what type of content is displayed 
     27        is_home()       ? $c[] = 'home'       : null; 
     28        is_archive()    ? $c[] = 'archive'    : null; 
     29        is_date()       ? $c[] = 'date'       : null; 
     30        is_search()     ? $c[] = 'search'     : null; 
     31        is_paged()      ? $c[] = 'paged'      : null; 
     32        is_attachment() ? $c[] = 'attachment' : null; 
     33        is_404()        ? $c[] = 'four04'     : null; // CSS does not allow a digit as first character 
     34 
     35        // Special classes for BODY element when a single post 
     36        if ( is_single() ) { 
     37                $postID = $wp_query->post->ID; 
     38                the_post(); 
     39                $c[] = 'single postid-' . $postID; 
     40                if ( isset($wp_query->post->post_date) ) 
     41                        sandbox_date_classes(mysql2date('U', $wp_query->post->post_date), $c, 's-'); 
     42                foreach ( (array) get_the_category() as $cat ) 
     43                        $c[] = 's-category-' . $cat->category_nicename; 
     44                        $c[] = 's-author-' . sanitize_title_with_dashes(strtolower(get_the_author('login'))); 
     45                rewind_posts(); 
     46        } 
     47 
     48        // Author name classes for BODY on author archives 
     49        else if ( is_author() ) { 
     50                $author = $wp_query->get_queried_object(); 
     51                $c[] = 'author'; 
     52                $c[] = 'author-' . $author->user_nicename; 
     53        } 
     54 
     55        // Category name classes for BODY on category archvies 
     56        else if ( is_category() ) { 
     57                $cat = $wp_query->get_queried_object(); 
     58                $c[] = 'category'; 
     59                $c[] = 'category-' . $cat->category_nicename; 
     60        } 
     61 
     62        // Page author for BODY on 'pages' 
     63        else if ( is_page() ) { 
     64                $pageID = $wp_query->post->ID; 
     65                the_post(); 
     66                $c[] = 'page pageid-' . $pageID; 
     67                $c[] = 'page-author-' . sanitize_title_with_dashes(strtolower(get_the_author('login'))); 
     68                rewind_posts(); 
     69        } 
     70 
     71        // For when a visitor is logged in while browsing 
     72        if ( $current_user->ID ) 
     73                $c[] = 'loggedin'; 
     74 
     75        // Paged classes; for 'page X' classes of index, single, etc. 
     76        if ( ( ( $page = $wp_query->get("paged") ) || ( $page = $wp_query->get("page") ) ) && $page > 1 ) { 
     77                $c[] = 'paged-'.$page.''; 
     78                if ( is_single() ) { 
     79                        $c[] = 'single-paged-'.$page.''; 
     80                } else if ( is_page() ) { 
     81                        $c[] = 'page-paged-'.$page.''; 
     82                } else if ( is_category() ) { 
     83                        $c[] = 'category-paged-'.$page.''; 
     84                } else if ( is_date() ) { 
     85                        $c[] = 'date-paged-'.$page.''; 
     86                } else if ( is_author() ) { 
     87                        $c[] = 'author-paged-'.$page.''; 
     88                } else if ( is_search() ) { 
     89                        $c[] = 'search-paged-'.$page.''; 
     90                } 
     91        } 
     92 
     93        // Separates classes with a single space, collates classes for BODY 
     94        $c = join(' ', apply_filters('body_class',  $c)); 
     95 
     96        // And tada! 
     97        return $print ? print($c) : $c; 
     98} 
     99 
     100// Generates semantic classes for each post DIV element 
     101function sandbox_post_class( $print = true ) { 
     102        global $post, $sandbox_post_alt; 
     103 
     104        // hentry for hAtom compliace, gets 'alt' for every other post DIV, describes the post type and p[n] 
     105        $c = array('hentry', "p$sandbox_post_alt", $post->post_type, $post->post_status); 
     106 
     107        // Author for the post queried 
     108        $c[] = 'author-' . sanitize_title_with_dashes(strtolower(get_the_author('login'))); 
     109 
     110        // Category for the post queried 
     111        foreach ( (array) get_the_category() as $cat ) 
     112                $c[] = 'category-' . $cat->category_nicename; 
     113 
     114        // For password-protected posts 
     115        if ( $post->post_password ) 
     116                $c[] = 'protected'; 
     117 
     118        // Applies the time- and date-based classes (below) to post DIV 
     119        sandbox_date_classes(mysql2date('U', $post->post_date), $c); 
     120 
     121        // If it's the other to the every, then add 'alt' class 
     122        if ( ++$sandbox_post_alt % 2 ) 
     123                $c[] = 'alt'; 
     124 
     125        // Separates classes with a single space, collates classes for post DIV 
     126        $c = join(' ', apply_filters('post_class', $c)); 
     127 
     128        // And tada! 
     129        return $print ? print($c) : $c; 
     130} 
     131 
     132// Define the num val for 'alt' classes (in post DIV and comment LI) 
     133$sandbox_post_alt = 1; 
     134 
     135// Generates semantic classes for each comment LI element 
     136function sandbox_comment_class( $print = true ) { 
     137        global $comment, $post, $sandbox_comment_alt; 
     138 
     139        // Collects the comment type (comment, trackback), 
     140        $c = array($comment->comment_type); 
     141 
     142        // Counts trackbacks (t[n]) or comments (c[n]) 
     143        if ($comment->comment_type == 'trackback') { 
     144                $c[] = "t$sandbox_comment_alt"; 
     145        } else { 
     146                $c[] = "c$sandbox_comment_alt"; 
     147        } 
     148 
     149        // If the comment author has an id (registered), then print the log in name 
     150        if ( $comment->user_id > 0 ) { 
     151                $user = get_userdata($comment->user_id); 
     152 
     153                // For all registered users, 'byuser'; to specificy the registered user, 'commentauthor+[log in name]' 
     154                $c[] = "byuser comment-author-".strtolower($user->user_login); 
     155 
     156                // For comment authors who are the author of the post 
     157                if ( $comment->user_id === $post->post_author ) 
     158                        $c[] = 'bypostauthor'; 
     159        } 
     160 
     161        // If it's the other to the every, then add 'alt' class; collects time- and date-based classes 
     162        sandbox_date_classes(mysql2date('U', $comment->comment_date), $c, 'c-'); 
     163        if ( ++$sandbox_comment_alt % 2 ) 
     164                $c[] = 'alt'; 
     165 
     166        // Separates classes with a single space, collates classes for comment LI 
     167        $c = join(' ', apply_filters('comment_class', $c)); 
     168 
     169        // Tada again! 
     170        return $print ? print($c) : $c; 
     171} 
     172 
     173// Generates time- and date-based classes for BODY, post DIVs, and comment LIs; relative to GMT (UTC) 
     174function sandbox_date_classes($t, &$c, $p = '') { 
     175        $t = $t + (get_settings('gmt_offset') * 3600); 
     176        $c[] = $p . 'y' . gmdate('Y', $t); // Year 
     177        $c[] = $p . 'm' . gmdate('m', $t); // Month 
     178        $c[] = $p . 'd' . gmdate('d', $t); // Day 
     179        $c[] = $p . 'h' . gmdate('H', $t); // Hour 
     180} 
     181 
     182// For category lists on category archives, returns other categorys except the current one (redundant) 
     183function sandbox_cats_meow($glue) { 
     184        $current_cat = single_cat_title('', false); 
     185        $separator = "\n"; 
     186        $cats = explode($separator, get_the_category_list($separator)); 
     187 
     188        foreach ( $cats as $i => $str ) { 
     189                if ( strstr($str, ">$current_cat<") ) { 
     190                        unset($cats[$i]); 
     191                        break; 
     192                } 
     193        } 
     194 
     195        if ( empty($cats) ) 
     196                return false; 
     197 
     198        return trim(join($glue, $cats)); 
     199} 
     200 
     201// Widget: Search; to match the Sandbox style and replace Widget plugin default 
     202function widget_sandbox_search($args) { 
     203        extract($args); 
     204        if ( empty($title) ) 
     205                $title = __('Search', 'sandbox'); 
     206?> 
     207                <?php echo $before_widget ?> 
     208                        <?php echo $before_title ?><label for="s"><?php echo $title ?></label><?php echo $after_title ?> 
     209                        <form id="searchform" method="get" action="<?php bloginfo('home') ?>"> 
     210                                <div> 
     211                                        <input id="s" name="s" type="text" value="<?php echo wp_specialchars(stripslashes($_GET['s']), true) ?>" size="10" tabindex="1" /> 
     212                                        <input id="searchsubmit" name="searchsubmit" type="submit" value="<?php _e('Find', 'sandbox') ?>" tabindex="2" /> 
     213                                </div> 
     214                        </form> 
     215                <?php echo $after_widget ?> 
     216 
     217<?php 
     218} 
     219 
     220// Widget: Meta; to match the Sandbox style and replace Widget plugin default 
     221function widget_sandbox_meta($args) { 
     222        extract($args); 
     223        if ( empty($title) ) 
     224                $title = __('Meta', 'sandbox'); 
     225?> 
     226                <?php echo $before_widget; ?> 
     227                        <?php echo $before_title . $title . $after_title; ?> 
     228                        <ul> 
     229                                <?php wp_register() ?> 
     230                                <li><?php wp_loginout() ?></li> 
     231                                <?php wp_meta() ?> 
     232                        </ul> 
     233                <?php echo $after_widget; ?> 
     234<?php 
     235} 
     236 
     237// Widget: RSS links; to match the Sandbox style 
     238function widget_sandbox_rsslinks($args) { 
     239        extract($args); 
     240        $options = get_option('widget_sandbox_rsslinks'); 
     241        $title = empty($options['title']) ? __('RSS Links', 'sandbox') : $options['title']; 
     242?> 
     243                <?php echo $before_widget; ?> 
     244                        <?php echo $before_title . $title . $after_title; ?> 
     245                        <ul> 
     246                                <li><a href="<?php bloginfo('rss2_url') ?>" title="<?php echo wp_specialchars(get_bloginfo('name'), 1) ?> <?php _e('Posts RSS feed', 'sandbox'); ?>" rel="alternate" type="application/rss+xml"><?php _e('All posts', 'sandbox') ?></a></li> 
     247                                <li><a href="<?php bloginfo('comments_rss2_url') ?>" title="<?php echo wp_specialchars(bloginfo('name'), 1) ?> <?php _e('Comments RSS feed', 'sandbox'); ?>" rel="alternate" type="application/rss+xml"><?php _e('All comments', 'sandbox') ?></a></li> 
     248                        </ul> 
     249                <?php echo $after_widget; ?> 
     250<?php 
     251} 
     252 
     253// Widget: RSS links; element controls for customizing text within Widget plugin 
     254function widget_sandbox_rsslinks_control() { 
     255        $options = $newoptions = get_option('widget_sandbox_rsslinks'); 
     256        if ( $_POST["rsslinks-submit"] ) { 
     257                $newoptions['title'] = strip_tags(stripslashes($_POST["rsslinks-title"])); 
     258        } 
     259        if ( $options != $newoptions ) { 
     260                $options = $newoptions; 
     261                update_option('widget_sandbox_rsslinks', $options); 
     262        } 
     263        $title = htmlspecialchars($options['title'], ENT_QUOTES); 
     264?> 
     265                        <p><label for="rsslinks-title"><?php _e('Title:'); ?> <input style="width: 250px;" id="rsslinks-title" name="rsslinks-title" type="text" value="<?php echo $title; ?>" /></label></p> 
     266                        <input type="hidden" id="rsslinks-submit" name="rsslinks-submit" value="1" /> 
     267<?php 
     268} 
     269 
     270// Widget and Sandbox function: creates bookmark links (blogrolls) for WP 2.0.x or WP 2.1.x 
     271function widget_sandbox_links() { 
     272        // Checks for WP 2.1.x bookmarks function 
     273        if ( function_exists('wp_list_bookmarks') ) { 
     274                wp_list_bookmarks(array('title_before'=>'<h3>', 'title_after'=>'</h3>', 'show_images'=>true)); 
     275        } else { 
     276                // If not WP 2.1.x, then on the database . . . 
     277                global $wpdb; 
     278 
     279                // Nasty bit of code to make pretty WP 2.0.x blogrolls 
     280                $cats = $wpdb->get_results(" 
     281                        SELECT DISTINCT link_category, cat_name, show_images,  
     282                                show_description, show_rating, show_updated, sort_order,  
     283                                sort_desc, list_limit 
     284                        FROM `$wpdb->links`  
     285                        LEFT JOIN `$wpdb->linkcategories` ON (link_category = cat_id) 
     286                        WHERE link_visible =  'Y' 
     287                                AND list_limit <> 0 
     288                        ORDER BY cat_name ASC", ARRAY_A); 
     289 
     290                // Sorts blogroll categorys by name 
     291                if ($cats) { 
     292                        foreach ($cats as $cat) { 
     293                                $orderby = $cat['sort_order']; 
     294                                $orderby = (bool_from_yn($cat['sort_desc'])?'_':'') . $orderby; 
     295 
     296                                // Display the category name 
     297                                echo '  <li id="linkcat-' . $cat['link_category'] . '"><h3>' . $cat['cat_name'] . "</h3>\n\t<ul>\n"; 
     298 
     299                                // Call get_links() with all the appropriate params 
     300                                get_links($cat['link_category'], 
     301                                        '<li>',"</li>","\n", 
     302                                        bool_from_yn($cat['show_images']), 
     303                                        $orderby, 
     304                                        bool_from_yn($cat['show_description']), 
     305                                        bool_from_yn($cat['show_rating']), 
     306                                        $cat['list_limit'], 
     307                                        bool_from_yn($cat['show_updated'])); 
     308         
     309                                // Closes any oustanding accounts 
     310                                echo "\n\t</ul>\n</li>\n"; 
     311                        } 
     312                } 
     313        } 
     314} 
     315 
     316// Widgets plugin: intializes the plugin after the widgets above have passed snuff 
     317function sandbox_widgets_init() { 
     318        if ( !function_exists('register_sidebars') ) 
     319                return; 
     320 
     321        // Uses H3-level headings with all widgets to match Sandbox style 
     322        $p = array( 
     323                'before_title' => "<h3 class='widgettitle'>", 
     324                'after_title' => "</h3>\n", 
     325        ); 
     326 
     327        // Table for how many? Two? This way, please. 
     328        register_sidebars(2, $p); 
     329 
     330        // Finished intializing Widgets plugin, now let's load the Sandbox default widgets 
     331        register_sidebar_widget(__('Search', 'sandbox'), 'widget_sandbox_search', null, 'search'); 
     332        unregister_widget_control('search'); 
     333        register_sidebar_widget(__('Meta', 'sandbox'), 'widget_sandbox_meta', null, 'meta'); 
     334        unregister_widget_control('meta'); 
     335        register_sidebar_widget(__('Links', 'sandbox'), 'widget_sandbox_links', null, 'links'); 
     336        unregister_widget_control('links'); 
     337        register_sidebar_widget(array(__('RSS Links', 'sandbox'), 'widgets'), 'widget_sandbox_rsslinks'); 
     338        register_widget_control(array(__('RSS Links', 'sandbox'), 'widgets'), 'widget_sandbox_rsslinks_control', 300, 90); 
     339} 
     340 
     341// Translate, if applicable 
     342load_theme_textdomain('sandbox'); 
     343 
     344// Runs our code at the end to check that everything needed has loaded 
     345add_action('init', 'sandbox_widgets_init'); 
     346 
     347// Adds filters so that things run smoothly 
     348add_filter('archive_meta', 'wptexturize'); 
     349add_filter('archive_meta', 'convert_smilies'); 
     350add_filter('archive_meta', 'convert_chars'); 
     351add_filter('archive_meta', 'wpautop'); 
     352 
     353// Remember: a Sandbox is for play. 
     354?> 
  • wp-content/themes/sandbox/sidebar.php

     
     1        <div id="primary" class="sidebar"> 
     2                <ul class="xoxo"> 
     3<?php if (!function_exists('dynamic_sidebar') || !dynamic_sidebar(1) ) : // begin primary sidebar widgets ?> 
     4 
     5                        <li id="pages"> 
     6                                <h3><?php _e('Pages', 'sandbox') ?></h3> 
     7                                <ul> 
     8<?php wp_list_pages('title_li=&sort_column=post_title' ) ?> 
     9                                </ul> 
     10                        </li> 
     11 
     12                        <li id="categories"> 
     13                                <h3><?php _e('Categories', 'sandbox'); ?></h3> 
     14                                <ul> 
     15<?php wp_list_cats('sort_column=name&hierarchical=1') ?> 
     16 
     17                                </ul> 
     18                        </li> 
     19 
     20                        <li id="archives"> 
     21                                <h3><?php _e('Archives', 'sandbox') ?></h3> 
     22                                <ul> 
     23<?php wp_get_archives('type=monthly') ?> 
     24 
     25                                </ul> 
     26                        </li> 
     27<?php endif; // end primary sidebar widgets  ?> 
     28                </ul> 
     29        </div><!-- #primary .sidebar --> 
     30 
     31        <div id="secondary" class="sidebar"> 
     32                <ul class="xoxo"> 
     33<?php if (!function_exists('dynamic_sidebar') || !dynamic_sidebar(2) ) : // begin  secondary sidebar widgets ?> 
     34                        <li id="search"> 
     35                                <h3><label for="s"><?php _e('Search', 'sandbox') ?></label></h3> 
     36                                <form id="searchform" method="get" action="<?php bloginfo('home') ?>"> 
     37                                        <div> 
     38                                                <input id="s" name="s" type="text" value="<?php echo wp_specialchars(stripslashes($_GET['s']), true) ?>" size="10" tabindex="1" /> 
     39                                                <input id="searchsubmit" name="searchsubmit" type="submit" value="<?php _e('Find', 'sandbox') ?>" tabindex="2" /> 
     40                                        </div> 
     41                                </form> 
     42                        </li> 
     43 
     44<?php widget_sandbox_links() ?> 
     45 
     46                        <li id="rss-links"> 
     47                                <h3><?php _e('RSS Feeds', 'sandbox') ?></h3> 
     48                                <ul> 
     49                                        <li><a href="<?php bloginfo('rss2_url') ?>" title="<?php echo wp_specialchars(get_bloginfo('name'), 1) ?> <?php _e('Posts RSS feed', 'sandbox'); ?>" rel="alternate" type="application/rss+xml"><?php _e('All posts', 'sandbox') ?></a></li> 
     50                                        <li><a href="<?php bloginfo('comments_rss2_url') ?>" title="<?php echo wp_specialchars(bloginfo('name'), 1) ?> <?php _e('Comments RSS feed', 'sandbox'); ?>" rel="alternate" type="application/rss+xml"><?php _e('All comments', 'sandbox') ?></a></li> 
     51                                </ul> 
     52                        </li> 
     53 
     54                        <li id="meta"> 
     55                                <h3><?php _e('Meta', 'sandbox') ?></h3> 
     56                                <ul> 
     57                                        <?php wp_register() ?> 
     58 
     59                                        <li><?php wp_loginout() ?></li> 
     60                                        <?php wp_meta() ?> 
     61 
     62                                </ul> 
     63                        </li> 
     64<?php endif; // end secondary sidebar widgets  ?> 
     65                </ul> 
     66        </div><!-- #secondary .sidebar --> 
  • wp-content/themes/sandbox/readme.html

    Cannot display: file marked as a binary type.
    svn:mime-type = application/octet-stream
    
    Property changes on: wp-content\themes\sandbox\screenshot.png
    ___________________________________________________________________
    Name: svn:mime-type
       + application/octet-stream
    
     
     1<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> 
     2<html xmlns="http://www.w3.org/1999/xhtml"> 
     3<head profile="http://gmpg.org/xfn/11"> 
     4        <title>The Sandbox &middot; An explanation</title> 
     5        <meta http-equiv="content-type" content="text/html; charset=UTF-8" /> 
     6        <meta http-equiv="content-language" content="en-us" /> 
     7        <meta name="description" content="Sandbox: a highly semantic theme with powerful, dynamic class selectors" /> 
     8        <meta name="keywords" content="sandbox,xhtml,hatom,hcard,microformats,semantics,css,wordpress" /> 
     9        <style type="text/css" media="all"> 
     10        /*<![CDATA[*/ 
     11        body{background:#fcfcfc;color:#444;font:normal 70%/150% verdana,geneva,sans-serif;margin:0;padding:0;} 
     12        body blockquote{border-left:5px solid #f6f6f6;padding-left:0.5em;} 
     13        body code,body pre{font:1em/150% consolas,"courier new",courier,monospace;} 
     14        body div#readme{background:#fff;border-left:3px solid #f9f9f9;border-right:3px solid #f9f9f9;color:#444;margin:0 auto;padding:1em 2em;width:50em;} 
     15        body div#readme div#footer{margin:3em auto 1em;text-align:center;} 
     16        body div#readme div#footer p{background:#ffd;color:#666;display:inline;padding:0.2em 0.5em;} 
     17        body div#readme div#header{margin:0 auto;text-align:center;} 
     18        body div#readme div#header div.readme-version{font-size:0.9em;margin:0 0 0.5em;text-transform:uppercase;letter-spacing:0.1em;} 
     19        body h1{font-size:3.2em;} 
     20        body h1,body h2,body h3{font-family:garamond,georgia,times,serif;font-weight:400;} 
     21        body h2{font-size:2em;margin-top:3em;} 
     22        body h3{font-size:1.6em;margin-top:2em;} 
     23        body ol li ol li,body ol li#features ol li ol li{list-style:decimal;} 
     24        body ol li#functions h3{font-size:1.5em;} 
     25        body ol li#functions ol{list-style:lower-alpha;margin:0 0 0 2em;padding:0;} 
     26        body ol li#license blockquote a{color:#222;text-decoration:none;} 
     27        body ol li#license blockquote strong{font-size:0.9em;font-weight:400;text-transform:uppercase;} 
     28        body ol li,body ol#menu li ol li{list-style:upper-roman;} 
     29        body ol ul li{list-style:square;} 
     30        body ol#menu li{list-style:none;} 
     31        body ol#menu li ol li ol li,body ol li#functions ol li,body ol li#features ol li{list-style:lower-roman;} 
     32        body pre span,body span.bold{font-weight:700;} 
     33        body span.vcard span.family-name,body span.vcard span.additional-name{display:none;} 
     34        table{border-collapse:separate;border-color:#aaa;border-spacing:0;border-style:solid;border-width:1px;padding:0 0.5em;} 
     35        table tbody td{border-collapse:separate;border-color:#aaa;border-style:solid;border-width:0.5px 0;padding:0.2em 0.5em;} 
     36        table tbody th{border-bottom:1px solid #aaa;font-size:0.8em;text-align:left;text-transform:uppercase;} 
     37        table tbody tr.alt{background:#f5f5f5;} 
     38        table tfoot th{font-size:0.8em;padding-top:1em;text-align:left;text-transform:uppercase;} 
     39        table thead th{padding:0.5em;} 
     40        /*]]>*/ 
     41        </style> 
     42</head> 
     43<body> 
     44        <div id="readme"> 
     45 
     46                <div id="header"> 
     47                        <h1 id="title">The Sandbox</h1> 
     48                        <div class="readme-version">Version 0.9.5</div> 
     49                        <div class="readme-subtitle">A theme rich with powerful and dynamic semantic class selectors</div> 
     50                </div><!-- #header --> 
     51 
     52                <ol id="menu" class="xoxo"> 
     53                        <li> 
     54                                <h2>Table of contents</h2> 
     55                                <ol> 
     56                                        <li><a href="#introduction" title="Skip to Introduction">Introduction</a></li> 
     57                                        <li><a href="#installing" title="Skip to Installing">Installing</a></li> 
     58                                        <li><a href="#functions" title="Skip to Class functions">Class functions</a> 
     59                                                <ol> 
     60                                                        <li><a href="#body-class" title="Skip to Class functions: sandbox_body_class()"><code>sandbox_body_class()</code></a></li> 
     61                                                        <li><a href="#post-class" title="Skip to Class functions: sandbox_post_class()"><code>sandbox_post_class()</code></a></li> 
     62                                                        <li><a href="#comment-class" title="Skip to Class functions: sandbox_comment_class()"><code>sandbox_comment_class()</code></a></li> 
     63                                                </ol> 
     64                                        </li> 
     65                                        <li><a href="#standards" title="Skip to Web standards">Web standards</a></li> 
     66                                        <li><a href="#microformats" title="Skip to Microformats">Microformats</a></li> 
     67                                        <li><a href="#features" title="Skip to Other features">Other features</a> 
     68                                                <ol> 
     69                                                        <li><a href="#comments" title="Skip to Other features: Comments on pages">Comments on pages</a></li> 
     70                                                        <li><a href="#templates" title="Skip to Other features: Page templates">Page templates</a></li> 
     71                                                </ol> 
     72                                        </li> 
     73                                        <li><a href="#license" title="Skip to License">License</a></li> 
     74                                </ol> 
     75                        </li> 
     76                </ol><!-- #menu .xoxo --> 
     77 
     78                <ol id="content" class="xoxo"> 
     79                        <li id="introduction"> 
     80                                <h2>Introduction</h2> 
     81                                <p>The Sandbox is a lot of things:</p> 
     82                                <ul> 
     83                                        <li>Beautiful on the inside</li> 
     84                                        <li>For WordPress 2.0.2 through 2.2.x</li> 
     85                                        <li>Valid <abbr title="eXtensible HyperText Markup Language">XHTML</abbr> 1.0 Transitional</li> 
     86                                        <li>Widgets plugin-friendly</li> 
     87                                        <li>The basis for your new, <abbr title="GNU Public Licence">GPL</abbr>-licensed theme</li> 
     88                                </ul> 
     89                                <p>More importantly, the Sandbox <em>can be</em> a lot of things.</p> 
     90                                <p>What began as <span class="vcard"><a class="url fn n" href="http://www.plaintxt.org/" title="Scott, plaintxt.org" rel="me"><span class="given-name">Scott</span><span class="additional-name"> Allan</span><span class="family-name"> Wallick</span></a></span>'s leftovers has become an advanced, semantics-based theme. <span class="vcard"><a class="url fn n" href="http://andy.wordpress.com/" title="Andy, WordPress.com"><span class="given-name">Andy</span><span class="family-name"> Skelton</span></a></span> added his innovative semantic class-generating functions and Scott edited it to oblivion.</p> 
     91                                <p>So what can you do with the Sandbox?</p> 
     92                                <ul> 
     93                                        <li>You can just use it as-is and have a super-cool, truly minimalist theme.</li> 
     94                                        <li>You can totally cusotmize it with <abbr title="Cascading Style Sheets">CSS</abbr> alone&mdash;no need to bother with other files.</li> 
     95                                        <li>You can use the functions, theme files, et al, as pleases you&mdash;even for your own theme.</li> 
     96                                        <li>You can use it as a good place to learn a few things about CSS, XHTML, and <abbr title="Hypertext Preprocessor">PHP</abbr>, perhaps.</li> 
     97                                </ul> 
     98                                <p>The real feature of the Sandbox is its markup. The use of class-generating functions in the <code>body</code>, post <code>div</code>, and comment/trackback <code>li</code> elements create an exceptionally extensible foundation. As Andy said, <q cite="http://andy.wordpress.com/2006/07/20/generated-semantic-classes-2/" title="Generated Semantic Classes 2">Given straightforward markup with plenty of selectors, there isn't much that can't be accomplished with CSS and a decent browser.</q></p> 
     99                                <p>And the implementation of the hAtom and hCard microformats means we're looking forward (and pleasing the barons at Technorati). You might be able to improve on our markup, but, well, who wants to work that hard?</p> 
     100                        </li><!-- #introduction --> 
     101 
     102                        <li id="installing"> 
     103                                <h2>Installing</h2> 
     104                                <p>The Sandbox theme is installed just like any other WordPress theme. To install this theme:</p> 
     105                                <ol> 
     106                                        <li>Download the <a href="http://www.plaintxt.org/themes/sandbox/" title="The Sandbox for WordPress" rel="me">Sandbox</a></li> 
     107                                        <li>Extract the <code>/sandbox/</code> folder from the archive</li> 
     108                                        <li>Upload this folder to the <code>/wp-contents/themes/</code> directory</li> 
     109                                        <li>Activate the theme in the <i>Dashboard &rsaquo; Presentation</i> menu</li> 
     110                                        <li>Enjoy</li> 
     111                                </ol> 
     112                                <p>You can read more detailed installation instructions on the <a href="http://codex.wordpress.org/Using_Themes#Adding_New_Themes" title="Adding new themes - WordPress Codex" rel="external">WordPress Codex</a>.</p> 
     113                                <p>Developers interested in <a href="http://en.wikipedia.org/wiki/Subversion_(software)" title="Subersion - Wikipedia" rel="external">Subversion</a> access to the Sandbox repository may visit <a href="http://code.google.com/p/sandbox-theme" title="Sandbox theme on Google Code" rel="external">code.google.com/p/sandbox-theme</a>. Please ignore this if you are not familiar with Subversion.</p> 
     114                        </li><!-- #installing --> 
     115 
     116                        <li id="functions"> 
     117                                <h2>Class functions</h2> 
     118                                <p>The three semantic class-generating functions used in the Sandbox are charted below, outlining what semantic classes are generated (&#8220;Class&#8221;), any related WordPress function (&#8220;WP Tag&#8221;), and the usage of these classes (&#8220;Usage&#8221;). For more on the WP Tag aspect, read the <a href="http://codex.wordpress.org/Template_Tags" title="Template tags &laquo; WordPress Codex" rel="external">Template Tags</a> and <a href="http://codex.wordpress.org/Conditional_Tags" title="Conditional Tags &laquo; WordPress Codex" rel="external">Conditional Tags</a> articles on the WordPress Codex.</p> 
     119 
     120                                <ol> 
     121                                        <li id="body-class"> 
     122                                                <h3><code>sandbox_body_class()</code></h3> 
     123                                                <p>The <code>sandbox_body_class()</code> function is definied in the <code>functions.php</code> file. It has no parameters. It adds semantic classes to the <code>body</code> element relative to the content of the page that is being displayed.</p> 
     124                                                <pre>&lt;body class="<span>&lt;?php sandbox_body_class() ?&gt;</span>"&gt;</pre> 
     125                                                <p>The chart below lists the semantic classes added to the <code>body</code> tag by this function.</p> 
     126                                                <table id="body-class-table" summary="Classes given to the body element sandbody_body_class()"> 
     127                                                        <thead> 
     128                                                                <tr> 
     129                                                                        <th colspan="3" scope="colgroup"><code>sandbox_body_class()</code></th> 
     130                                                                </tr> 
     131                                                        </thead> 
     132                                                        <tfoot> 
     133                                                                <tr> 
     134                                                                        <th colspan="3" scope="colgroup">CSS example</th> 
     135                                                                </tr> 
     136                                                                <tr> 
     137                                                                        <td colspan="3" scope="row" abbr="CSS example"><code>body.single div.sidebar { display: none; }</code></td> 
     138                                                                </tr> 
     139                                                        </tfoot> 
     140                                                        <tbody> 
     141                                                                <tr> 
     142                                                                        <th scope="col" abbr="class">Class</th> 
     143                                                                        <th scope="col" abbr="tag">WP Tag</th> 
     144                                                                        <th scope="col" abbr="use">Usage</th> 
     145                                                                </tr> 
     146                                                                <tr class="alt"> 
     147                                                                        <td scope="row">archive</td> 
     148                                                                        <td><code>is_archive()</code></td> 
     149                                                                        <td>When <em>any</em> archive page is displayed, i.e., applies to category-, date-, and author-based archive pages</td> 
     150                                                                </tr> 
     151                                                                <tr> 
     152                                                                        <td scope="row">attachment</td> 
     153                                                                        <td><code>is_attachment()</code></td> 
     154                                                                        <td>When the post subpage containing an attachment is displayed, as set with "Linked to Page" in the post editor</td> 
     155                                                                </tr> 
     156                                                                <tr class="alt"> 
     157                                                                        <td scope="row">author</td> 
     158                                                                        <td><code>is_author()</code></td> 
     159                                                                        <td>When a author archive page is displayed</td> 
     160                                                                </tr> 
     161                                                                <tr> 
     162                                                                        <td scope="row">author-[name]</td> 
     163                                                                        <td><code>is_author()</code></td> 
     164                                                                        <td>When a specific author archive page is displayed, where <i>[name]</i> is the author's login name, e.g., author-admin</td> 
     165                                                                </tr> 
     166                                                                <tr class="alt"> 
     167                                                                        <td scope="row">author-paged-[n]</td> 
     168                                                                        <td><code>is_author()</code> &amp; <code>is_paged()</code></td> 
     169                                                                        <td>Displays the "paged" number of author archive, where <i>[n]</i> is the paginated number</td> 
     170                                                                </tr> 
     171                                                                <tr> 
     172                                                                        <td scope="row">category</td> 
     173                                                                        <td><code>is_category()</code></td> 
     174                                                                        <td>When a category archive page is displayed</td> 
     175                                                                </tr> 
     176                                                                <tr class="alt"> 
     177                                                                        <td scope="row">category-[name]</td> 
     178                                                                        <td><code>is_category()</code></td> 
     179                                                                        <td>For a specific category, where <i>[name]</i> is the category slug, e.g., category-useful-links</td> 
     180                                                                </tr> 
     181                                                                <tr> 
     182                                                                        <td scope="row">category-paged-[n]</td> 
     183                                                                        <td><code>is_category()</code> &amp; <code>is_paged()</code></td> 
     184                                                                        <td>Displays the "paged" number of category archive, where <i>[n]</i> is the paginated number</td> 
     185                                                                </tr> 
     186                                                                <tr class="alt"> 
     187                                                                        <td scope="row">d01&ndash;31</td> 
     188                                                                        <td><code>gmdate('d')</code></td> 
     189                                                                        <td>The current day of when the page is displayed (Offset to GMT)</td> 
     190                                                                </tr> 
     191                                                                <tr> 
     192                                                                        <td scope="row">date</td> 
     193                                                                        <td><code>is_date()</code></td> 
     194                                                                        <td>When a date archive page is displayed, e.g., by month, by year</td> 
     195                                                                </tr> 
     196                                                                <tr class="alt"> 
     197                                                                        <td scope="row">date-paged-[n]</td> 
     198                                                                        <td><code>is_date()</code> &amp; <code>is_paged()</code></td> 
     199                                                                        <td>Displays the "paged" number of date-based archive, where <i>[n]</i> is the paginated number</td> 
     200                                                                </tr> 
     201                                                                <tr> 
     202                                                                        <td scope="row">h00&ndash;24</td> 
     203                                                                        <td><code>gmdate('h')</code></td> 
     204                                                                        <td>The current hour of when the page is displayed (Offset to GMT)</td> 
     205                                                                </tr> 
     206                                                                <tr class="alt"> 
     207                                                                        <td scope="row">four04</td> 
     208                                                                        <td><code>is_404()</code></td> 
     209                                                                        <td>When a request results in zero posts, i.e., a 404 error page</td> 
     210                                                                </tr> 
     211                                                                <tr> 
     212                                                                        <td scope="row">home</td> 
     213                                                                        <td><code>is_home()</code></td> 
     214                                                                        <td>When the home page is displayed</td> 
     215                                                                </tr> 
     216                                                                <tr class="alt"> 
     217                                                                        <td scope="row">m00&ndash;12</td> 
     218                                                                        <td><code>gmdate('m')</code></td> 
     219                                                                        <td>The current month of when the page is displayed (Offset to GMT)</td> 
     220                                                                </tr> 
     221                                                                <tr> 
     222                                                                        <td scope="row">loggedin</td> 
     223                                                                        <td>n/a</td> 
     224                                                                        <td>When the page is displayed by a logged-in user</td> 
     225                                                                </tr> 
     226                                                                <tr class="alt"> 
     227                                                                        <td scope="row">page</td> 
     228                                                                        <td><code>is_page()</code></td> 
     229                                                                        <td>When a page is displayed</td> 
     230                                                                </tr> 
     231                                                                <tr> 
     232                                                                        <td scope="row">page-author-[name]</td> 
     233                                                                        <td><code>is_page()</code></td> 
     234                                                                        <td>For a page by a specific author, where <i>[name]</i> is the user's login name, e.g., page-author-admin</td> 
     235                                                                </tr> 
     236                                                                <tr class="alt"> 
     237                                                                        <td scope="row">page-paged-[n]</td> 
     238                                                                        <td><code>is_page()</code> &amp; <code>is_paged()</code></td> 
     239                                                                        <td>Displays the "paged" number of pages, where <i>[n]</i> is the paginated number</td> 
     240                                                                </tr> 
     241                                                                <tr> 
     242                                                                        <td scope="row">paged</td> 
     243                                                                        <td><code>is_paged()</code></td> 
     244                                                                        <td>When whatever is displayed is "paged," e.g., page 2 of the index</td> 
     245                                                                </tr> 
     246                                                                <tr class="alt"> 
     247                                                                        <td scope="row">paged-[n]</td> 
     248                                                                        <td><code>is_paged()</code></td> 
     249                                                                        <td>Displays the "paged" number, where <i>[n]</i> is the paginated number, e.g., paged-3 for third page of index</td> 
     250                                                                </tr> 
     251                                                                <tr> 
     252                                                                        <td scope="row">pageid-[n]</td> 
     253                                                                        <td><code>is_page()</code></td> 
     254                                                                        <td>Displays the page ID number of queried page, where <i>[n]</i> is the page ID, e.g., pageid-20</td> 
     255                                                                </tr> 
     256                                                                <tr class="alt"> 
     257                                                                        <td scope="row">postid-[n]</td> 
     258                                                                        <td><code>is_single()</code></td> 
     259                                                                        <td>Displays the post ID number of queried post, where <i>[n]</i> is the post ID, e.g., postid-20</td> 
     260                                                                </tr> 
     261                                                                <tr> 
     262                                                                        <td scope="row">search</td> 
     263                                                                        <td><code>is_search()</code></td> 
     264                                                                        <td>When the results of a search are displayed</td> 
     265                                                                </tr> 
     266                                                                <tr class="alt"> 
     267                                                                        <td scope="row">single</td> 
     268                                                                        <td><code>is_single()</code></td> 
     269                                                                        <td>When a single post is displayed</td> 
     270                                                                </tr> 
     271                                                                <tr> 
     272                                                                        <td scope="row">s-author-[name]</td> 
     273                                                                        <td><code>is_single()</code> &amp; <code>is_author()</code></td> 
     274                                                                        <td>For a single post published by a specific author, where <i>[name]</i> is the user's login name, e.g., s-author-admin</td> 
     275                                                                </tr> 
     276                                                                <tr class="alt"> 
     277                                                                        <td scope="row">s-category-[name]</td> 
     278                                                                        <td><code>is_single()</code> &amp; <code>is_category()</code></td> 
     279                                                                        <td>For a single post published in a specific category, where <i>[name]</i> is the category slug, e.g., s-category-news</td> 
     280                                                                </tr> 
     281                                                                <tr> 
     282                                                                        <td scope="row">s-d01&ndash;31</td> 
     283                                                                        <td><code>gmdate('d')</code></td> 
     284                                                                        <td>For a single post published on a specific day (Offset to GMT)</td> 
     285                                                                </tr> 
     286                                                                <tr class="alt"> 
     287                                                                        <td scope="row">s-h00&ndash;24</td> 
     288                                                                        <td><code>gmdate('h')</code></td> 
     289                                                                        <td>For a single post published at a specific hour (Offset to GMT)</td> 
     290                                                                </tr> 
     291                                                                <tr> 
     292                                                                        <td scope="row">s-m00&ndash;12</td> 
     293                                                                        <td><code>gmdate('m')</code></td> 
     294                                                                        <td>For a single post published in a specific month (Offset to GMT)</td> 
     295                                                                </tr> 
     296                                                                <tr class="alt"> 
     297                                                                        <td scope="row">s-y2007</td> 
     298                                                                        <td><code>gmdate('Y')</code></td> 
     299                                                                        <td>For a single post published in a specific year (Offset to GMT)</td> 
     300                                                                </tr> 
     301                                                                <tr> 
     302                                                                        <td scope="row">wordpress</td> 
     303                                                                        <td>n/a</td> 
     304                                                                        <td>When anything is displayed; a class that is always applied</td> 
     305                                                                </tr> 
     306                                                                <tr class="alt"> 
     307                                                                        <td scope="row">y2007</td> 
     308                                                                        <td><code>gmdate('Y')</code></td> 
     309                                                                        <td>The current year of when the page is display (Offset to GMT)</td> 
     310                                                                </tr> 
     311                                                        </tbody> 
     312                                                </table><!-- #body-class-table --> 
     313                                        </li><!-- #body-class --> 
     314 
     315                                        <li id="post-class"> 
     316                                                <h3><code>sandbox_post_class()</code></h3> 
     317                                                <p>The <code>sandbox_post_class()</code> function is definied in the <code>functions.php</code> file. It has no parameters. It adds semantic classes to each post <code>div</code> element, relative to the actual post it contains.</p> 
     318                                                <pre>&lt;div id="post-&lt;?php the_ID(); ?&gt;" class="<span>&lt;?php sandbox_post_class() ?&gt;</span>"&gt;</pre> 
     319                                                <p>The chart below lists the semantic classes added to each post <code>div</code> element by this function.</p> 
     320                                                <table id="post-class-table" summary="Classes given to individual posts by sandbody_post_class()"> 
     321                                                        <thead> 
     322                                                                <tr> 
     323                                                                        <th colspan="3" scope="colgroup"><code>sandbox_post_class()</code></th> 
     324                                                                </tr> 
     325                                                        </thead> 
     326                                                        <tfoot> 
     327                                                                <tr> 
     328                                                                        <th colspan="3" scope="colgroup">CSS example</th> 
     329                                                                </tr> 
     330                                                                <tr> 
     331                                                                        <td colspan="3" scope="row" abbr="CSS example"><code>div.category-news .entry-title { background: url('images/news.png'); }</code></td> 
     332                                                                </tr> 
     333                                                        </tfoot> 
     334                                                        <tbody> 
     335                                                                <tr> 
     336                                                                        <th scope="col" abbr="class">Class</th> 
     337                                                                        <th scope="col" abbr="tag">WP Tag</th> 
     338                                                                        <th scope="col" abbr="use">Usage</th> 
     339                                                                </tr> 
     340                                                                <tr class="alt"> 
     341                                                                        <td scope="row">alt</td> 
     342                                                                        <td>n/a</td> 
     343                                                                        <td>For odd-numbered posts, e.g., 1<sup>st</sup>, 3<sup>rd</sup>, 5<sup>th</sup></td> 
     344                                                                </tr> 
     345                                                                <tr> 
     346                                                                        <td scope="row">author-[name]</td> 
     347                                                                        <td><code>is_author()</code></td> 
     348                                                                        <td>For any specific author, where <i>[name]</i> is the user's login name, e.g., author-admin</td> 
     349                                                                </tr> 
     350                                                                <tr class="alt"> 
     351                                                                        <td scope="row">category-[name]</td> 
     352                                                                        <td><code>is_category()</code></td> 
     353                                                                        <td>For any specific category, where <i>[name]</i> is the category slug, e.g., category-news</td> 
     354                                                                </tr> 
     355                                                                <tr> 
     356                                                                        <td scope="row">draft</td> 
     357                                                                        <td>n/a</td> 
     358                                                                        <td>For a post saved as a draft, as contrasted with an published post</td> 
     359                                                                </tr> 
     360                                                                <tr class="alt"> 
     361                                                                        <td scope="row">hentry</td> 
     362                                                                        <td>n/a</td> 
     363                                                                        <td>For the hAtom 0.1 specification, applied every post</td> 
     364                                                                </tr> 
     365                                                                <tr> 
     366                                                                        <td scope="row">p[n]</td> 
     367                                                                        <td>n/a</td> 
     368                                                                        <td>For counting posts relative to the top of the page, where <i>[n]</i> is the number, e.g., p1 for the first post, p2 for the second, p3 for the third</td> 
     369                                                                </tr> 
     370                                                                <tr class="alt"> 
     371                                                                        <td scope="row">page</td> 
     372                                                                        <td>n/a</td> 
     373                                                                        <td>A general class, applied to every page</td> 
     374                                                                </tr> 
     375                                                                <tr> 
     376                                                                        <td scope="row">post</td> 
     377                                                                        <td>n/a</td> 
     378                                                                        <td>A general class, applied to every post</td> 
     379                                                                </tr> 
     380                                                                <tr class="alt"> 
     381                                                                        <td scope="row">private</td> 
     382                                                                        <td>n/a</td> 
     383                                                                        <td>For a post that has been saved as "private"</td> 
     384                                                                </tr> 
     385                                                                <tr> 
     386                                                                        <td scope="row">protected</td> 
     387                                                                        <td>n/a</td> 
     388                                                                        <td>For a post that has been password-protected</td> 
     389                                                                </tr> 
     390                                                                <tr class="alt"> 
     391                                                                        <td scope="row">publish</td> 
     392                                                                        <td>n/a</td> 
     393                                                                        <td>For any published post, as contrasted with an unpublished draft</td> 
     394                                                                </tr> 
     395                                                                <tr> 
     396                                                                        <td scope="row">h00&ndash;24</td> 
     397                                                                        <td><code>gmdate('h')</code></td> 
     398                                                                        <td>For a post published at a specific hour (Offset to GMT)</td> 
     399                                                                </tr> 
     400                                                                <tr class="alt"> 
     401                                                                        <td scope="row">d01&ndash;31</td> 
     402                                                                        <td><code>gmdate('d')</code></td> 
     403                                                                        <td>For a post published on a specific day (Offset to GMT)</td> 
     404                                                                </tr> 
     405                                                                <tr> 
     406                                                                        <td scope="row">m00&ndash;12</td> 
     407                                                                        <td><code>gmdate('m')</code></td> 
     408                                                                        <td>For a post published in a specific month (Offset to GMT)</td> 
     409                                                                </tr> 
     410                                                                <tr class="alt"> 
     411                                                                        <td scope="row">y2007</td> 
     412                                                                        <td><code>gmdate('Y')</code></td> 
     413                                                                        <td>For a post published in a certain year (Offset to GMT)</td> 
     414                                                                </tr> 
     415                                                        </tbody> 
     416                                                </table><!-- #post-class-table --> 
     417                                        </li><!-- #post-class --> 
     418 
     419                                        <li id="comment-class"> 
     420                                                <h3><code>sandbox_comment_class()</code></h3> 
     421                                                <p>The <code>sandbox_comment_class()</code> function is definied in the <code>functions.php</code> file. It has no parameters. It adds semantic classes to the each comment <code>li</code> element (&#8220;comment&#8221; here meaning comments, trackbacks, and pingbacks).</p> 
     422                                                <pre>&lt;li id="comment-&lt;?php comment_ID(); ?&gt;" class="<span>&lt;?php sandbox_comment_class() ?&gt;</span>"&gt;</pre> 
     423                                                <p>The chart below lists the semantic classes added to each comment <code>li</code> element by this function.</p> 
     424                                                <table id="comment-class-table" summary="Classes given to individual comments by sandbody_comment_class()"> 
     425                                                        <thead> 
     426                                                                <tr> 
     427                                                                        <th colspan="3" scope="colgroup"><code>sandbox_comment_class()</code></th> 
     428                                                                </tr> 
     429                                                        </thead> 
     430                                                        <tfoot> 
     431                                                                <tr> 
     432                                                                        <th colspan="3" scope="colgroup">CSS example</th> 
     433                                                                </tr> 
     434                                                                <tr> 
     435                                                                        <td colspan="3" scope="row" abbr="CSS example"><code>div.comments li.bypostauthor { border: 1px solid red; }</code></td> 
     436                                                                </tr> 
     437                                                        </tfoot> 
     438                                                        <tbody> 
     439                                                                <tr> 
     440                                                                        <th scope="col" abbr="class">Class</th> 
     441                                                                        <th scope="col" abbr="tag">WP Tag</th> 
     442                                                                        <th scope="col" abbr="use">Usage</th> 
     443                                                                </tr> 
     444                                                                <tr class="alt"> 
     445                                                                        <td scope="row">alt</td> 
     446                                                                        <td>n/a</td> 
     447                                                                        <td>For odd-numbered comments, e.g., 1<sup>st</sup>, 3<sup>rd</sup>, 5<sup>th</sup></td> 
     448                                                                </tr> 
     449                                                                <tr> 
     450                                                                        <td scope="row">bypostauthor</td> 
     451                                                                        <td>n/a</td> 
     452                                                                        <td>When the comment author is also the post author</td> 
     453                                                                </tr> 
     454                                                                <tr class="alt"> 
     455                                                                        <td scope="row">byuser</td> 
     456                                                                        <td>n/a</td> 
     457                                                                        <td>For <em>any</em> comment by a registered user</td> 
     458                                                                </tr> 
     459                                                                <tr> 
     460                                                                        <td scope="row">c-h00&ndash;24</td> 
     461                                                                        <td><code>gmdate('h')</code></td> 
     462                                                                        <td>For a comment posted at a specific hour (Offset to GMT)</td> 
     463                                                                </tr> 
     464                                                                <tr class="alt"> 
     465                                                                        <td scope="row">c[n]</td> 
     466                                                                        <td>n/a</td> 
     467                                                                        <td>For counting comments relative to the first, where <i>[n]</i> is the number, e.g., c1 for the first comment, c2 for the second, c3 for the third</td> 
     468                                                                </tr> 
     469                                                                <tr> 
     470                                                                        <td scope="row">c-d01&ndash;31</td> 
     471                                                                        <td><code>gmdate('d')</code></td> 
     472                                                                        <td>For a comment posted on a specific date (Offset to GMT)</td> 
     473                                                                </tr> 
     474                                                                <tr class="alt"> 
     475                                                                        <td scope="row">c-m00&ndash;12</td> 
     476                                                                        <td><code>gmdate('m')</code></td> 
     477                                                                        <td>For a comment posted in a specific month (Offset to GMT)</td> 
     478                                                                </tr> 
     479                                                                <tr> 
     480                                                                        <td scope="row">c-y2007</td> 
     481                                                                        <td><code>gmdate('Y')</code></td> 
     482                                                                        <td>For a comment posted in a specific year (Offset to GMT)</td> 
     483                                                                </tr> 
     484                                                                <tr class="alt"> 
     485                                                                        <td scope="row">comment</td> 
     486                                                                        <td>n/a</td> 
     487                                                                        <td>A general class, applied to every comment</td> 
     488                                                                </tr> 
     489                                                                <tr> 
     490                                                                        <td scope="row">comment-author-[name]</td> 
     491                                                                        <td>n/a</td> 
     492                                                                        <td>For a comment by a specific registered user, where <i>[name]</i> is the user's login name, e.g., comment-author-john</td> 
     493                                                                </tr> 
     494                                                                <tr class="alt"> 
     495                                                                        <td scope="row">t[n]</td> 
     496                                                                        <td>n/a</td> 
     497                                                                        <td>For counting trackbacks relative to the first, where <i>[n]</i> is the number, e.g., t1 for the first trackback, t2 for the second, t3 for the third</td> 
     498                                                                </tr> 
     499                                                                <tr> 
     500                                                                        <td scope="row">trackback</td> 
     501                                                                        <td>is_trackback()</td> 
     502                                                                        <td>When a comment is a trackback/pingback</td> 
     503                                                                </tr> 
     504                                                        </tbody> 
     505                                                </table><!-- #comment-class-table --> 
     506                                        </li><!-- #comment-class --> 
     507                                </ol> 
     508                        </li><!-- #functions --> 
     509 
     510                        <li id="standards"> 
     511                                <h2>Web standards</h2> 
     512                                <p>The Sandbox is compliant with both XHTML and CSS standards. What does this mean? An explanation of web standards from <a href="http://webstandards.org" title="Web Standards Project" rel="external">The Web Standards Project</a>:</p> 
     513                                <blockquote cite="http://webstandards.org/learn/faq/" title="What are web standards and why should I use them?"> 
     514                                        <p>Complying with web standards can give your web pages greater visibility in web searches. The structural information present in compliant documents makes it easy for search engines to access and evaluate the information in those documents, and they get indexed more accurately.</p> 
     515                                        <p>Accessibility is an important idea behind many web standards. Not only does this mean allowing the web to be used by people with disabilities, but also allowing web pages to be understood by people using browsers other than the usual ones&mdash;including voice browsers that read web pages aloud to people with sight impairments, Braille browsers, hand-held browsers, teletext displays, and other unusual output devices.</p> 
     516                                </blockquote> 
     517                                <p>You can read more about developing with web standards at <a href="http://www.456bereastreet.com/lab/developing_with_web_standards/webstandards/" title="Developing with web standards" rel="external">456 Berea Street</a>.</p> 
     518                        </li><!-- #standards--> 
     519 
     520                        <li id="microformats"> 
     521                                <h2>Microformats</h2> 
     522                                <p><a href="http://microformats.org/" title="Microformats.org" rel="external">Microformats</a> are markup that express semantic information in your blog. People and machines can extract information from webpages marked up in a microformat much like feed readers extract information from Atom or <abbr title="Rich Site Summary">RSS</abbr> syndicated feeds. Essentially it's about making content more accessible.</p> 
     523                                <p>Microformats that have been implemented in the Sandbox theme include (less <a href="http://gmpg.org/xfn/" title="XHTML Friends Network" rel="external"><abbr title="XHTML Friends Network">XFN</abbr></a>, which is built into WordPress):</p> 
     524                                <ul> 
     525                                        <li><a href="http://microformats.org/wiki/hatom" title="hAtom - Microformats" rel="external">hAtom</a>: For all blog posts and pages</li> 
     526                                        <li><a href="http://microformats.org/wiki/hcard" title="hCard - Microformats" rel="external">hCard</a>: For all post and comment authors</li> 
     527                                        <li><a href="http://microformats.org/wiki/rel-home" title="rel-home - Microformats" rel="external">rel="home"</a>: For marking links pointing to the blog home page</li> 
     528                                        <li><a href="http://microformats.org/wiki/xoxo" title="XOXO - Microformats" rel="external">XOXO</a>: For menu, blogroll, archive, and sidebar lists</li> 
     529                                </ul> 
     530                                <p>Microformats help the Sandbox be an especially <abbr title="Plain old semantic HTML">POSH</abbr> WordPress theme. POSH stands for "plain old semantic HTML." It is a term used to refer to best practices of semantic HTML development. The Microformats Wiki <a href="http://microformats.org/wiki/posh" title="POSH - Microformats" rel="external">POSH article</a> has a working copy of these best practices:</p> 
     531                                <ol> 
     532                                        <li>Validate your markup, meaning it should <em>be</em> valid, not just validated</li> 
     533                                        <li>No use of tables for presentational purposes&mdash;only for tabular data</li> 
     534                                        <li>Correct any "<span class="bold">B</span>ed and <span class="bold">BR</span>eakfast" markup, i.e., no presentational elements like <code>b</code>, and no <code>&lt;br /&gt;</code></li> 
     535                                        <li>Correct any "<span class="bold">A</span>norexic anchors," e.g., an <code>a</code> element with only a <code>name</code> attribute</li> 
     536                                        <li>Use well-formed, semantic class names (Sandbox does this for you)</li> 
     537                                </ol> 
     538                                <p>So the Sandbox can be highly POSH, but the semantic use of HTML elements is completely up to you, the end user. To learn more about writing semantic HTML, visit <a href="http://www.mezzoblue.com/downloads/markupguide/" title="mezzoblue &sect; Markup Guide">Mezzoblue</a>.</p> 
     539                        </li><!-- #microformats --> 
     540 
     541                        <li id="features"> 
     542                                <h2>Other features</h2> 
     543                                <p>In addition to the more advanced, code-related features of the Sandbox, there are at least two other features that make the Sandbox a highly viable choice as a base theme.</p> 
     544                                <ol> 
     545                                        <li id="comments"> 
     546                                                <h3>Comments on pages</h3> 
     547                                                <p>Comments are not displayed on pages by default, but are displayed on posts, per the current convention. You can enable comments on a per page basis by adding a custom key/value with only the text <code>comments</code>.</p> 
     548                                                <p>To enable comments on a page:</p> 
     549                                                <ol> 
     550                                                        <li>In the <i>Write &rsaquo; Page</i> menu, expand the <a href="http://codex.wordpress.org/Using_Custom_Fields" title="Custom Fields - WordPress Codex" rel="external">Custom Fields</a> box</li> 
     551                                                        <li>In the <i>Custom Fields</i> box, add a new key with the exact text: <code>comments</code></li> 
     552                                                        <li>Add any text for a value (some text must be included for the key to save)</li> 
     553                                                        <li>Click <i>Add Custom Field</i> to save the key/value</li> 
     554                                                        <li>Comments should now be enabled on that page</li> 
     555                                                </ol> 
     556                                                <p>Enabling comments simply includes the <code>comments.php</code> file with the page. You can turn off comments on a page by deleting the <code>comments</code> key/value. This does not delete any exisiting comments, but simply disables <code>comments.php</code> from loading with the page.</p> 
     557                                        </li><!-- #comments --> 
     558 
     559                                        <li id="templates"> 
     560                                                <h3>Page templates</h3> 
     561                                                <p>There are two <a href="http://codex.wordpress.org/Pages#Page_Templates" title="Page templates - WordPress Codex" rel="external">page templates</a> included: Links Page (<code>links.php</code>) and Archives Page (<code>archives.php</code>). You can add a title, text, and enable comments (see above) with both of these page templates.</p> 
     562                                                <p>To use the page templates:</p> 
     563                                                <ol> 
     564                                                        <li>In the <i>Write &rsaquo; Page</i> menu, expand the <i>Page Templates</i> box</li> 
     565                                                        <li>From the drop-down, select the page template to use</li> 
     566                                                        <li>Add a title and text (optional) for the page</li> 
     567                                                        <li>Click <i>Create New Page / Save</i> to publish the page</li> 
     568                                                </ol> 
     569                                                <p>The Archive Page template displays archives by month and by category. The Links Page displays links by link category.</p> 
     570                                        </li><!-- #templates --> 
     571                                </ol> 
     572                        </li><!-- #features --> 
     573 
     574                        <li id="license"> 
     575                                <h2>License</h2> 
     576                                <p>The Sandbox &copy; 2006&ndash;2007 is licensed under the <a href="http://www.gnu.org/licenses/gpl.html" title="GNU General Public License" rel="license"><abbr title="GNU is Not Unix">GNU</abbr> General Public License</a>:</p> 
     577                                <blockquote title="How to use the GPL or LPGL" cite="http://www.gnu.org/licenses/gpl-howto.html"> 
     578                                        <p>This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version.</p> 
     579                                        <p>This program is distributed in the hope that it will be useful, but <strong>without any warranty</strong>; without even the implied warranty of <strong>merchantability</strong> or <strong>fitness for a particular purpose</strong>. See the GNU General Public License for more details.</p> 
     580                                        <p>You should have received a copy of the GNU General Public License along with this program; if not, write to the <span class="vcard"><a class="url fn org" href="http://www.fsf.org/" rel="external">Free Software Foundation, Inc</a>, <span class="adr"><span class="street-address">51 Franklin Street, Fifth Floor</span>, <span class="locality">Boston</span>, <span class="region">MA</span> <span class="postal-code">02110-1301</span>, <span class="country-name">USA</span></span></span>.</p> 
     581                                </blockquote> 
     582                        </li><!-- #license --> 
     583 
     584                </ol><!-- #readme .xoxo --> 
     585 
     586                <div id="footer"> 
     587                        <p>Last updated 25 May 2007</p> 
     588                </div><!-- #footer --> 
     589                 
     590 
     591        </div><!-- #readme --> 
     592 
     593</body> 
     594</html> 
     595 No newline at end of file 
  • wp-content/themes/sandbox/page.php

     
     1<?php get_header() ?> 
     2 
     3        <div id="container"> 
     4                <div id="content"> 
     5 
     6<?php the_post() ?> 
     7                        <div id="post-<?php the_ID(); ?>" class="<?php sandbox_post_class() ?>"> 
     8                                <h2 class="entry-title"><?php the_title(); ?></h2> 
     9                                <div class="entry-content"> 
     10<?php the_content() ?> 
     11 
     12<?php link_pages("\t\t\t\t\t<div class='page-link'>".__('Pages: ', 'sandbox'), "</div>\n", 'number'); ?> 
     13 
     14<?php edit_post_link(__('Edit', 'sandbox'),'<span class="edit-link">','</span>') ?> 
     15 
     16                                </div> 
     17                        </div><!-- .post --> 
     18 
     19<?php if ( get_post_custom_values('comments') ) comments_template() // Add a key+value of "comments" to enable comments on this page ?> 
     20 
     21                </div><!-- #content --> 
     22        </div><!-- #container --> 
     23 
     24<?php get_sidebar() ?> 
     25<?php get_footer() ?> 
     26 No newline at end of file 
  • wp-content/themes/sandbox/category.php

     
     1<?php get_header() ?> 
     2         
     3        <div id="container"> 
     4                <div id="content"> 
     5 
     6                <h2 class="page-title"><?php _e('Category Archives:', 'sandbox') ?> <span><?php echo single_cat_title(); ?></span></h2> 
     7                        <div class="archive-meta"><?php if ( !(''== category_description()) ) : echo apply_filters('archive_meta', category_description()); endif; ?></div> 
     8 
     9                        <div id="nav-above" class="navigation"> 
     10                                <div class="nav-previous"><?php next_posts_link(__('<span class="meta-nav">&laquo;</span> Older posts', 'sandbox')) ?></div> 
     11                                <div class="nav-next"><?php previous_posts_link(__('Newer posts <span class="meta-nav">&raquo;</span>', 'sandbox')) ?></div> 
     12                        </div> 
     13 
     14<?php while (have_posts()) : the_post(); ?> 
     15 
     16                        <div id="post-<?php the_ID(); ?>" class="<?php sandbox_post_class(); ?>"> 
     17                                <h3 class="entry-title"><a href="<?php the_permalink() ?>" title="<?php printf(__('Permalink to %s', 'sandbox'), get_the_title()) ?>" rel="bookmark"><?php the_title() ?></a></h3> 
     18                                <div class="entry-date"><abbr class="published" title="<?php the_time('Y-m-d\TH:i:sO'); ?>"><?php unset($previousday); printf(__('%1$s &#8211; %2$s', 'sandbox'), the_date('', '', '', false), get_the_time()) ?></abbr></div> 
     19                                <div class="entry-content"> 
     20<?php the_excerpt(''.__('Read More <span class="meta-nav">&raquo;</span>', 'sandbox').'') ?> 
     21 
     22                                </div> 
     23                                <div class="entry-meta"> 
     24                                        <span class="author vcard"><?php printf(__('By %s', 'sandbox'), '<a class="url fn n" href="'.get_author_link(false, $authordata->ID, $authordata->user_nicename).'" title="' . sprintf(__('View all posts by %s', 'sandbox'), $authordata->display_name) . '">'.get_the_author().'</a>') ?></span> 
     25                                        <span class="meta-sep">|</span> 
     26<?php if ( $cats_meow = sandbox_cats_meow(', ') ) : /* only show categories other than the one queried */ ?> 
     27                                        <span class="cat-links"><?php printf(__('Also posted in %s', 'sandbox'), $cats_meow) ?></span> 
     28                                        <span class="meta-sep">|</span> 
     29<?php endif ?> 
     30<?php edit_post_link(__('Edit', 'sandbox'), "\t\t\t\t\t<span class=\"edit-link\">", "</span>\n\t\t\t\t\t<span class=\"meta-sep\">|</span>\n"); ?> 
     31                                        <span class="comments-link"><?php comments_popup_link(__('Comments (0)', 'sandbox'), __('Comments (1)', 'sandbox'), __('Comments (%)', 'sandbox')) ?></span> 
     32                                </div> 
     33                        </div><!-- .post --> 
     34 
     35<?php endwhile; ?> 
     36 
     37                        <div id="nav-below" class="navigation"> 
     38                                <div class="nav-previous"><?php next_posts_link(__('<span class="meta-nav">&laquo;</span> Older posts', 'sandbox')) ?></div> 
     39                                <div class="nav-next"><?php previous_posts_link(__('Newer posts <span class="meta-nav">&raquo;</span>', 'sandbox')) ?></div> 
     40                        </div> 
     41 
     42                </div><!-- #content --> 
     43        </div><!-- #container --> 
     44 
     45<?php get_sidebar() ?> 
     46<?php get_footer() ?> 
     47 No newline at end of file 
  • wp-content/themes/sandbox/links.php

     
     1<?php 
     2/* 
     3Template Name: Links Page 
     4*/ 
     5?> 
     6<?php get_header() ?> 
     7         
     8        <div id="container"> 
     9                <div id="content"> 
     10 
     11<?php the_post() ?> 
     12                        <div id="post-<?php the_ID(); ?>" class="<?php sandbox_post_class() ?>"> 
     13                                <h2 class="entry-title"><?php the_title() ?></h2> 
     14                                <div class="entry-content"> 
     15<?php the_content() ?> 
     16 
     17                                        <ul id="links-page" class="xoxo"> 
     18<?php if ( function_exists('wp_list_bookmarks') ) : wp_list_bookmarks('title_before=<h3>&title_after=</h3>'); else : ?> 
     19<?php 
     20$link_cats = $wpdb->get_results("SELECT cat_id, cat_name FROM $wpdb->linkcategories"); 
     21foreach ($link_cats as $link_cat) : 
     22?> 
     23                                                <li id="linkcat-<?php echo $link_cat->cat_id; ?>"> 
     24                                                        <h3><?php echo $link_cat->cat_name; ?></h3> 
     25                                                        <ul> 
     26                                                                <?php wp_get_links($link_cat->cat_id); ?> 
     27                                                        </ul> 
     28                                                </li> 
     29<?php endforeach ?> 
     30<?php endif ?> 
     31                                        </ul> 
     32<?php edit_post_link(__('Edit', 'sandbox'),'<span class="edit-link">','</span>') ?> 
     33 
     34                                </div> 
     35                        </div><!-- .post --> 
     36 
     37<?php if ( get_post_custom_values('comments') ) comments_template() // Add a key/value of "comments" to enable comments on pages! ?> 
     38 
     39                </div><!-- #content --> 
     40        </div><!-- #container --> 
     41 
     42<?php get_sidebar() ?> 
     43<?php get_footer() ?> 
     44 No newline at end of file 
  • wp-content/themes/sandbox/archive.php

     
     1<?php get_header() ?> 
     2 
     3        <div id="container"> 
     4                <div id="content"> 
     5 
     6<?php the_post() ?> 
     7 
     8<?php if ( is_day() ) : ?> 
     9                        <h2 class="page-title"><?php printf(__('Daily Archives: <span>%s</span>', 'sandbox'), get_the_time(get_settings('date_format'))) ?></h2> 
     10<?php elseif ( is_month() ) : ?> 
     11                        <h2 class="page-title"><?php printf(__('Monthly Archives: <span>%s</span>', 'sandbox'), get_the_time('F Y')) ?></h2> 
     12<?php elseif ( is_year() ) : ?> 
     13                        <h2 class="page-title"><?php printf(__('Yearly Archives: <span>%s</span>', 'sandbox'), get_the_time('Y')) ?></h2> 
     14<?php elseif ( isset($_GET['paged']) && !empty($_GET['paged']) ) : ?> 
     15                        <h2 class="page-title"><?php _e('Blog Archives', 'sandbox') ?></h2> 
     16<?php endif; ?> 
     17 
     18<?php rewind_posts() ?> 
     19 
     20                        <div id="nav-above" class="navigation"> 
     21                                <div class="nav-previous"><?php next_posts_link(__('<span class="meta-nav">&laquo;</span> Older posts', 'sandbox')) ?></div> 
     22                                <div class="nav-next"><?php previous_posts_link(__('Newer posts <span class="meta-nav">&raquo;</span>', 'sandbox')) ?></div> 
     23                        </div> 
     24 
     25<?php while ( have_posts() ) : the_post(); ?> 
     26 
     27                        <div id="post-<?php the_ID() ?>" class="<?php sandbox_post_class() ?>"> 
     28                                <h3 class="entry-title"><a href="<?php the_permalink() ?>" title="<?php printf(__('Permalink to %s', 'sandbox'), wp_specialchars(get_the_title(), 1)) ?>" rel="bookmark"><?php the_title() ?></a></h3> 
     29                                <div class="entry-date"><abbr class="published" title="<?php the_time('Y-m-d\TH:i:sO'); ?>"><?php unset($previousday); printf(__('%1$s &#8211; %2$s', 'sandbox'), the_date('', '', '', false), get_the_time()) ?></abbr></div> 
     30                                <div class="entry-content"> 
     31<?php the_excerpt(''.__('Read More <span class="meta-nav">&raquo;</span>', 'sandbox').'') ?> 
     32 
     33                                </div> 
     34                                <div class="entry-meta"> 
     35                                        <span class="author vcard"><?php printf(__('By %s', 'sandbox'), '<a class="url fn n" href="'.get_author_link(false, $authordata->ID, $authordata->user_nicename).'" title="' . sprintf(__('View all posts by %s', 'sandbox'), $authordata->display_name) . '">'.get_the_author().'</a>') ?></span> 
     36                                        <span class="meta-sep">|</span> 
     37                                        <span class="cat-links"><?php printf(__('Posted in %s', 'sandbox'), get_the_category_list(', ')) ?></span> 
     38                                        <span class="meta-sep">|</span> 
     39<?php edit_post_link(__('Edit', 'sandbox'), "\t\t\t\t\t<span class=\"edit-link\">", "</span>\n\t\t\t\t\t<span class=\"meta-sep\">|</span>\n"); ?> 
     40                                        <span class="comments-link"><?php comments_popup_link(__('Comments (0)', 'sandbox'), __('Comments (1)', 'sandbox'), __('Comments (%)', 'sandbox')) ?></span> 
     41                                </div> 
     42                        </div><!-- .post --> 
     43 
     44<?php endwhile ?> 
     45 
     46                        <div id="nav-below" class="navigation"> 
     47                                <div class="nav-previous"><?php next_posts_link(__('<span class="meta-nav">&laquo;</span> Older posts', 'sandbox')) ?></div> 
     48                                <div class="nav-next"><?php previous_posts_link(__('Newer posts <span class="meta-nav">&raquo;</span>', 'sandbox')) ?></div> 
     49                        </div> 
     50 
     51                </div><!-- #content .hfeed --> 
     52        </div><!-- #container --> 
     53 
     54<?php get_sidebar() ?> 
     55<?php get_footer() ?> 
     56 No newline at end of file 
  • wp-content/themes/sandbox/single.php

     
     1<?php get_header() ?> 
     2 
     3        <div id="container"> 
     4                <div id="content"> 
     5 
     6<?php the_post(); ?> 
     7                        <div id="nav-above" class="navigation"> 
     8                                <div class="nav-previous"><?php previous_post_link('<span class="meta-nav">&laquo;</span> %link') ?></div> 
     9                                <div class="nav-next"><?php next_post_link('%link <span class="meta-nav">&raquo;</span>') ?></div> 
     10                        </div> 
     11 
     12                        <div id="post-<?php the_ID(); ?>" class="<?php sandbox_post_class(); ?>"> 
     13                                <h2 class="entry-title"><?php the_title(); ?></h2> 
     14                                <div class="entry-content"> 
     15<?php the_content(''.__('Read More <span class="meta-nav">&raquo;</span>', 'sandbox').''); ?> 
     16 
     17<?php link_pages("\t\t\t\t\t<div class='page-link'>".__('Pages: ', 'sandbox'), "</div>\n", 'number'); ?> 
     18                                </div> 
     19                                <div class="entry-meta"> 
     20                                        <?php printf(__('This entry was written by %1$s and posted on <abbr class="published" title="%2$sT%3$s">%4$s at %5$s</abbr> and filed under %6$s. Bookmark the <a href="%7$s" title="Permalink to %8$s" rel="bookmark">permalink</a>. Follow any comments here with the <a href="%9$s" title="Comments RSS to %8$s" rel="alternate" type="application/rss+xml">RSS feed for this post</a>.', 'sandbox'), 
     21                                                '<span class="author vcard"><a class="url fn n" href="'.get_author_link(false, $authordata->ID, $authordata->user_nicename).'" title="' . sprintf(__('View all posts by %s', 'sandbox'), $authordata->display_name) . '">'.get_the_author().'</a></span>', 
     22                                                get_the_time('Y-m-d'), 
     23                                                get_the_time('H:i:sO'), 
     24                                                the_date('', '', '', false), 
     25                                                get_the_time(), 
     26                                                get_the_category_list(', '), 
     27                                                get_permalink(), 
     28                                                wp_specialchars(get_the_title(), 'double'), 
     29                                                comments_rss() ) ?> 
     30 
     31<?php if (('open' == $post-> comment_status) && ('open' == $post->ping_status)) : // Comments and trackbacks open ?> 
     32                                        <?php printf(__('<a class="comment-link" href="#respond" title="Post a comment">Post a comment</a> or leave a trackback: <a class="trackback-link" href="%s" title="Trackback URL for your post" rel="trackback">Trackback URL</a>.', 'sandbox'), get_trackback_url()) ?> 
     33<?php elseif (!('open' == $post-> comment_status) && ('open' == $post->ping_status)) : // Only trackbacks open ?> 
     34                                        <?php printf(__('Comments are closed, but you can leave a trackback: <a class="trackback-link" href="%s" title="Trackback URL for your post" rel="trackback">Trackback URL</a>.', 'sandbox'), get_trackback_url()) ?> 
     35<?php elseif (('open' == $post-> comment_status) && !('open' == $post->ping_status)) : // Only comments open ?> 
     36                                        <?php printf(__('Trackbacks are closed, but you can <a class="comment-link" href="#respond" title="Post a comment">post a comment</a>.', 'sandbox')) ?> 
     37<?php elseif (!('open' == $post-> comment_status) && !('open' == $post->ping_status)) : // Comments and trackbacks closed ?> 
     38                                        <?php _e('Both comments and trackbacks are currently closed.') ?> 
     39<?php endif; ?> 
     40<?php edit_post_link(__('Edit', 'sandbox'), "\n\t\t\t\t\t<span class=\"edit-link\">", "</span>"); ?> 
     41 
     42                                </div> 
     43                        </div><!-- .post --> 
     44 
     45                        <div id="nav-below" class="navigation"> 
     46                                <div class="nav-previous"><?php previous_post_link('<span class="meta-nav">&laquo;</span> %link') ?></div> 
     47                                <div class="nav-next"><?php next_post_link('%link <span class="meta-nav">&raquo;</span>') ?></div> 
     48                        </div> 
     49 
     50<?php comments_template(); ?> 
     51 
     52                </div><!-- #content --> 
     53        </div><!-- #container --> 
     54 
     55<?php get_sidebar() ?> 
     56<?php get_footer() ?> 
     57 No newline at end of file 
  • wp-content/themes/sandbox/comments.php

     
     1                        <div id="comments"> 
     2<?php 
     3        $req = get_settings('require_name_email'); // Checks if fields are required. Thanks, Adam. ;-) 
     4        if ( 'comments.php' == basename($_SERVER['SCRIPT_FILENAME']) ) 
     5                die ( 'Please do not load this page directly. Thanks!' ); 
     6        if ( ! empty($post->post_password) ) : 
     7                if ( $_COOKIE['wp-postpass_' . COOKIEHASH] != $post->post_password ) : 
     8?> 
     9                                <div class="nopassword"><?php _e('This post is password protected. Enter the password to view any comments.', 'sandbox') ?></div> 
     10                        </div><!-- .comments --> 
     11<?php 
     12                return; 
     13        endif; 
     14endif; 
     15?> 
     16<?php if ( $comments ) : ?> 
     17<?php global $sandbox_comment_alt ?> 
     18 
     19<?php /* numbers of pings and comments */ 
     20$ping_count = $comment_count = 0; 
     21foreach ( $comments as $comment ) 
     22        get_comment_type() == "comment" ? ++$comment_count : ++$ping_count; 
     23?> 
     24<?php if ( $comment_count ) : ?> 
     25<?php $sandbox_comment_alt = 0 ?> 
     26 
     27                                <div id="comments-list" class="comments"> 
     28                                        <h3><?php printf($comment_count > 1 ? __('<span>%d</span> Comments', 'sandbox') : __('<span>One</span> Comment', 'sandbox'), $comment_count) ?></h3> 
     29 
     30                                        <ol> 
     31<?php foreach ($comments as $comment) : ?> 
     32<?php if ( get_comment_type() == "comment" ) : ?> 
     33                                                <li id="comment-<?php comment_ID() ?>" class="<?php sandbox_comment_class() ?>"> 
     34                                                        <div class="comment-author vcard"><span class="fn n"><?php comment_author_link() ?></span></div> 
     35                                                        <div class="comment-meta"><?php printf(__('Posted %1$s at %2$s <span class="meta-sep">|</span> <a href="%3$s" title="Permalink to this comment">Permalink</a>', 'sandbox'), 
     36                                                                                get_comment_date(), 
     37                                                                                get_comment_time(), 
     38                                                                                '#comment-' . get_comment_ID() ); 
     39                                                                                edit_comment_link(__('Edit', 'sandbox'), ' <span class="meta-sep">|</span> <span class="edit-link">', '</span>'); ?></div> 
     40<?php if ($comment->comment_approved == '0') _e("\t\t\t\t\t<span class='unapproved'>Your comment is awaiting moderation.</span>\n", 'sandbox') ?> 
     41                                                        <?php comment_text() ?> 
     42                                                </li> 
     43<?php endif; /* if ( get_comment_type() == "comment" ) */ ?> 
     44<?php endforeach; ?> 
     45 
     46                                        </ol> 
     47                                </div><!-- #comments-list .comments --> 
     48 
     49<?php endif; /* if ( $comment_count ) */ ?> 
     50<?php if ( $ping_count ) : ?> 
     51<?php $sandbox_comment_alt = 0 ?> 
     52 
     53                                <div id="trackbacks-list" class="comments"> 
     54                                        <h3><?php printf($ping_count > 1 ? __('<span>%d</span> Trackbacks', 'sandbox') : __('<span>One</span> Trackback', 'sandbox'), $ping_count) ?></h3> 
     55 
     56                                        <ol> 
     57<?php foreach ( $comments as $comment ) : ?> 
     58<?php if ( get_comment_type() != "comment" ) : ?> 
     59 
     60                                                <li id="comment-<?php comment_ID() ?>" class="<?php sandbox_comment_class() ?>"> 
     61                                                        <div class="comment-author"><?php printf(__('By %1$s on %2$s at %3$s', 'sandbox'), 
     62                                                                        get_comment_author_link(), 
     63                                                                        get_comment_date(), 
     64                                                                        get_comment_time() ); 
     65                                                                        edit_comment_link(__('Edit', 'sandbox'), ' <span class="meta-sep">|</span> <span class="edit-link">', '</span>'); ?></div> 
     66<?php if ($comment->comment_approved == '0') _e('\t\t\t\t\t<span class="unapproved">Your trackback is awaiting moderation.</span>\n', 'sandbox') ?> 
     67                                                        <?php comment_text() ?> 
     68                                                </li> 
     69<?php endif /* if ( get_comment_type() != "comment" ) */ ?> 
     70<?php endforeach; ?> 
     71 
     72                                        </ol> 
     73                                </div><!-- #trackbacks-list .comments --> 
     74 
     75<?php endif /* if ( $ping_count ) */ ?> 
     76<?php endif /* if ( $comments ) */ ?> 
     77<?php if ( 'open' == $post->comment_status ) : ?> 
     78                                <div id="respond"> 
     79                                        <h3><?php _e('Post a Comment', 'sandbox') ?></h3> 
     80 
     81<?php if ( get_option('comment_registration') && !$user_ID ) : ?> 
     82                                        <p id="login-req"><?php printf(__('You must be <a href="%s" title="Log in">logged in</a> to post a comment.', 'sandbox'), 
     83                                        get_option('siteurl') . '/wp-login.php?redirect_to=' . get_permalink() ) ?></p> 
     84 
     85<?php else : ?> 
     86                                        <div class="formcontainer">      
     87                                                <form id="commentform" action="<?php echo get_option('siteurl'); ?>/wp-comments-post.php" method="post"> 
     88 
     89<?php if ( $user_ID ) : ?> 
     90                                                        <p id="login"><?php printf(__('<span class="loggedin">Logged in as <a href="%1$s" title="Logged in as %2$s">%2$s</a>.</span> <span class="logout"><a href="%3$s" title="Log out of this account">Log out?</a></span>', 'sandbox'), 
     91                                                                get_option('siteurl') . '/wp-admin/profile.php', 
     92                                                                wp_specialchars($user_identity, true), 
     93                                                                get_option('siteurl') . '/wp-login.php?action=logout&amp;redirect_to=' . get_permalink() ) ?></p> 
     94 
     95<?php else : ?> 
     96 
     97                                                        <p id="comment-notes"><?php _e('Your email is <em>never</em> published nor shared.', 'sandbox') ?> <?php if ($req) _e('Required fields are marked <span class="required">*</span>', 'sandbox') ?></p> 
     98 
     99                                                        <div class="form-label"><label for="author"><?php _e('Name', 'sandbox') ?></label> <?php if ($req) _e('<span class="required">*</span>', 'sandbox') ?></div> 
     100                                                        <div class="form-input"><input id="author" name="author" type="text" value="<?php echo $comment_author ?>" size="30" maxlength="20" tabindex="3" /></div> 
     101 
     102                                                        <div class="form-label"><label for="email"><?php _e('Email', 'sandbox') ?></label> <?php if ($req) _e('<span class="required">*</span>', 'sandbox') ?></div> 
     103                                                        <div class="form-input"><input id="email" name="email" type="text" value="<?php echo $comment_author_email ?>" size="30" maxlength="50" tabindex="4" /></div> 
     104 
     105                                                        <div class="form-label"><label for="url"><?php _e('Website', 'sandbox') ?></label></div> 
     106                                                        <div class="form-input"><input id="url" name="url" type="text" value="<?php echo $comment_author_url ?>" size="30" maxlength="50" tabindex="5" /></div> 
     107 
     108<?php endif /* if ( $user_ID ) */ ?> 
     109 
     110                                                        <div class="form-label"><label for="comment"><?php _e('Comment', 'sandbox') ?></label></div> 
     111                                                        <div class="form-textarea"><textarea id="comment" name="comment" cols="45" rows="8" tabindex="6"></textarea></div> 
     112 
     113                                                        <div class="form-submit"><input id="submit" name="submit" type="submit" value="<?php _e('Post Comment', 'sandbox') ?>" tabindex="7" /><input type="hidden" name="comment_post_ID" value="<?php echo $id; ?>" /></div> 
     114 
     115                                                        <?php do_action('comment_form', $post->ID); ?> 
     116 
     117                                                </form><!-- #commentform --> 
     118                                        </div><!-- .formcontainer --> 
     119<?php endif /* if ( get_option('comment_registration') && !$user_ID ) */ ?> 
     120 
     121                                </div><!-- #respond --> 
     122<?php endif /* if ( 'open' == $post->comment_status ) */ ?> 
     123 
     124                        </div><!-- #comments --> 
  • wp-content/themes/sandbox/attachment.php

     
     1<?php get_header() ?> 
     2 
     3        <div id="container"> 
     4                <div id="content"> 
     5 
     6<?php the_post() ?> 
     7 
     8<?php $attachment_link = get_the_attachment_link($post->ID, true, array(600, 800)); // Finds attachment, sizes it ?> 
     9<?php $_post = &get_post($post->ID); $classname = ($_post->iconsize[0] <= 128 ? 'small' : '') . 'attachment'; // If it's small, give it 'small' in its class name ?> 
     10 
     11                        <h2 class="page-title"><a href="<?php echo get_permalink($post->post_parent) ?>" rev="attachment"><?php echo get_the_title($post->post_parent) ?></a></h2> 
     12                        <div id="post-<?php the_ID(); ?>" class="<?php sandbox_post_class() ?>"> 
     13                                <h3 class="entry-title"><?php the_title() ?></h3> 
     14                                <div class="entry-content"> 
     15                                        <p class="<?php echo $classname ?>"><?php echo $attachment_link ?></p> 
     16                                        <p class="<?php echo $classname ?>-name"><?php echo basename($post->guid) ?></p> 
     17<?php the_content(''.__('Read More <span class="meta-nav">&raquo;</span>', 'sandbox').''); ?> 
     18 
     19<?php link_pages("\t\t\t\t\t<div class='page-link'>".__('Pages: ', 'sandbox'), "</div>\n", 'number'); ?> 
     20 
     21                                </div> 
     22                                <div class="entry-meta"> 
     23                                        <?php printf(__('This entry was written by %1$s and posted on <abbr class="published" title="%2$sT%3$s">%4$s at %5$s</abbr> and filed under %6$s. Bookmark the <a href="%7$s" title="Permalink to %8$s" rel="bookmark">permalink</a>. Follow any comments here with the <a href="%9$s" title="Comments RSS to %8$s" rel="alternate" type="application/rss+xml">RSS feed for this post</a>.', 'sandbox'), 
     24                                                '<span class="author vcard"><a class="url fn n" href="'.get_author_link(false, $authordata->ID, $authordata->user_nicename).'" title="' . sprintf(__('View all posts by %s', 'sandbox'), $authordata->display_name) . '">'.get_the_author().'</a></span>', 
     25                                                get_the_time('Y-m-d'), 
     26                                                get_the_time('H:i:sO'), 
     27                                                the_date('', '', '', false), 
     28                                                get_the_time(), 
     29                                                get_the_category_list(', '), 
     30                                                get_permalink(), 
     31                                                wp_specialchars(get_the_title(), 'double'), 
     32                                                comments_rss() ) ?> 
     33 
     34<?php if (('open' == $post-> comment_status) && ('open' == $post->ping_status)) : // Comments and trackbacks open ?> 
     35                                        <?php printf(__('<a class="comment-link" href="#respond" title="Post a comment">Post a comment</a> or leave a trackback: <a class="trackback-link" href="%s" title="Trackback URL for your post" rel="trackback">Trackback URL</a>.', 'sandbox'), get_trackback_url()) ?> 
     36<?php elseif (!('open' == $post-> comment_status) && ('open' == $post->ping_status)) : // Only trackbacks open ?> 
     37                                        <?php printf(__('Comments are closed, but you can leave a trackback: <a class="trackback-link" href="%s" title="Trackback URL for your post" rel="trackback">Trackback URL</a>.', 'sandbox'), get_trackback_url()) ?> 
     38<?php elseif (('open' == $post-> comment_status) && !('open' == $post->ping_status)) : // Only comments open ?> 
     39                                        <?php printf(__('Trackbacks are closed, but you can <a class="comment-link" href="#respond" title="Post a comment">post a comment</a>.', 'sandbox')) ?> 
     40<?php elseif (!('open' == $post-> comment_status) && !('open' == $post->ping_status)) : // Comments and trackbacks closed ?> 
     41                                        <?php _e('Both comments and trackbacks are currently closed.') ?> 
     42<?php endif; ?> 
     43<?php edit_post_link(__('Edit', 'sandbox'), "\n\t\t\t\t\t<span class=\"edit-link\">", "</span>"); ?> 
     44 
     45                                </div> 
     46                        </div><!-- .post --> 
     47 
     48<?php comments_template(); ?> 
     49 
     50                </div><!-- #content --> 
     51        </div><!-- #container --> 
     52 
     53<?php get_sidebar() ?> 
     54<?php get_footer() ?> 
     55 No newline at end of file 
  • wp-content/themes/sandbox/header.php

     
     1<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> 
     2<html xmlns="http://www.w3.org/1999/xhtml" <?php sandbox_blog_lang(); ?>> 
     3<head profile="http://gmpg.org/xfn/11"> 
     4        <title><?php bloginfo('name'); if ( is_404() ) : _e(' &raquo; ', 'sandbox'); _e('Not Found', 'sandbox'); elseif ( is_home() ) : _e(' &raquo; ', 'sandbox'); bloginfo('description'); else : wp_title(); endif; ?></title> 
     5        <meta http-equiv="content-type" content="<?php bloginfo('html_type') ?>; charset=<?php bloginfo('charset') ?>" /> 
     6        <meta name="description" content="<?php bloginfo('description') ?>" /> 
     7        <meta name="generator" content="WordPress <?php bloginfo('version') ?>" /><!-- Please leave for stats --> 
     8        <link rel="stylesheet" type="text/css" href="<?php bloginfo('stylesheet_url'); ?>" /> 
     9        <link rel="alternate" type="application/rss+xml" href="<?php bloginfo('rss2_url') ?>" title="<?php echo wp_specialchars(get_bloginfo('name'), 1) ?> <?php _e('Posts RSS feed', 'sandbox'); ?>" /> 
     10        <link rel="alternate" type="application/rss+xml" href="<?php bloginfo('comments_rss2_url') ?>" title="<?php echo wp_specialchars(get_bloginfo('name'), 1) ?> <?php _e('Comments RSS feed', 'sandbox'); ?>" /> 
     11        <link rel="pingback" href="<?php bloginfo('pingback_url') ?>" /> 
     12<?php wp_head() ?> 
     13 
     14</head> 
     15 
     16<body class="<?php sandbox_body_class() ?>"> 
     17 
     18<div id="wrapper" class="hfeed"> 
     19 
     20        <div id="header"> 
     21                <h1 id="blog-title"><a href="<?php echo get_settings('home') ?>/" title="<?php bloginfo('name') ?>" rel="home"><?php bloginfo('name') ?></a></h1> 
     22                <div id="blog-description"><?php bloginfo('description') ?></div> 
     23        </div><!--  #header --> 
     24 
     25        <div id="access"> 
     26                <div class="skip-link"><a href="#content" title="<?php _e('Skip navigation to the content', 'sandbox'); ?>"><?php _e('Skip to content', 'sandbox'); ?></a></div> 
     27                <?php sandbox_globalnav() ?> 
     28        </div><!-- #access --> 
  • wp-content/themes/sandbox/404.php

     
     1<?php get_header() ?> 
     2 
     3        <div id="container"> 
     4                <div id="content"> 
     5 
     6                        <div id="post-0" class="post error404"> 
     7                                <h2 class="entry-title"><?php _e('Not Found', 'sandbox') ?></h2> 
     8                                <div class="entry-content"> 
     9                                        <p><?php _e('Apologies, but we were unable to find what you were looking for. Perhaps  searching will help.', 'sandbox') ?></p> 
     10                                </div> 
     11                                <form id="searchform" method="get" action="<?php bloginfo('home') ?>"> 
     12                                        <div> 
     13                                                <input id="s" name="s" type="text" value="<?php echo wp_specialchars(stripslashes($_GET['s']), true) ?>" size="40" /> 
     14                                                <input id="searchsubmit" name="searchsubmit" type="submit" value="<?php _e('Find', 'sandbox') ?>" /> 
     15                                        </div> 
     16                                </form> 
     17                        </div><!-- .post --> 
     18 
     19                </div><!-- #content --> 
     20        </div><!-- #container --> 
     21 
     22<?php get_sidebar() ?> 
     23<?php get_footer() ?> 
     24 No newline at end of file 
  • wp-content/themes/sandbox/archive.php

     
     1<?php get_header() ?> 
     2 
     3        <div id="container"> 
     4                <div id="content"> 
     5 
     6<?php the_post() ?> 
     7 
     8<?php if ( is_day() ) : ?> 
     9                        <h2 class="page-title"><?php printf(__('Daily Archives: <span>%s</span>', 'sandbox'), get_the_time(get_settings('date_format'))) ?></h2> 
     10<?php elseif ( is_month() ) : ?> 
     11                        <h2 class="page-title"><?php printf(__('Monthly Archives: <span>%s</span>', 'sandbox'), get_the_time('F Y')) ?></h2> 
     12<?php elseif ( is_year() ) : ?> 
     13                        <h2 class="page-title"><?php printf(__('Yearly Archives: <span>%s</span>', 'sandbox'), get_the_time('Y')) ?></h2> 
     14<?php elseif ( isset($_GET['paged']) && !empty($_GET['paged']) ) : ?> 
     15                        <h2 class="page-title"><?php _e('Blog Archives', 'sandbox') ?></h2> 
     16<?php endif; ?> 
     17 
     18<?php rewind_posts() ?> 
     19 
     20                        <div id="nav-above" class="navigation"> 
     21                                <div class="nav-previous"><?php next_posts_link(__('<span class="meta-nav">&laquo;</span> Older posts', 'sandbox')) ?></div> 
     22                                <div class="nav-next"><?php previous_posts_link(__('Newer posts <span class="meta-nav">&raquo;</span>', 'sandbox')) ?></div> 
     23                        </div> 
     24 
     25<?php while ( have_posts() ) : the_post(); ?> 
     26 
     27                        <div id="post-<?php the_ID() ?>" class="<?php sandbox_post_class() ?>"> 
     28                                <h3 class="entry-title"><a href="<?php the_permalink() ?>" title="<?php printf(__('Permalink to %s', 'sandbox'), wp_specialchars(get_the_title(), 1)) ?>" rel="bookmark"><?php the_title() ?></a></h3> 
     29                                <div class="entry-date"><abbr class="published" title="<?php the_time('Y-m-d\TH:i:sO'); ?>"><?php unset($previousday); printf(__('%1$s &#8211; %2$s', 'sandbox'), the_date('', '', '', false), get_the_time()) ?></abbr></div> 
     30                                <div class="entry-content"> 
     31<?php the_excerpt(''.__('Read More <span class="meta-nav">&raquo;</span>', 'sandbox').'') ?> 
     32 
     33                                </div> 
     34                                <div class="entry-meta"> 
     35                                        <span class="author vcard"><?php printf(__('By %s', 'sandbox'), '<a class="url fn n" href="'.get_author_link(false, $authordata->ID, $authordata->user_nicename).'" title="' . sprintf(__('View all posts by %s', 'sandbox'), $authordata->display_name) . '">'.get_the_author().'</a>') ?></span> 
     36                                        <span class="meta-sep">|</span> 
     37                                        <span class="cat-links"><?php printf(__('Posted in %s', 'sandbox'), get_the_category_list(', ')) ?></span> 
     38                                        <span class="meta-sep">|</span> 
     39<?php edit_post_link(__('Edit', 'sandbox'), "\t\t\t\t\t<span class=\"edit-link\">", "</span>\n\t\t\t\t\t<span class=\"meta-sep\">|</span>\n"); ?> 
     40                                        <span class="comments-link"><?php comments_popup_link(__('Comments (0)', 'sandbox'), __('Comments (1)', 'sandbox'), __('Comments (%)', 'sandbox')) ?></span> 
     41                                </div> 
     42                        </div><!-- .post --> 
     43 
     44<?php endwhile ?> 
     45 
     46                        <div id="nav-below" class="navigation"> 
     47                                <div class="nav-previous"><?php next_posts_link(__('<span class="meta-nav">&laquo;</span> Older posts', 'sandbox')) ?></div> 
     48                                <div class="nav-next"><?php previous_posts_link(__('Newer posts <span class="meta-nav">&raquo;</span>', 'sandbox')) ?></div> 
     49                        </div> 
     50 
     51                </div><!-- #content .hfeed --> 
     52        </div><!-- #container --> 
     53 
     54<?php get_sidebar() ?> 
     55<?php get_footer() ?> 
     56 No newline at end of file 
  • wp-content/themes/sandbox/archives.php

     
     1<?php 
     2/* 
     3Template Name: Archives Page 
     4*/ 
     5?> 
     6<?php get_header() ?> 
     7         
     8        <div id="container"> 
     9                <div id="content"> 
     10 
     11<?php the_post() ?> 
     12 
     13                        <div id="post-<?php the_ID() ?>" class="<?php sandbox_post_class() ?>"> 
     14                                <h2 class="entry-title"><?php the_title() ?></h2> 
     15                                <div class="entry-content"> 
     16<?php the_content(); ?> 
     17 
     18                                        <ul id="archives-page" class="xoxo"> 
     19                                                <li id="category-archives" class="content-column"> 
     20                                                        <h3><?php _e('Archives by Category', 'sandbox') ?></h3> 
     21                                                        <ul> 
     22                                                                <?php wp_list_cats('sort_column=name&optioncount=1&feed=RSS') ?>  
     23                                                        </ul> 
     24                                                </li> 
     25                                                <li id="monthly-archives" class="content-column"> 
     26                                                        <h3><?php _e('Archives by Month', 'sandbox') ?></h3> 
     27                                                        <ul> 
     28                                                                <?php wp_get_archives('type=monthly&show_post_count=1') ?> 
     29                                                        </ul> 
     30                                                </li> 
     31                                        </ul> 
     32<?php edit_post_link(__('Edit', 'sandbox'),'<span class="edit-link">','</span>') ?> 
     33 
     34                                </div> 
     35                        </div><!-- .post --> 
     36 
     37<?php if ( get_post_custom_values('comments') ) comments_template() // Add a key/value of "comments" to enable comments on pages! ?> 
     38 
     39                </div><!-- #content --> 
     40        </div><!-- #container --> 
     41 
     42<?php get_sidebar() ?> 
     43<?php get_footer() ?> 
     44 No newline at end of file 
  • wp-content/themes/sandbox/attachment.php

     
     1<?php get_header() ?> 
     2 
     3        <div id="container"> 
     4                <div id="content"> 
     5 
     6<?php the_post() ?> 
     7 
     8<?php $attachment_link = get_the_attachment_link($post->ID, true, array(600, 800)); // Finds attachment, sizes it ?> 
     9<?php $_post = &get_post($post->ID); $classname = ($_post->iconsize[0] <= 128 ? 'small' : '') . 'attachment'; // If it's small, give it 'small' in its class name ?> 
     10 
     11                        <h2 class="page-title"><a href="<?php echo get_permalink($post->post_parent) ?>" rev="attachment"><?php echo get_the_title($post->post_parent) ?></a></h2> 
     12                        <div id="post-<?php the_ID(); ?>" class="<?php sandbox_post_class() ?>"> 
     13                                <h3 class="entry-title"><?php the_title() ?></h3> 
     14                                <div class="entry-content"> 
     15                                        <p class="<?php echo $classname ?>"><?php echo $attachment_link ?></p> 
     16                                        <p class="<?php echo $classname ?>-name"><?php echo basename($post->guid) ?></p> 
     17<?php the_content(''.__('Read More <span class="meta-nav">&raquo;</span>', 'sandbox').''); ?> 
     18 
     19<?php link_pages("\t\t\t\t\t<div class='page-link'>".__('Pages: ', 'sandbox'), "</div>\n", 'number'); ?> 
     20 
     21                                </div> 
     22                                <div class="entry-meta"> 
     23                                        <?php printf(__('This entry was written by %1$s and posted on <abbr class="published" title="%2$sT%3$s">%4$s at %5$s</abbr> and filed under %6$s. Bookmark the <a href="%7$s" title="Permalink to %8$s" rel="bookmark">permalink</a>. Follow any comments here with the <a href="%9$s" title="Comments RSS to %8$s" rel="alternate" type="application/rss+xml">RSS feed for this post</a>.', 'sandbox'), 
     24                                                '<span class="author vcard"><a class="url fn n" href="'.get_author_link(false, $authordata->ID, $authordata->user_nicename).'" title="' . sprintf(__('View all posts by %s', 'sandbox'), $authordata->display_name) . '">'.get_the_author().'</a></span>', 
     25                                                get_the_time('Y-m-d'), 
     26                                                get_the_time('H:i:sO'), 
     27                                                the_date('', '', '', false), 
     28                                                get_the_time(), 
     29                                                get_the_category_list(', '), 
     30                                                get_permalink(), 
     31                                                wp_specialchars(get_the_title(), 'double'), 
     32                                                comments_rss() ) ?> 
     33 
     34<?php if (('open' == $post-> comment_status) && ('open' == $post->ping_status)) : // Comments and trackbacks open ?> 
     35                                        <?php printf(__('<a class="comment-link" href="#respond" title="Post a comment">Post a comment</a> or leave a trackback: <a class="trackback-link" href="%s" title="Trackback URL for your post" rel="trackback">Trackback URL</a>.', 'sandbox'), get_trackback_url()) ?> 
     36<?php elseif (!('open' == $post-> comment_status) && ('open' == $post->ping_status)) : // Only trackbacks open ?> 
     37                                        <?php printf(__('Comments are closed, but you can leave a trackback: <a class="trackback-link" href="%s" title="Trackback URL for your post" rel="trackback">Trackback URL</a>.', 'sandbox'), get_trackback_url()) ?> 
     38<?php elseif (('open' == $post-> comment_status) && !('open' == $post->ping_status)) : // Only comments open ?> 
     39                                        <?php printf(__('Trackbacks are closed, but you can <a class="comment-link" href="#respond" title="Post a comment">post a comment</a>.', 'sandbox')) ?> 
     40<?php elseif (!('open' == $post-> comment_status) && !('open' == $post->ping_status)) : // Comments and trackbacks closed ?> 
     41                                        <?php _e('Both comments and trackbacks are currently closed.') ?> 
     42<?php endif; ?> 
     43<?php edit_post_link(__('Edit', 'sandbox'), "\n\t\t\t\t\t<span class=\"edit-link\">", "</span>"); ?> 
     44 
     45                                </div> 
     46                        </div><!-- .post --> 
     47 
     48<?php comments_template(); ?> 
     49 
     50                </div><!-- #content --> 
     51        </div><!-- #container --> 
     52 
     53<?php get_sidebar() ?> 
     54<?php get_footer() ?> 
     55 No newline at end of file 
  • wp-content/themes/sandbox/author.php

     
     1<?php get_header() ?> 
     2 
     3        <div id="container"> 
     4                <div id="content"> 
     5 
     6<?php the_post() ?> 
     7 
     8                        <h2 class="page-title author"><?php printf(__('Author Archives: <span class="vcard">%s</span>', 'sandbox'), "<a class='url fn n' href='$authordata->user_url' title='$authordata->display_name' rel='me'>$authordata->display_name</a>") ?></h2> 
     9                        <div class="archive-meta"><?php if ( !(''== $authordata->user_description) ) : echo apply_filters('archive_meta', $authordata->user_description); endif; ?></div> 
     10 
     11                        <div id="nav-above" class="navigation"> 
     12                                <div class="nav-previous"><?php next_posts_link(__('<span class="meta-nav">&laquo;</span> Older posts', 'sandbox')) ?></div> 
     13                                <div class="nav-next"><?php previous_posts_link(__('Newer posts <span class="meta-nav">&raquo;</span>', 'sandbox')) ?></div> 
     14                        </div> 
     15 
     16<?php rewind_posts(); while (have_posts()) : the_post(); ?> 
     17 
     18                        <div id="post-<?php the_ID(); ?>" class="<?php sandbox_post_class(); ?>"> 
     19                                <h3 class="entry-title"><a href="<?php the_permalink() ?>" title="<?php printf(__('Permalink to %s', 'sandbox'), wp_specialchars(get_the_title(), 1)) ?>" rel="bookmark"><?php the_title(); ?></a></h3> 
     20                                <div class="entry-date"><abbr class="published" title="<?php the_time('Y-m-d\TH:i:sO'); ?>"><?php unset($previousday); printf(__('%1$s &#8211; %2$s', 'sandbox'), the_date('', '', '', false), get_the_time()) ?></abbr></div> 
     21                                <div class="entry-content "> 
     22<?php the_excerpt(''.__('Read More <span class="meta-nav">&raquo;</span>', 'sandbox').'') ?> 
     23 
     24                                </div> 
     25                                <div class="entry-meta"> 
     26                                        <span class="cat-links"><?php printf(__('Posted in %s', 'sandbox'), get_the_category_list(', ')) ?></span> 
     27                                        <span class="meta-sep">|</span> 
     28<?php edit_post_link(__('Edit', 'sandbox'), "\t\t\t\t\t<span class=\"edit-link\">", "</span>\n\t\t\t\t\t<span class=\"meta-sep\">|</span>\n"); ?> 
     29                                        <span class="comments-link"><?php comments_popup_link(__('Comments (0)', 'sandbox'), __('Comments (1)', 'sandbox'), __('Comments (%)', 'sandbox')) ?></span> 
     30                                </div> 
     31                        </div><!-- .post --> 
     32 
     33<?php endwhile ?> 
     34 
     35                        <div id="nav-below" class="navigation"> 
     36                                <div class="nav-previous"><?php next_posts_link(__('<span class="meta-nav">&laquo;</span> Older posts', 'sandbox')) ?></div> 
     37                                <div class="nav-next"><?php previous_posts_link(__('Newer posts <span class="meta-nav">&raquo;</span>', 'sandbox')) ?></div> 
     38                        </div> 
     39         
     40                </div><!-- #content --> 
     41        </div><!-- #container --> 
     42 
     43<?php get_sidebar() ?> 
     44<?php get_footer() ?> 
     45 No newline at end of file 
  • wp-content/themes/sandbox/category.php

     
     1<?php get_header() ?> 
     2         
     3        <div id="container"> 
     4                <div id="content"> 
     5 
     6                <h2 class="page-title"><?php _e('Category Archives:', 'sandbox') ?> <span><?php echo single_cat_title(); ?></span></h2> 
     7                        <div class="archive-meta"><?php if ( !(''== category_description()) ) : echo apply_filters('archive_meta', category_description()); endif; ?></div> 
     8 
     9                        <div id="nav-above" class="navigation"> 
     10                                <div class="nav-previous"><?php next_posts_link(__('<span class="meta-nav">&laquo;</span> Older posts', 'sandbox')) ?></div> 
     11                                <div class="nav-next"><?php previous_posts_link(__('Newer posts <span class="meta-nav">&raquo;</span>', 'sandbox')) ?></div> 
     12                        </div> 
     13 
     14<?php while (have_posts()) : the_post(); ?> 
     15 
     16                        <div id="post-<?php the_ID(); ?>" class="<?php sandbox_post_class(); ?>"> 
     17                                <h3 class="entry-title"><a href="<?php the_permalink() ?>" title="<?php printf(__('Permalink to %s', 'sandbox'), get_the_title()) ?>" rel="bookmark"><?php the_title() ?></a></h3> 
     18                                <div class="entry-date"><abbr class="published" title="<?php the_time('Y-m-d\TH:i:sO'); ?>"><?php unset($previousday); printf(__('%1$s &#8211; %2$s', 'sandbox'), the_date('', '', '', false), get_the_time()) ?></abbr></div> 
     19                                <div class="entry-content"> 
     20<?php the_excerpt(''.__('Read More <span class="meta-nav">&raquo;</span>', 'sandbox').'') ?> 
     21 
     22                                </div> 
     23                                <div class="entry-meta"> 
     24                                        <span class="author vcard"><?php printf(__('By %s', 'sandbox'), '<a class="url fn n" href="'.get_author_link(false, $authordata->ID, $authordata->user_nicename).'" title="' . sprintf(__('View all posts by %s', 'sandbox'), $authordata->display_name) . '">'.get_the_author().'</a>') ?></span> 
     25                                        <span class="meta-sep">|</span> 
     26<?php if ( $cats_meow = sandbox_cats_meow(', ') ) : /* only show categories other than the one queried */ ?> 
     27                                        <span class="cat-links"><?php printf(__('Also posted in %s', 'sandbox'), $cats_meow) ?></span> 
     28                                        <span class="meta-sep">|</span> 
     29<?php endif ?> 
     30<?php edit_post_link(__('Edit', 'sandbox'), "\t\t\t\t\t<span class=\"edit-link\">", "</span>\n\t\t\t\t\t<span class=\"meta-sep\">|</span>\n"); ?> 
     31                                        <span class="comments-link"><?php comments_popup_link(__('Comments (0)', 'sandbox'), __('Comments (1)', 'sandbox'), __('Comments (%)', 'sandbox')) ?></span> 
     32                                </div> 
     33                        </div><!-- .post --> 
     34 
     35<?php endwhile; ?> 
     36 
     37                        <div id="nav-below" class="navigation"> 
     38                                <div class="nav-previous"><?php next_posts_link(__('<span class="meta-nav">&laquo;</span> Older posts', 'sandbox')) ?></div> 
     39                                <div class="nav-next"><?php previous_posts_link(__('Newer posts <span class="meta-nav">&raquo;</span>', 'sandbox')) ?></div> 
     40                        </div> 
     41 
     42                </div><!-- #content --> 
     43        </div><!-- #container --> 
     44 
     45<?php get_sidebar() ?> 
     46<?php get_footer() ?> 
     47 No newline at end of file 
  • wp-content/themes/sandbox/comments.php

     
     1                        <div id="comments"> 
     2<?php 
     3        $req = get_settings('require_name_email'); // Checks if fields are required. Thanks, Adam. ;-) 
     4        if ( 'comments.php' == basename($_SERVER['SCRIPT_FILENAME']) ) 
     5                die ( 'Please do not load this page directly. Thanks!' ); 
     6        if ( ! empty($post->post_password) ) : 
     7                if ( $_COOKIE['wp-postpass_' . COOKIEHASH] != $post->post_password ) : 
     8?> 
     9                                <div class="nopassword"><?php _e('This post is password protected. Enter the password to view any comments.', 'sandbox') ?></div> 
     10                        </div><!-- .comments --> 
     11<?php 
     12                return; 
     13        endif; 
     14endif; 
     15?> 
     16<?php if ( $comments ) : ?> 
     17<?php global $sandbox_comment_alt ?> 
     18 
     19<?php /* numbers of pings and comments */ 
     20$ping_count = $comment_count = 0; 
     21foreach ( $comments as $comment ) 
     22        get_comment_type() == "comment" ? ++$comment_count : ++$ping_count; 
     23?> 
     24<?php if ( $comment_count ) : ?> 
     25<?php $sandbox_comment_alt = 0 ?> 
     26 
     27                                <div id="comments-list" class="comments"> 
     28                                        <h3><?php printf($comment_count > 1 ? __('<span>%d</span> Comments', 'sandbox') : __('<span>One</span> Comment', 'sandbox'), $comment_count) ?></h3> 
     29 
     30                                        <ol> 
     31<?php foreach ($comments as $comment) : ?> 
     32<?php if ( get_comment_type() == "comment" ) : ?> 
     33                                                <li id="comment-<?php comment_ID() ?>" class="<?php sandbox_comment_class() ?>"> 
     34                                                        <div class="comment-author vcard"><span class="fn n"><?php comment_author_link() ?></span></div> 
     35                                                        <div class="comment-meta"><?php printf(__('Posted %1$s at %2$s <span class="meta-sep">|</span> <a href="%3$s" title="Permalink to this comment">Permalink</a>', 'sandbox'), 
     36                                                                                get_comment_date(), 
     37                                                                                get_comment_time(), 
     38                                                                                '#comment-' . get_comment_ID() ); 
     39                                                                                edit_comment_link(__('Edit', 'sandbox'), ' <span class="meta-sep">|</span> <span class="edit-link">', '</span>'); ?></div> 
     40<?php if ($comment->comment_approved == '0') _e("\t\t\t\t\t<span class='unapproved'>Your comment is awaiting moderation.</span>\n", 'sandbox') ?> 
     41                                                        <?php comment_text() ?> 
     42                                                </li> 
     43<?php endif; /* if ( get_comment_type() == "comment" ) */ ?> 
     44<?php endforeach; ?> 
     45 
     46                                        </ol> 
     47                                </div><!-- #comments-list .comments --> 
     48 
     49<?php endif; /* if ( $comment_count ) */ ?> 
     50<?php if ( $ping_count ) : ?> 
     51<?php $sandbox_comment_alt = 0 ?> 
     52 
     53                                <div id="trackbacks-list" class="comments"> 
     54                                        <h3><?php printf($ping_count > 1 ? __('<span>%d</span> Trackbacks', 'sandbox') : __('<span>One</span> Trackback', 'sandbox'), $ping_count) ?></h3> 
     55 
     56                                        <ol> 
     57<?php foreach ( $comments as $comment ) : ?> 
     58<?php if ( get_comment_type() != "comment" ) : ?> 
     59 
     60                                                <li id="comment-<?php comment_ID() ?>" class="<?php sandbox_comment_class() ?>"> 
     61                                                        <div class="comment-author"><?php printf(__('By %1$s on %2$s at %3$s', 'sandbox'), 
     62                                                                        get_comment_author_link(), 
     63                                                                        get_comment_date(), 
     64                                                                        get_comment_time() ); 
     65                                                                        edit_comment_link(__('Edit', 'sandbox'), ' <span class="meta-sep">|</span> <span class="edit-link">', '</span>'); ?></div> 
     66<?php if ($comment->comment_approved == '0') _e('\t\t\t\t\t<span class="unapproved">Your trackback is awaiting moderation.</span>\n', 'sandbox') ?> 
     67                                                        <?php comment_text() ?> 
     68                                                </li> 
     69<?php endif /* if ( get_comment_type() != "comment" ) */ ?> 
     70<?php endforeach; ?> 
     71 
     72                                        </ol> 
     73                                </div><!-- #trackbacks-list .comments --> 
     74 
     75<?php endif /* if ( $ping_count ) */ ?> 
     76<?php endif /* if ( $comments ) */ ?> 
     77<?php if ( 'open' == $post->comment_status ) : ?> 
     78                                <div id="respond"> 
     79                                        <h3><?php _e('Post a Comment', 'sandbox') ?></h3> 
     80 
     81<?php if ( get_option('comment_registration') && !$user_ID ) : ?> 
     82                                        <p id="login-req"><?php printf(__('You must be <a href="%s" title="Log in">logged in</a> to post a comment.', 'sandbox'), 
     83                                        get_option('siteurl') . '/wp-login.php?redirect_to=' . get_permalink() ) ?></p> 
     84 
     85<?php else : ?> 
     86                                        <div class="formcontainer">      
     87                                                <form id="commentform" action="<?php echo get_option('siteurl'); ?>/wp-comments-post.php" method="post"> 
     88 
     89<?php if ( $user_ID ) : ?> 
     90                                                        <p id="login"><?php printf(__('<span class="loggedin">Logged in as <a href="%1$s" title="Logged in as %2$s">%2$s</a>.</span> <span class="logout"><a href="%3$s" title="Log out of this account">Log out?</a></span>', 'sandbox'), 
     91                                                                get_option('siteurl') . '/wp-admin/profile.php', 
     92                                                                wp_specialchars($user_identity, true), 
     93                                                                get_option('siteurl') . '/wp-login.php?action=logout&amp;redirect_to=' . get_permalink() ) ?></p> 
     94 
     95<?php else : ?> 
     96 
     97                                                        <p id="comment-notes"><?php _e('Your email is <em>never</em> published nor shared.', 'sandbox') ?> <?php if ($req) _e('Required fields are marked <span class="required">*</span>', 'sandbox') ?></p> 
     98 
     99                                                        <div class="form-label"><label for="author"><?php _e('Name', 'sandbox') ?></label> <?php if ($req) _e('<span class="required">*</span>', 'sandbox') ?></div> 
     100                                                        <div class="form-input"><input id="author" name="author" type="text" value="<?php echo $comment_author ?>" size="30" maxlength="20" tabindex="3" /></div> 
     101 
     102                                                        <div class="form-label"><label for="email"><?php _e('Email', 'sandbox') ?></label> <?php if ($req) _e('<span class="required">*</span>', 'sandbox') ?></div> 
     103                                                        <div class="form-input"><input id="email" name="email" type="text" value="<?php echo $comment_author_email ?>" size="30" maxlength="50" tabindex="4" /></div> 
     104 
     105                                                        <div class="form-label"><label for="url"><?php _e('Website', 'sandbox') ?></label></div> 
     106                                                        <div class="form-input"><input id="url" name="url" type="text" value="<?php echo $comment_author_url ?>" size="30" maxlength="50" tabindex="5" /></div> 
     107 
     108<?php endif /* if ( $user_ID ) */ ?> 
     109 
     110                                                        <div class="form-label"><label for="comment"><?php _e('Comment', 'sandbox') ?></label></div> 
     111                                                        <div class="form-textarea"><textarea id="comment" name="comment" cols="45" rows="8" tabindex="6"></textarea></div> 
     112 
     113                                                        <div class="form-submit"><input id="submit" name="submit" type="submit" value="<?php _e('Post Comment', 'sandbox') ?>" tabindex="7" /><input type="hidden" name="comment_post_ID" value="<?php echo $id; ?>" /></div> 
     114 
     115                                                        <?php do_action('comment_form', $post->ID); ?> 
     116 
     117                                                </form><!-- #commentform --> 
     118                                        </div><!-- .formcontainer --> 
     119<?php endif /* if ( get_option('comment_registration') && !$user_ID ) */ ?> 
     120 
     121                                </div><!-- #respond --> 
     122<?php endif /* if ( 'open' == $post->comment_status ) */ ?> 
     123 
     124                        </div><!-- #comments --> 
  • wp-content/themes/sandbox/footer.php

     
     1 
     2        <div id="footer"> 
     3                <span id="generator-link"><a href="http://wordpress.org/" title="<?php _e('WordPress', 'sandbox'); ?>" rel="generator"><?php _e('WordPress', 'sandbox'); ?></a></span> 
     4                <span class="meta-sep">|</span> 
     5                <span id="theme-link"><a href="http://www.plaintxt.org/themes/sandbox/" title="<?php _e('Sandbox for WordPress', 'sandbox'); ?>" rel="designer"><?php _e('Sandbox', 'sandbox'); ?></a></span> 
     6        </div><!-- #footer --> 
     7 
     8</div><!-- #wrapper .hfeed --> 
     9 
     10<?php wp_footer() ?> 
     11 
     12</body> 
     13</html> 
     14 No newline at end of file 
  • wp-content/themes/sandbox/functions.php

     
     1<?php 
     2// Produces a list of pages in the header without whitespace -- er, I mean negative space. 
     3function sandbox_globalnav() { 
     4        echo '<div id="menu"><ul>'; 
     5        $menu = wp_list_pages('title_li=&sort_column=post_title&echo=0'); // Params for the page list in header.php 
     6        echo str_replace(array("\r", "\n", "\t"), '', $menu); 
     7        echo "</ul></div>\n"; 
     8} 
     9 
     10// Checks for WP 2.1.x language_attributes() function 
     11function sandbox_blog_lang() { 
     12        if ( function_exists('language_attributes') ) 
     13                return language_attributes(); 
     14} 
     15 
     16// Generates semantic classes for BODY element 
     17function sandbox_body_class( $print = true ) { 
     18        global $wp_query, $current_user; 
     19         
     20        // It's surely a WordPress blog, right? 
     21        $c = array('wordpress'); 
     22 
     23        // Applies the time- and date-based classes (below) to BODY element 
     24        sandbox_date_classes(time(), $c); 
     25 
     26        // Generic semantic classes for what type of content is displayed 
     27        is_home()       ? $c[] = 'home'       : null; 
     28        is_archive()    ? $c[] = 'archive'    : null; 
     29        is_date()       ? $c[] = 'date'       : null; 
     30        is_search()     ? $c[] = 'search'     : null; 
     31        is_paged()      ? $c[] = 'paged'      : null; 
     32        is_attachment() ? $c[] = 'attachment' : null; 
     33        is_404()        ? $c[] = 'four04'     : null; // CSS does not allow a digit as first character 
     34 
     35        // Special classes for BODY element when a single post 
     36        if ( is_single() ) { 
     37                $postID = $wp_query->post->ID; 
     38                the_post(); 
     39                $c[] = 'single postid-' . $postID; 
     40                if ( isset($wp_query->post->post_date) ) 
     41                        sandbox_date_classes(mysql2date('U', $wp_query->post->post_date), $c, 's-'); 
     42                foreach ( (array) get_the_category() as $cat ) 
     43                        $c[] = 's-category-' . $cat->category_nicename; 
     44                        $c[] = 's-author-' . sanitize_title_with_dashes(strtolower(get_the_author('login'))); 
     45                rewind_posts(); 
     46        } 
     47 
     48        // Author name classes for BODY on author archives 
     49        else if ( is_author() ) { 
     50                $author = $wp_query->get_queried_object(); 
     51                $c[] = 'author'; 
     52                $c[] = 'author-' . $author->user_nicename; 
     53        } 
     54 
     55        // Category name classes for BODY on category archvies 
     56        else if ( is_category() ) { 
     57                $cat = $wp_query->get_queried_object(); 
     58                $c[] = 'category'; 
     59                $c[] = 'category-' . $cat->category_nicename; 
     60        } 
     61 
     62        // Page author for BODY on 'pages' 
     63        else if ( is_page() ) { 
     64                $pageID = $wp_query->post->ID; 
     65                the_post(); 
     66                $c[] = 'page pageid-' . $pageID; 
     67                $c[] = 'page-author-' . sanitize_title_with_dashes(strtolower(get_the_author('login'))); 
     68                rewind_posts(); 
     69        } 
     70 
     71        // For when a visitor is logged in while browsing 
     72        if ( $current_user->ID ) 
     73                $c[] = 'loggedin'; 
     74 
     75        // Paged classes; for 'page X' classes of index, single, etc. 
     76        if ( ( ( $page = $wp_query->get("paged") ) || ( $page = $wp_query->get("page") ) ) && $page > 1 ) { 
     77                $c[] = 'paged-'.$page.''; 
     78                if ( is_single() ) { 
     79                        $c[] = 'single-paged-'.$page.''; 
     80                } else if ( is_page() ) { 
     81                        $c[] = 'page-paged-'.$page.''; 
     82                } else if ( is_category() ) { 
     83                        $c[] = 'category-paged-'.$page.''; 
     84                } else if ( is_date() ) { 
     85                        $c[] = 'date-paged-'.$page.''; 
     86                } else if ( is_author() ) { 
     87                        $c[] = 'author-paged-'.$page.''; 
     88                } else if ( is_search() ) { 
     89                        $c[] = 'search-paged-'.$page.''; 
     90                } 
     91        } 
     92 
     93        // Separates classes with a single space, collates classes for BODY 
     94        $c = join(' ', apply_filters('body_class',  $c)); 
     95 
     96        // And tada! 
     97        return $print ? print($c) : $c; 
     98} 
     99 
     100// Generates semantic classes for each post DIV element 
     101function sandbox_post_class( $print = true ) { 
     102        global $post, $sandbox_post_alt; 
     103 
     104        // hentry for hAtom compliace, gets 'alt' for every other post DIV, describes the post type and p[n] 
     105        $c = array('hentry', "p$sandbox_post_alt", $post->post_type, $post->post_status); 
     106 
     107        // Author for the post queried 
     108        $c[] = 'author-' . sanitize_title_with_dashes(strtolower(get_the_author('login'))); 
     109 
     110        // Category for the post queried 
     111        foreach ( (array) get_the_category() as $cat ) 
     112                $c[] = 'category-' . $cat->category_nicename; 
     113 
     114        // For password-protected posts 
     115        if ( $post->post_password ) 
     116                $c[] = 'protected'; 
     117 
     118        // Applies the time- and date-based classes (below) to post DIV 
     119        sandbox_date_classes(mysql2date('U', $post->post_date), $c); 
     120 
     121        // If it's the other to the every, then add 'alt' class 
     122        if ( ++$sandbox_post_alt % 2 ) 
     123                $c[] = 'alt'; 
     124 
     125        // Separates classes with a single space, collates classes for post DIV 
     126        $c = join(' ', apply_filters('post_class', $c)); 
     127 
     128        // And tada! 
     129        return $print ? print($c) : $c; 
     130} 
     131 
     132// Define the num val for 'alt' classes (in post DIV and comment LI) 
     133$sandbox_post_alt = 1; 
     134 
     135// Generates semantic classes for each comment LI element 
     136function sandbox_comment_class( $print = true ) { 
     137        global $comment, $post, $sandbox_comment_alt; 
     138 
     139        // Collects the comment type (comment, trackback), 
     140        $c = array($comment->comment_type); 
     141 
     142        // Counts trackbacks (t[n]) or comments (c[n]) 
     143        if ($comment->comment_type == 'trackback') { 
     144                $c[] = "t$sandbox_comment_alt"; 
     145        } else { 
     146                $c[] = "c$sandbox_comment_alt"; 
     147        } 
     148 
     149        // If the comment author has an id (registered), then print the log in name 
     150        if ( $comment->user_id > 0 ) { 
     151                $user = get_userdata($comment->user_id); 
     152 
     153                // For all registered users, 'byuser'; to specificy the registered user, 'commentauthor+[log in name]' 
     154                $c[] = "byuser comment-author-".strtolower($user->user_login); 
     155 
     156                // For comment authors who are the author of the post 
     157                if ( $comment->user_id === $post->post_author ) 
     158                        $c[] = 'bypostauthor'; 
     159        } 
     160 
     161        // If it's the other to the every, then add 'alt' class; collects time- and date-based classes 
     162        sandbox_date_classes(mysql2date('U', $comment->comment_date), $c, 'c-'); 
     163        if ( ++$sandbox_comment_alt % 2 ) 
     164                $c[] = 'alt'; 
     165 
     166        // Separates classes with a single space, collates classes for comment LI 
     167        $c = join(' ', apply_filters('comment_class', $c)); 
     168 
     169        // Tada again! 
     170        return $print ? print($c) : $c; 
     171} 
     172 
     173// Generates time- and date-based classes for BODY, post DIVs, and comment LIs; relative to GMT (UTC) 
     174function sandbox_date_classes($t, &$c, $p = '') { 
     175        $t = $t + (get_settings('gmt_offset') * 3600); 
     176        $c[] = $p . 'y' . gmdate('Y', $t); // Year 
     177        $c[] = $p . 'm' . gmdate('m', $t); // Month 
     178        $c[] = $p . 'd' . gmdate('d', $t); // Day 
     179        $c[] = $p . 'h' . gmdate('H', $t); // Hour 
     180} 
     181 
     182// For category lists on category archives, returns other categorys except the current one (redundant) 
     183function sandbox_cats_meow($glue) { 
     184        $current_cat = single_cat_title('', false); 
     185        $separator = "\n"; 
     186        $cats = explode($separator, get_the_category_list($separator)); 
     187 
     188        foreach ( $cats as $i => $str ) { 
     189                if ( strstr($str, ">$current_cat<") ) { 
     190                        unset($cats[$i]); 
     191                        break; 
     192                } 
     193        } 
     194 
     195        if ( empty($cats) ) 
     196                return false; 
     197 
     198        return trim(join($glue, $cats)); 
     199} 
     200 
     201// Widget: Search; to match the Sandbox style and replace Widget plugin default 
     202function widget_sandbox_search($args) { 
     203        extract($args); 
     204        if ( empty($title) ) 
     205                $title = __('Search', 'sandbox'); 
     206?> 
     207                <?php echo $before_widget ?> 
     208                        <?php echo $before_title ?><label for="s"><?php echo $title ?></label><?php echo $after_title ?> 
     209                        <form id="searchform" method="get" action="<?php bloginfo('home') ?>"> 
     210                                <div> 
     211                                        <input id="s" name="s" type="text" value="<?php echo wp_specialchars(stripslashes($_GET['s']), true) ?>" size="10" tabindex="1" /> 
     212                                        <input id="searchsubmit" name="searchsubmit" type="submit" value="<?php _e('Find', 'sandbox') ?>" tabindex="2" /> 
     213                                </div> 
     214                        </form> 
     215                <?php echo $after_widget ?> 
     216 
     217<?php 
     218} 
     219 
     220// Widget: Meta; to match the Sandbox style and replace Widget plugin default 
     221function widget_sandbox_meta($args) { 
     222        extract($args); 
     223        if ( empty($title) ) 
     224                $title = __('Meta', 'sandbox'); 
     225?> 
     226                <?php echo $before_widget; ?> 
     227                        <?php echo $before_title . $title . $after_title; ?> 
     228                        <ul> 
     229                                <?php wp_register() ?> 
     230                                <li><?php wp_loginout() ?></li> 
     231                                <?php wp_meta() ?> 
     232                        </ul> 
     233                <?php echo $after_widget; ?> 
     234<?php 
     235} 
     236 
     237// Widget: RSS links; to match the Sandbox style 
     238function widget_sandbox_rsslinks($args) { 
     239        extract($args); 
     240        $options = get_option('widget_sandbox_rsslinks'); 
     241        $title = empty($options['title']) ? __('RSS Links', 'sandbox') : $options['title']; 
     242?> 
     243                <?php echo $before_widget; ?> 
     244                        <?php echo $before_title . $title . $after_title; ?> 
     245                        <ul> 
     246                                <li><a href="<?php bloginfo('rss2_url') ?>" title="<?php echo wp_specialchars(get_bloginfo('name'), 1) ?> <?php _e('Posts RSS feed', 'sandbox'); ?>" rel="alternate" type="application/rss+xml"><?php _e('All posts', 'sandbox') ?></a></li> 
     247                                <li><a href="<?php bloginfo('comments_rss2_url') ?>" title="<?php echo wp_specialchars(bloginfo('name'), 1) ?> <?php _e('Comments RSS feed', 'sandbox'); ?>" rel="alternate" type="application/rss+xml"><?php _e('All comments', 'sandbox') ?></a></li> 
     248                        </ul> 
     249                <?php echo $after_widget; ?> 
     250<?php 
     251} 
     252 
     253// Widget: RSS links; element controls for customizing text within Widget plugin 
     254function widget_sandbox_rsslinks_control() { 
     255        $options = $newoptions = get_option('widget_sandbox_rsslinks'); 
     256        if ( $_POST["rsslinks-submit"] ) { 
     257                $newoptions['title'] = strip_tags(stripslashes($_POST["rsslinks-title"])); 
     258        } 
     259        if ( $options != $newoptions ) { 
     260                $options = $newoptions; 
     261                update_option('widget_sandbox_rsslinks', $options); 
     262        } 
     263        $title = htmlspecialchars($options['title'], ENT_QUOTES); 
     264?> 
     265                        <p><label for="rsslinks-title"><?php _e('Title:'); ?> <input style="width: 250px;" id="rsslinks-title" name="rsslinks-title" type="text" value="<?php echo $title; ?>" /></label></p> 
     266                        <input type="hidden" id="rsslinks-submit" name="rsslinks-submit" value="1" /> 
     267<?php 
     268} 
     269 
     270// Widget and Sandbox function: creates bookmark links (blogrolls) for WP 2.0.x or WP 2.1.x 
     271function widget_sandbox_links() { 
     272        // Checks for WP 2.1.x bookmarks function 
     273        if ( function_exists('wp_list_bookmarks') ) { 
     274                wp_list_bookmarks(array('title_before'=>'<h3>', 'title_after'=>'</h3>', 'show_images'=>true)); 
     275        } else { 
     276                // If not WP 2.1.x, then on the database . . . 
     277                global $wpdb; 
     278 
     279                // Nasty bit of code to make pretty WP 2.0.x blogrolls 
     280                $cats = $wpdb->get_results(" 
     281                        SELECT DISTINCT link_category, cat_name, show_images,  
     282                                show_description, show_rating, show_updated, sort_order,  
     283                                sort_desc, list_limit 
     284                        FROM `$wpdb->links`  
     285                        LEFT JOIN `$wpdb->linkcategories` ON (link_category = cat_id) 
     286                        WHERE link_visible =  'Y' 
     287                                AND list_limit <> 0 
     288                        ORDER BY cat_name ASC", ARRAY_A); 
     289 
     290                // Sorts blogroll categorys by name 
     291                if ($cats) { 
     292                        foreach ($cats as $cat) { 
     293                                $orderby = $cat['sort_order']; 
     294                                $orderby = (bool_from_yn($cat['sort_desc'])?'_':'') . $orderby; 
     295 
     296                                // Display the category name 
     297                                echo '  <li id="linkcat-' . $cat['link_category'] . '"><h3>' . $cat['cat_name'] . "</h3>\n\t<ul>\n"; 
     298 
     299                                // Call get_links() with all the appropriate params 
     300                                get_links($cat['link_category'], 
     301                                        '<li>',"</li>","\n", 
     302                                        bool_from_yn($cat['show_images']), 
     303                                        $orderby, 
     304                                        bool_from_yn($cat['show_description']), 
     305                                        bool_from_yn($cat['show_rating']), 
     306                                        $cat['list_limit'], 
     307                                        bool_from_yn($cat['show_updated'])); 
     308         
     309                                // Closes any oustanding accounts 
     310                                echo "\n\t</ul>\n</li>\n"; 
     311                        } 
     312                } 
     313        } 
     314} 
     315 
     316// Widgets plugin: intializes the plugin after the widgets above have passed snuff 
     317function sandbox_widgets_init() { 
     318        if ( !function_exists('register_sidebars') ) 
     319                return; 
     320 
     321        // Uses H3-level headings with all widgets to match Sandbox style 
     322        $p = array( 
     323                'before_title' => "<h3 class='widgettitle'>", 
     324                'after_title' => "</h3>\n", 
     325        ); 
     326 
     327        // Table for how many? Two? This way, please. 
     328        register_sidebars(2, $p); 
     329 
     330        // Finished intializing Widgets plugin, now let's load the Sandbox default widgets 
     331        register_sidebar_widget(__('Search', 'sandbox'), 'widget_sandbox_search', null, 'search'); 
     332        unregister_widget_control('search'); 
     333        register_sidebar_widget(__('Meta', 'sandbox'), 'widget_sandbox_meta', null, 'meta'); 
     334        unregister_widget_control('meta'); 
     335        register_sidebar_widget(__('Links', 'sandbox'), 'widget_sandbox_links', null, 'links'); 
     336        unregister_widget_control('links'); 
     337        register_sidebar_widget(array(__('RSS Links', 'sandbox'), 'widgets'), 'widget_sandbox_rsslinks'); 
     338        register_widget_control(array(__('RSS Links', 'sandbox'), 'widgets'), 'widget_sandbox_rsslinks_control', 300, 90); 
     339} 
     340 
     341// Translate, if applicable 
     342load_theme_textdomain('sandbox'); 
     343 
     344// Runs our code at the end to check that everything needed has loaded 
     345add_action('init', 'sandbox_widgets_init'); 
     346 
     347// Adds filters so that things run smoothly 
     348add_filter('archive_meta', 'wptexturize'); 
     349add_filter('archive_meta', 'convert_smilies'); 
     350add_filter('archive_meta', 'convert_chars'); 
     351add_filter('archive_meta', 'wpautop'); 
     352 
     353// Remember: a Sandbox is for play. 
     354?> 
  • wp-content/themes/sandbox/header.php

     
     1<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> 
     2<html xmlns="http://www.w3.org/1999/xhtml" <?php sandbox_blog_lang(); ?>> 
     3<head profile="http://gmpg.org/xfn/11"> 
     4        <title><?php bloginfo('name'); if ( is_404() ) : _e(' &raquo; ', 'sandbox'); _e('Not Found', 'sandbox'); elseif ( is_home() ) : _e(' &raquo; ', 'sandbox'); bloginfo('description'); else : wp_title(); endif; ?></title> 
     5        <meta http-equiv="content-type" content="<?php bloginfo('html_type') ?>; charset=<?php bloginfo('charset') ?>" /> 
     6        <meta name="description" content="<?php bloginfo('description') ?>" /> 
     7        <meta name="generator" content="WordPress <?php bloginfo('version') ?>" /><!-- Please leave for stats --> 
     8        <link rel="stylesheet" type="text/css" href="<?php bloginfo('stylesheet_url'); ?>" /> 
     9        <link rel="alternate" type="application/rss+xml" href="<?php bloginfo('rss2_url') ?>" title="<?php echo wp_specialchars(get_bloginfo('name'), 1) ?> <?php _e('Posts RSS feed', 'sandbox'); ?>" /> 
     10        <link rel="alternate" type="application/rss+xml" href="<?php bloginfo('comments_rss2_url') ?>" title="<?php echo wp_specialchars(get_bloginfo('name'), 1) ?> <?php _e('Comments RSS feed', 'sandbox'); ?>" /> 
     11        <link rel="pingback" href="<?php bloginfo('pingback_url') ?>" /> 
     12<?php wp_head() ?> 
     13 
     14</head> 
     15 
     16<body class="<?php sandbox_body_class() ?>"> 
     17 
     18<div id="wrapper" class="hfeed"> 
     19 
     20        <div id="header"> 
     21                <h1 id="blog-title"><a href="<?php echo get_settings('home') ?>/" title="<?php bloginfo('name') ?>" rel="home"><?php bloginfo('name') ?></a></h1> 
     22                <div id="blog-description"><?php bloginfo('description') ?></div> 
     23        </div><!--  #header --> 
     24 
     25        <div id="access"> 
     26                <div class="skip-link"><a href="#content" title="<?php _e('Skip navigation to the content', 'sandbox'); ?>"><?php _e('Skip to content', 'sandbox'); ?></a></div> 
     27                <?php sandbox_globalnav() ?> 
     28        </div><!-- #access --> 
  • wp-content/themes/sandbox/index.php

     
     1<?php get_header() ?> 
     2 
     3        <div id="container"> 
     4                <div id="content"> 
     5 
     6                        <div id="nav-above" class="navigation"> 
     7                                <div class="nav-previous"><?php next_posts_link(__('<span class="meta-nav">&laquo;</span> Older posts', 'sandbox')) ?></div> 
     8                                <div class="nav-next"><?php previous_posts_link(__('Newer posts <span class="meta-nav">&raquo;</span>', 'sandbox')) ?></div> 
     9                        </div> 
     10 
     11<?php while ( have_posts() ) : the_post() ?> 
     12                        <div id="post-<?php the_ID() ?>" class="<?php sandbox_post_class() ?>"> 
     13                                <h2 class="entry-title"><a href="<?php the_permalink() ?>" title="<?php printf(__('Permalink to %s', 'sandbox'), wp_specialchars(get_the_title(), 1)) ?>" rel="bookmark"><?php the_title() ?></a></h2> 
     14                                <div class="entry-date"><abbr class="published" title="<?php the_time('Y-m-d\TH:i:sO'); ?>"><?php unset($previousday); printf(__('%1$s &#8211; %2$s', 'sandbox'), the_date('', '', '', false), get_the_time()) ?></abbr></div> 
     15                                <div class="entry-content"> 
     16<?php the_content(''.__('Read More <span class="meta-nav">&raquo;</span>', 'sandbox').''); ?> 
     17 
     18<?php link_pages("\t\t\t\t\t<div class='page-link'>".__('Pages: ', 'sandbox'), "</div>\n", 'number'); ?> 
     19                                </div> 
     20                                <div class="entry-meta"> 
     21                                        <span class="author vcard"><?php printf(__('By %s', 'sandbox'), '<a class="url fn n" href="'.get_author_link(false, $authordata->ID, $authordata->user_nicename).'" title="' . sprintf(__('View all posts by %s', 'sandbox'), $authordata->display_name) . '">'.get_the_author().'</a>') ?></span> 
     22                                        <span class="meta-sep">|</span> 
     23                                        <span class="cat-links"><?php printf(__('Posted in %s', 'sandbox'), get_the_category_list(', ')) ?></span> 
     24                                        <span class="meta-sep">|</span> 
     25<?php edit_post_link(__('Edit', 'sandbox'), "\t\t\t\t\t<span class=\"edit-link\">", "</span>\n\t\t\t\t\t<span class=\"meta-sep\">|</span>\n"); ?> 
     26                                        <span class="comments-link"><?php comments_popup_link(__('Comments (0)', 'sandbox'), __('Comments (1)', 'sandbox'), __('Comments (%)', 'sandbox')) ?></span> 
     27                                </div> 
     28                        </div><!-- .post --> 
     29 
     30<?php comments_template() ?> 
     31<?php endwhile ?> 
     32 
     33                        <div id="nav-below" class="navigation"> 
     34                                <div class="nav-previous"><?php next_posts_link(__('<span class="meta-nav">&laquo;</span> Older posts', 'sandbox')) ?></div> 
     35                                <div class="nav-next"><?php previous_posts_link(__('Newer posts <span class="meta-nav">&raquo;</span>', 'sandbox')) ?></div> 
     36                        </div> 
     37 
     38                </div><!-- #content --> 
     39        </div><!-- #container --> 
     40 
     41<?php get_sidebar() ?> 
     42<?php get_footer() ?> 
     43 No newline at end of file 
  • wp-content/themes/sandbox/links.php

     
     1<?php 
     2/* 
     3Template Name: Links Page 
     4*/ 
     5?> 
     6<?php get_header() ?> 
     7         
     8        <div id="container"> 
     9                <div id="content"> 
     10 
     11<?php the_post() ?> 
     12                        <div id="post-<?php the_ID(); ?>" class="<?php sandbox_post_class() ?>"> 
     13                                <h2 class="entry-title"><?php the_title() ?></h2> 
     14                                <div class="entry-content"> 
     15<?php the_content() ?> 
     16 
     17                                        <ul id="links-page" class="xoxo"> 
     18<?php if ( function_exists('wp_list_bookmarks') ) : wp_list_bookmarks('title_before=<h3>&title_after=</h3>'); else : ?> 
     19<?php 
     20$link_cats = $wpdb->get_results("SELECT cat_id, cat_name FROM $wpdb->linkcategories"); 
     21foreach ($link_cats as $link_cat) : 
     22?> 
     23                                                <li id="linkcat-<?php echo $link_cat->cat_id; ?>"> 
     24                                                        <h3><?php echo $link_cat->cat_name; ?></h3> 
     25                                                        <ul> 
     26                                                                <?php wp_get_links($link_cat->cat_id); ?> 
     27                                                        </ul> 
     28                                                </li> 
     29<?php endforeach ?> 
     30<?php endif ?> 
     31                                        </ul> 
     32<?php edit_post_link(__('Edit', 'sandbox'),'<span class="edit-link">','</span>') ?> 
     33 
     34                                </div> 
     35                        </div><!-- .post --> 
     36 
     37<?php if ( get_post_custom_values('comments') ) comments_template() // Add a key/value of "comments" to enable comments on pages! ?> 
     38 
     39                </div><!-- #content --> 
     40        </div><!-- #container --> 
     41 
     42<?php get_sidebar() ?> 
     43<?php get_footer() ?> 
     44 No newline at end of file 
  • wp-content/themes/sandbox/page.php

     
     1<?php get_header() ?> 
     2 
     3        <div id="container"> 
     4                <div id="content"> 
     5 
     6<?php the_post() ?> 
     7                        <div id="post-<?php the_ID(); ?>" class="<?php sandbox_post_class() ?>"> 
     8                                <h2 class="entry-title"><?php the_title(); ?></h2> 
     9                                <div class="entry-content"> 
     10<?php the_content() ?> 
     11 
     12<?php link_pages("\t\t\t\t\t<div class='page-link'>".__('Pages: ', 'sandbox'), "</div>\n", 'number'); ?> 
     13 
     14<?php edit_post_link(__('Edit', 'sandbox'),'<span class="edit-link">','</span>') ?> 
     15 
     16                                </div> 
     17                        </div><!-- .post --> 
     18 
     19<?php if ( get_post_custom_values('comments') ) comments_template() // Add a key+value of "comments" to enable comments on this page ?> 
     20 
     21                </div><!-- #content --> 
     22        </div><!-- #container --> 
     23 
     24<?php get_sidebar() ?> 
     25<?php get_footer() ?> 
     26 No newline at end of file 
  • wp-content/themes/sandbox/readme.html

     
     1<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> 
     2<html xmlns="http://www.w3.org/1999/xhtml"> 
     3<head profile="http://gmpg.org/xfn/11"> 
     4        <title>The Sandbox &middot; An explanation</title> 
     5        <meta http-equiv="content-type" content="text/html; charset=UTF-8" /> 
     6        <meta http-equiv="content-language" content="en-us" /> 
     7        <meta name="description" content="Sandbox: a highly semantic theme with powerful, dynamic class selectors" /> 
     8        <meta name="keywords" content="sandbox,xhtml,hatom,hcard,microformats,semantics,css,wordpress" /> 
     9        <style type="text/css" media="all"> 
     10        /*<![CDATA[*/ 
     11        body{background:#fcfcfc;color:#444;font:normal 70%/150% verdana,geneva,sans-serif;margin:0;padding:0;} 
     12        body blockquote{border-left:5px solid #f6f6f6;padding-left:0.5em;} 
     13        body code,body pre{font:1em/150% consolas,"courier new",courier,monospace;} 
     14        body div#readme{background:#fff;border-left:3px solid #f9f9f9;border-right:3px solid #f9f9f9;color:#444;margin:0 auto;padding:1em 2em;width:50em;} 
     15        body div#readme div#footer{margin:3em auto 1em;text-align:center;} 
     16        body div#readme div#footer p{background:#ffd;color:#666;display:inline;padding:0.2em 0.5em;} 
     17        body div#readme div#header{margin:0 auto;text-align:center;} 
     18        body div#readme div#header div.readme-version{font-size:0.9em;margin:0 0 0.5em;text-transform:uppercase;letter-spacing:0.1em;} 
     19        body h1{font-size:3.2em;} 
     20        body h1,body h2,body h3{font-family:garamond,georgia,times,serif;font-weight:400;} 
     21        body h2{font-size:2em;margin-top:3em;} 
     22        body h3{font-size:1.6em;margin-top:2em;} 
     23        body ol li ol li,body ol li#features ol li ol li{list-style:decimal;} 
     24        body ol li#functions h3{font-size:1.5em;} 
     25        body ol li#functions ol{list-style:lower-alpha;margin:0 0 0 2em;padding:0;} 
     26        body ol li#license blockquote a{color:#222;text-decoration:none;} 
     27        body ol li#license blockquote strong{font-size:0.9em;font-weight:400;text-transform:uppercase;} 
     28        body ol li,body ol#menu li ol li{list-style:upper-roman;} 
     29        body ol ul li{list-style:square;} 
     30        body ol#menu li{list-style:none;} 
     31        body ol#menu li ol li ol li,body ol li#functions ol li,body ol li#features ol li{list-style:lower-roman;} 
     32        body pre span,body span.bold{font-weight:700;} 
     33        body span.vcard span.family-name,body span.vcard span.additional-name{display:none;} 
     34        table{border-collapse:separate;border-color:#aaa;border-spacing:0;border-style:solid;border-width:1px;padding:0 0.5em;} 
     35        table tbody td{border-collapse:separate;border-color:#aaa;border-style:solid;border-width:0.5px 0;padding:0.2em 0.5em;} 
     36        table tbody th{border-bottom:1px solid #aaa;font-size:0.8em;text-align:left;text-transform:uppercase;} 
     37        table tbody tr.alt{background:#f5f5f5;} 
     38        table tfoot th{font-size:0.8em;padding-top:1em;text-align:left;text-transform:uppercase;} 
     39        table thead th{padding:0.5em;} 
     40        /*]]>*/ 
     41        </style> 
     42</head> 
     43<body> 
     44        <div id="readme"> 
     45 
     46                <div id="header"> 
     47                        <h1 id="title">The Sandbox</h1> 
     48                        <div class="readme-version">Version 0.9.5</div> 
     49                        <div class="readme-subtitle">A theme rich with powerful and dynamic semantic class selectors</div> 
     50                </div><!-- #header --> 
     51 
     52                <ol id="menu" class="xoxo"> 
     53                        <li> 
     54                                <h2>Table of contents</h2> 
     55                                <ol> 
     56                                        <li><a href="#introduction" title="Skip to Introduction">Introduction</a></li> 
     57                                        <li><a href="#installing" title="Skip to Installing">Installing</a></li> 
     58                                        <li><a href="#functions" title="Skip to Class functions">Class functions</a> 
     59                                                <ol> 
     60                                                        <li><a href="#body-class" title="Skip to Class functions: sandbox_body_class()"><code>sandbox_body_class()</code></a></li> 
     61                                                        <li><a href="#post-class" title="Skip to Class functions: sandbox_post_class()"><code>sandbox_post_class()</code></a></li> 
     62                                                        <li><a href="#comment-class" title="Skip to Class functions: sandbox_comment_class()"><code>sandbox_comment_class()</code></a></li> 
     63                                                </ol> 
     64                                        </li> 
     65                                        <li><a href="#standards" title="Skip to Web standards">Web standards</a></li> 
     66                                        <li><a href="#microformats" title="Skip to Microformats">Microformats</a></li> 
     67                                        <li><a href="#features" title="Skip to Other features">Other features</a> 
     68                                                <ol> 
     69                                                        <li><a href="#comments" title="Skip to Other features: Comments on pages">Comments on pages</a></li> 
     70                                                        <li><a href="#templates" title="Skip to Other features: Page templates">Page templates</a></li> 
     71                                                </ol> 
     72                                        </li> 
     73                                        <li><a href="#license" title="Skip to License">License</a></li> 
     74                                </ol> 
     75                        </li> 
     76                </ol><!-- #menu .xoxo --> 
     77 
     78                <ol id="content" class="xoxo"> 
     79                        <li id="introduction"> 
     80                                <h2>Introduction</h2> 
     81                                <p>The Sandbox is a lot of things:</p> 
     82                                <ul> 
     83                                        <li>Beautiful on the inside</li> 
     84                                        <li>For WordPress 2.0.2 through 2.2.x</li> 
     85                                        <li>Valid <abbr title="eXtensible HyperText Markup Language">XHTML</abbr> 1.0 Transitional</li> 
     86                                        <li>Widgets plugin-friendly</li> 
     87                                        <li>The basis for your new, <abbr title="GNU Public Licence">GPL</abbr>-licensed theme</li> 
     88                                </ul> 
     89                                <p>More importantly, the Sandbox <em>can be</em> a lot of things.</p> 
     90                                <p>What began as <span class="vcard"><a class="url fn n" href="http://www.plaintxt.org/" title="Scott, plaintxt.org" rel="me"><span class="given-name">Scott</span><span class="additional-name"> Allan</span><span class="family-name"> Wallick</span></a></span>'s leftovers has become an advanced, semantics-based theme. <span class="vcard"><a class="url fn n" href="http://andy.wordpress.com/" title="Andy, WordPress.com"><span class="given-name">Andy</span><span class="family-name"> Skelton</span></a></span> added his innovative semantic class-generating functions and Scott edited it to oblivion.</p> 
     91                                <p>So what can you do with the Sandbox?</p> 
     92                                <ul> 
     93                                        <li>You can just use it as-is and have a super-cool, truly minimalist theme.</li> 
     94                                        <li>You can totally cusotmize it with <abbr title="Cascading Style Sheets">CSS</abbr> alone&mdash;no need to bother with other files.</li> 
     95                                        <li>You can use the functions, theme files, et al, as pleases you&mdash;even for your own theme.</li> 
     96                                        <li>You can use it as a good place to learn a few things about CSS, XHTML, and <abbr title="Hypertext Preprocessor">PHP</abbr>, perhaps.</li> 
     97                                </ul> 
     98                                <p>The real feature of the Sandbox is its markup. The use of class-generating functions in the <code>body</code>, post <code>div</code>, and comment/trackback <code>li</code> elements create an exceptionally extensible foundation. As Andy said, <q cite="http://andy.wordpress.com/2006/07/20/generated-semantic-classes-2/" title="Generated Semantic Classes 2">Given straightforward markup with plenty of selectors, there isn't much that can't be accomplished with CSS and a decent browser.</q></p> 
     99                                <p>And the implementation of the hAtom and hCard microformats means we're looking forward (and pleasing the barons at Technorati). You might be able to improve on our markup, but, well, who wants to work that hard?</p> 
     100                        </li><!-- #introduction --> 
     101 
     102                        <li id="installing"> 
     103                                <h2>Installing</h2> 
     104                                <p>The Sandbox theme is installed just like any other WordPress theme. To install this theme:</p> 
     105                                <ol> 
     106                                        <li>Download the <a href="http://www.plaintxt.org/themes/sandbox/" title="The Sandbox for WordPress" rel="me">Sandbox</a></li> 
     107                                        <li>Extract the <code>/sandbox/</code> folder from the archive</li> 
     108                                        <li>Upload this folder to the <code>/wp-contents/themes/</code> directory</li> 
     109                                        <li>Activate the theme in the <i>Dashboard &rsaquo; Presentation</i> menu</li> 
     110                                        <li>Enjoy</li> 
     111                                </ol> 
     112                                <p>You can read more detailed installation instructions on the <a href="http://codex.wordpress.org/Using_Themes#Adding_New_Themes" title="Adding new themes - WordPress Codex" rel="external">WordPress Codex</a>.</p> 
     113                                <p>Developers interested in <a href="http://en.wikipedia.org/wiki/Subversion_(software)" title="Subersion - Wikipedia" rel="external">Subversion</a> access to the Sandbox repository may visit <a href="http://code.google.com/p/sandbox-theme" title="Sandbox theme on Google Code" rel="external">code.google.com/p/sandbox-theme</a>. Please ignore this if you are not familiar with Subversion.</p> 
     114                        </li><!-- #installing --> 
     115 
     116                        <li id="functions"> 
     117                                <h2>Class functions</h2> 
     118                                <p>The three semantic class-generating functions used in the Sandbox are charted below, outlining what semantic classes are generated (&#8220;Class&#8221;), any related WordPress function (&#8220;WP Tag&#8221;), and the usage of these classes (&#8220;Usage&#8221;). For more on the WP Tag aspect, read the <a href="http://codex.wordpress.org/Template_Tags" title="Template tags &laquo; WordPress Codex" rel="external">Template Tags</a> and <a href="http://codex.wordpress.org/Conditional_Tags" title="Conditional Tags &laquo; WordPress Codex" rel="external">Conditional Tags</a> articles on the WordPress Codex.</p> 
     119 
     120                                <ol> 
     121                                        <li id="body-class"> 
     122                                                <h3><code>sandbox_body_class()</code></h3> 
     123                                                <p>The <code>sandbox_body_class()</code> function is definied in the <code>functions.php</code> file. It has no parameters. It adds semantic classes to the <code>body</code> element relative to the content of the page that is being displayed.</p> 
     124                                                <pre>&lt;body class="<span>&lt;?php sandbox_body_class() ?&gt;</span>"&gt;</pre> 
     125                                                <p>The chart below lists the semantic classes added to the <code>body</code> tag by this function.</p> 
     126                                                <table id="body-class-table" summary="Classes given to the body element sandbody_body_class()"> 
     127                                                        <thead> 
     128                                                                <tr> 
     129                                                                        <th colspan="3" scope="colgroup"><code>sandbox_body_class()</code></th> 
     130                                                                </tr> 
     131                                                        </thead> 
     132                                                        <tfoot> 
     133                                                                <tr> 
     134                                                                        <th colspan="3" scope="colgroup">CSS example</th> 
     135                                                                </tr> 
     136                                                                <tr> 
     137                                                                        <td colspan="3" scope="row" abbr="CSS example"><code>body.single div.sidebar { display: none; }</code></td> 
     138                                                                </tr> 
     139                                                        </tfoot> 
     140                                                        <tbody> 
     141                                                                <tr> 
     142                                                                        <th scope="col" abbr="class">Class</th> 
     143                                                                        <th scope="col" abbr="tag">WP Tag</th> 
     144                                                                        <th scope="col" abbr="use">Usage</th> 
     145                                                                </tr> 
     146                                                                <tr class="alt"> 
     147                                                                        <td scope="row">archive</td> 
     148                                                                        <td><code>is_archive()</code></td> 
     149                                                                        <td>When <em>any</em> archive page is displayed, i.e., applies to category-, date-, and author-based archive pages</td> 
     150                                                                </tr> 
     151                                                                <tr> 
     152                                                                        <td scope="row">attachment</td> 
     153                                                                        <td><code>is_attachment()</code></td> 
     154                                                                        <td>When the post subpage containing an attachment is displayed, as set with "Linked to Page" in the post editor</td> 
     155                                                                </tr> 
     156                                                                <tr class="alt"> 
     157                                                                        <td scope="row">author</td> 
     158                                                                        <td><code>is_author()</code></td> 
     159                                                                        <td>When a author archive page is displayed</td> 
     160                                                                </tr> 
     161                                                                <tr> 
     162                                                                        <td scope="row">author-[name]</td> 
     163                                                                        <td><code>is_author()</code></td> 
     164                                                                        <td>When a specific author archive page is displayed, where <i>[name]</i> is the author's login name, e.g., author-admin</td> 
     165                                                                </tr> 
     166                                                                <tr class="alt"> 
     167                                                                        <td scope="row">author-paged-[n]</td> 
     168                                                                        <td><code>is_author()</code> &amp; <code>is_paged()</code></td> 
     169                                                                        <td>Displays the "paged" number of author archive, where <i>[n]</i> is the paginated number</td> 
     170                                                                </tr> 
     171                                                                <tr> 
     172                                                                        <td scope="row">category</td> 
     173                                                                        <td><code>is_category()</code></td> 
     174                                                                        <td>When a category archive page is displayed</td> 
     175                                                                </tr> 
     176                                                                <tr class="alt"> 
     177                                                                        <td scope="row">category-[name]</td> 
     178                                                                        <td><code>is_category()</code></td> 
     179                                                                        <td>For a specific category, where <i>[name]</i> is the category slug, e.g., category-useful-links</td> 
     180                                                                </tr> 
     181                                                                <tr> 
     182                                                                        <td scope="row">category-paged-[n]</td> 
     183                                                                        <td><code>is_category()</code> &amp; <code>is_paged()</code></td> 
     184                                                                        <td>Displays the "paged" number of category archive, where <i>[n]</i> is the paginated number</td> 
     185                                                                </tr> 
     186                                                                <tr class="alt"> 
     187                                                                        <td scope="row">d01&ndash;31</td> 
     188                                                                        <td><code>gmdate('d')</code></td> 
     189                                                                        <td>The current day of when the page is displayed (Offset to GMT)</td> 
     190                                                                </tr> 
     191                                                                <tr> 
     192                                                                        <td scope="row">date</td> 
     193                                                                        <td><code>is_date()</code></td> 
     194                                                                        <td>When a date archive page is displayed, e.g., by month, by year</td> 
     195                                                                </tr> 
     196                                                                <tr class="alt"> 
     197                                                                        <td scope="row">date-paged-[n]</td> 
     198                                                                        <td><code>is_date()</code> &amp; <code>is_paged()</code></td> 
     199                                                                        <td>Displays the "paged" number of date-based archive, where <i>[n]</i> is the paginated number</td> 
     200                                                                </tr> 
     201                                                                <tr> 
     202                                                                        <td scope="row">h00&ndash;24</td> 
     203                                                                        <td><code>gmdate('h')</code></td> 
     204                                                                        <td>The current hour of when the page is displayed (Offset to GMT)</td> 
     205                                                                </tr> 
     206                                                                <tr class="alt"> 
     207                                                                        <td scope="row">four04</td> 
     208                                                                        <td><code>is_404()</code></td> 
     209                                                                        <td>When a request results in zero posts, i.e., a 404 error page</td> 
     210                                                                </tr> 
     211                                                                <tr> 
     212                                                                        <td scope="row">home</td> 
     213                                                                        <td><code>is_home()</code></td> 
     214                                                                        <td>When the home page is displayed</td> 
     215                                                                </tr> 
     216                                                                <tr class="alt"> 
     217                                                                        <td scope="row">m00&ndash;12</td> 
     218                                                                        <td><code>gmdate('m')</code></td> 
     219                                                                        <td>The current month of when the page is displayed (Offset to GMT)</td> 
     220                                                                </tr> 
     221                                                                <tr> 
     222                                                                        <td scope="row">loggedin</td> 
     223                                                                        <td>n/a</td> 
     224                                                                        <td>When the page is displayed by a logged-in user</td> 
     225                                                                </tr> 
     226                                                                <tr class="alt"> 
     227                                                                        <td scope="row">page</td> 
     228                                                                        <td><code>is_page()</code></td> 
     229                                                                        <td>When a page is displayed</td> 
     230                                                                </tr> 
     231                                                                <tr> 
     232                                                                        <td scope="row">page-author-[name]</td> 
     233                                                                        <td><code>is_page()</code></td> 
     234                                                                        <td>For a page by a specific author, where <i>[name]</i> is the user's login name, e.g., page-author-admin</td> 
     235                                                                </tr> 
     236                                                                <tr class="alt"> 
     237                                                                        <td scope="row">page-paged-[n]</td> 
     238                                                                        <td><code>is_page()</code> &amp; <code>is_paged()</code></td> 
     239                                                                        <td>Displays the "paged" number of pages, where <i>[n]</i> is the paginated number</td> 
     240                                                                </tr> 
     241                                                                <tr> 
     242                                                                        <td scope="row">paged</td> 
     243                                                                        <td><code>is_paged()</code></td> 
     244                                                                        <td>When whatever is displayed is "paged," e.g., page 2 of the index</td> 
     245                                                                </tr> 
     246                                                                <tr class="alt"> 
     247                                                                        <td scope="row">paged-[n]</td> 
     248                                                                        <td><code>is_paged()</code></td> 
     249                                                                        <td>Displays the "paged" number, where <i>[n]</i> is the paginated number, e.g., paged-3 for third page of index</td> 
     250                                                                </tr> 
     251                                                                <tr> 
     252                                                                        <td scope="row">pageid-[n]</td> 
     253                                                                        <td><code>is_page()</code></td> 
     254                                                                        <td>Displays the page ID number of queried page, where <i>[n]</i> is the page ID, e.g., pageid-20</td> 
     255                                                                </tr> 
     256                                                                <tr class="alt"> 
     257                                                                        <td scope="row">postid-[n]</td> 
     258                                                                        <td><code>is_single()</code></td> 
     259                                                                        <td>Displays the post ID number of queried post, where <i>[n]</i> is the post ID, e.g., postid-20</td> 
     260                                                                </tr> 
     261                                                                <tr> 
     262                                                                        <td scope="row">search</td> 
     263                                                                        <td><code>is_search()</code></td> 
     264                                                                        <td>When the results of a search are displayed</td> 
     265                                                                </tr> 
     266                                                                <tr class="alt"> 
     267                                                                        <td scope="row">single</td> 
     268                                                                        <td><code>is_single()</code></td> 
     269                                                                        <td>When a single post is displayed</td> 
     270                                                                </tr> 
     271                                                                <tr> 
     272                                                                        <td scope="row">s-author-[name]</td> 
     273                                                                        <td><code>is_single()</code> &amp; <code>is_author()</code></td> 
     274                                                                        <td>For a single post published by a specific author, where <i>[name]</i> is the user's login name, e.g., s-author-admin</td> 
     275                                                                </tr> 
     276                                                                <tr class="alt"> 
     277                                                                        <td scope="row">s-category-[name]</td> 
     278                                                                        <td><code>is_single()</code> &amp; <code>is_category()</code></td> 
     279                                                                        <td>For a single post published in a specific category, where <i>[name]</i> is the category slug, e.g., s-category-news</td> 
     280                                                                </tr> 
     281                                                                <tr> 
     282                                                                        <td scope="row">s-d01&ndash;31</td> 
     283                                                                        <td><code>gmdate('d')</code></td> 
     284                                                                        <td>For a single post published on a specific day (Offset to GMT)</td> 
     285                                                                </tr> 
     286                                                                <tr class="alt"> 
     287                                                                        <td scope="row">s-h00&ndash;24</td> 
     288                                                                        <td><code>gmdate('h')</code></td> 
     289                                                                        <td>For a single post published at a specific hour (Offset to GMT)</td> 
     290                                                                </tr> 
     291                                                                <tr> 
     292                                                                        <td scope="row">s-m00&ndash;12</td> 
     293                                                                        <td><code>gmdate('m')</code></td> 
     294                                                                        <td>For a single post published in a specific month (Offset to GMT)</td> 
     295                                                                </tr> 
     296                                                                <tr class="alt"> 
     297                                                                        <td scope="row">s-y2007</td> 
     298                                                                        <td><code>gmdate('Y')</code></td> 
     299                                                                        <td>For a single post published in a specific year (Offset to GMT)</td> 
     300                                                                </tr> 
     301                                                                <tr> 
     302                                                                        <td scope="row">wordpress</td> 
     303                                                                        <td>n/a</td> 
     304                                                                        <td>When anything is displayed; a class that is always applied</td> 
     305                                                                </tr> 
     306                                                                <tr class="alt"> 
     307                                                                        <td scope="row">y2007</td> 
     308                                                                        <td><code>gmdate('Y')</code></td> 
     309                                                                        <td>The current year of when the page is display (Offset to GMT)</td> 
     310                                                                </tr> 
     311                                                        </tbody> 
     312                                                </table><!-- #body-class-table --> 
     313                                        </li><!-- #body-class --> 
     314 
     315                                        <li id="post-class"> 
     316                                                <h3><code>sandbox_post_class()</code></h3> 
     317                                                <p>The <code>sandbox_post_class()</code> function is definied in the <code>functions.php</code> file. It has no parameters. It adds semantic classes to each post <code>div</code> element, relative to the actual post it contains.</p> 
     318                                                <pre>&lt;div id="post-&lt;?php the_ID(); ?&gt;" class="<span>&lt;?php sandbox_post_class() ?&gt;</span>"&gt;</pre> 
     319                                                <p>The chart below lists the semantic classes added to each post <code>div</code> element by this function.</p> 
     320                                                <table id="post-class-table" summary="Classes given to individual posts by sandbody_post_class()"> 
     321                                                        <thead> 
     322                                                                <tr> 
     323                                                                        <th colspan="3" scope="colgroup"><code>sandbox_post_class()</code></th> 
     324                                                                </tr> 
     325                                                        </thead> 
     326                                                        <tfoot> 
     327                                                                <tr> 
     328                                                                        <th colspan="3" scope="colgroup">CSS example</th> 
     329                                                                </tr> 
     330                                                                <tr> 
     331                                                                        <td colspan="3" scope="row" abbr="CSS example"><code>div.category-news .entry-title { background: url('images/news.png'); }</code></td> 
     332                                                                </tr> 
     333                                                        </tfoot> 
     334                                                        <tbody> 
     335                                                                <tr> 
     336                                                                        <th scope="col" abbr="class">Class</th> 
     337                                                                        <th scope="col" abbr="tag">WP Tag</th> 
     338                                                                        <th scope="col" abbr="use">Usage</th> 
     339                                                                </tr> 
     340                                                                <tr class="alt"> 
     341                                                                        <td scope="row">alt</td> 
     342                                                                        <td>n/a</td> 
     343                                                                        <td>For odd-numbered posts, e.g., 1<sup>st</sup>, 3<sup>rd</sup>, 5<sup>th</sup></td> 
     344                                                                </tr> 
     345                                                                <tr> 
     346                                                                        <td scope="row">author-[name]</td> 
     347                                                                        <td><code>is_author()</code></td> 
     348                                                                        <td>For any specific author, where <i>[name]</i> is the user's login name, e.g., author-admin</td> 
     349                                                                </tr> 
     350                                                                <tr class="alt"> 
     351                                                                        <td scope="row">category-[name]</td> 
     352                                                                        <td><code>is_category()</code></td> 
     353                                                                        <td>For any specific category, where <i>[name]</i> is the category slug, e.g., category-news</td> 
     354                                                                </tr> 
     355                                                                <tr> 
     356                                                                        <td scope="row">draft</td> 
     357                                                                        <td>n/a</td> 
     358                                                                        <td>For a post saved as a draft, as contrasted with an published post</td> 
     359                                                                </tr> 
     360                                                                <tr class="alt"> 
     361                                                                        <td scope="row">hentry</td> 
     362                                                                        <td>n/a</td> 
     363                                                                        <td>For the hAtom 0.1 specification, applied every post</td> 
     364                                                                </tr> 
     365                                                                <tr> 
     366                                                                        <td scope="row">p[n]</td> 
     367                                                                        <td>n/a</td> 
     368                                                                        <td>For counting posts relative to the top of the page, where <i>[n]</i> is the number, e.g., p1 for the first post, p2 for the second, p3 for the third</td> 
     369                                                                </tr> 
     370                                                                <tr class="alt"> 
     371                                                                        <td scope="row">page</td> 
     372                                                                        <td>n/a</td> 
     373                                                                        <td>A general class, applied to every page</td> 
     374                                                                </tr> 
     375                                                                <tr> 
     376                                                                        <td scope="row">post</td> 
     377                                                                        <td>n/a</td> 
     378                                                                        <td>A general class, applied to every post</td> 
     379                                                                </tr> 
     380                                                                <tr class="alt"> 
     381                                                                        <td scope="row">private</td> 
     382                                                                        <td>n/a</td> 
     383                                                                        <td>For a post that has been saved as "private"</td> 
     384                                                                </tr> 
     385                                                                <tr> 
     386                                                                        <td scope="row">protected</td> 
     387                                                                        <td>n/a</td> 
     388                                                                        <td>For a post that has been password-protected</td> 
     389                                                                </tr> 
     390                                                                <tr class="alt"> 
     391                                                                        <td scope="row">publish</td> 
     392                                                                        <td>n/a</td> 
     393                                                                        <td>For any published post, as contrasted with an unpublished draft</td> 
     394                                                                </tr> 
     395                                                                <tr> 
     396                                                                        <td scope="row">h00&ndash;24</td> 
     397                                                                        <td><code>gmdate('h')</code></td> 
     398                                                                        <td>For a post published at a specific hour (Offset to GMT)</td> 
     399                                                                </tr> 
     400                                                                <tr class="alt"> 
     401                                                                        <td scope="row">d01&ndash;31</td> 
     402                                                                        <td><code>gmdate('d')</code></td> 
     403                                                                        <td>For a post published on a specific day (Offset to GMT)</td> 
     404                                                                </tr> 
     405                                                                <tr> 
     406                                                                        <td scope="row">m00&ndash;12</td> 
     407                                                                        <td><code>gmdate('m')</code></td> 
     408                                                                        <td>For a post published in a specific month (Offset to GMT)</td> 
     409                                                                </tr> 
     410                                                                <tr class="alt"> 
     411                                                                        <td scope="row">y2007</td> 
     412                                                                        <td><code>gmdate('Y')</code></td> 
     413                                                                        <td>For a post published in a certain year (Offset to GMT)</td> 
     414                                                                </tr> 
     415                                                        </tbody> 
     416                                                </table><!-- #post-class-table --> 
     417                                        </li><!-- #post-class --> 
     418 
     419                                        <li id="comment-class"> 
     420                                                <h3><code>sandbox_comment_class()</code></h3> 
     421                                                <p>The <code>sandbox_comment_class()</code> function is definied in the <code>functions.php</code> file. It has no parameters. It adds semantic classes to the each comment <code>li</code> element (&#8220;comment&#8221; here meaning comments, trackbacks, and pingbacks).</p> 
     422                                                <pre>&lt;li id="comment-&lt;?php comment_ID(); ?&gt;" class="<span>&lt;?php sandbox_comment_class() ?&gt;</span>"&gt;</pre> 
     423                                                <p>The chart below lists the semantic classes added to each comment <code>li</code> element by this function.</p> 
     424                                                <table id="comment-class-table" summary="Classes given to individual comments by sandbody_comment_class()"> 
     425                                                        <thead> 
     426                                                                <tr> 
     427                                                                        <th colspan="3" scope="colgroup"><code>sandbox_comment_class()</code></th> 
     428                                                                </tr> 
     429                                                        </thead> 
     430                                                        <tfoot> 
     431                                                                <tr> 
     432                                                                        <th colspan="3" scope="colgroup">CSS example</th> 
     433                                                                </tr> 
     434                                                                <tr> 
     435                                                                        <td colspan="3" scope="row" abbr="CSS example"><code>div.comments li.bypostauthor { border: 1px solid red; }</code></td> 
     436                                                                </tr> 
     437                                                        </tfoot> 
     438                                                        <tbody> 
     439                                                                <tr> 
     440                                                                        <th scope="col" abbr="class">Class</th> 
     441                                                                        <th scope="col" abbr="tag">WP Tag</th> 
     442                                                                        <th scope="col" abbr="use">Usage</th> 
     443                                                                </tr> 
     444                                                                <tr class="alt"> 
     445                                                                        <td scope="row">alt</td> 
     446                                                                        <td>n/a</td> 
     447                                                                        <td>For odd-numbered comments, e.g., 1<sup>st</sup>, 3<sup>rd</sup>, 5<sup>th</sup></td> 
     448                                                                </tr> 
     449                                                                <tr> 
     450                                                                        <td scope="row">bypostauthor</td> 
     451                                                                        <td>n/a</td> 
     452                                                                        <td>When the comment author is also the post author</td> 
     453                                                                </tr> 
     454                                                                <tr class="alt"> 
     455                                                                        <td scope="row">byuser</td> 
     456                                                                        <td>n/a</td> 
     457                                                                        <td>For <em>any</em> comment by a registered user</td> 
     458                                                                </tr> 
     459                                                                <tr> 
     460                                                                        <td scope="row">c-h00&ndash;24</td> 
     461                                                                        <td><code>gmdate('h')</code></td> 
     462                                                                        <td>For a comment posted at a specific hour (Offset to GMT)</td> 
     463                                                                </tr> 
     464                                                                <tr class="alt"> 
     465                                                                        <td scope="row">c[n]</td> 
     466                                                                        <td>n/a</td> 
     467                                                                        <td>For counting comments relative to the first, where <i>[n]</i> is the number, e.g., c1 for the first comment, c2 for the second, c3 for the third</td> 
     468                                                                </tr> 
     469                                                                <tr> 
     470                                                                        <td scope="row">c-d01&ndash;31</td> 
     471                                                                        <td><code>gmdate('d')</code></td> 
     472                                                                        <td>For a comment posted on a specific date (Offset to GMT)</td> 
     473                                                                </tr> 
     474                                                                <tr class="alt"> 
     475                                                                        <td scope="row">c-m00&ndash;12</td> 
     476                                                                        <td><code>gmdate('m')</code></td> 
     477                                                                        <td>For a comment posted in a specific month (Offset to GMT)</td> 
     478                                                                </tr> 
     479                                                                <tr> 
     480                                                                        <td scope="row">c-y2007</td> 
     481                                                                        <td><code>gmdate('Y')</code></td> 
     482                                                                        <td>For a comment posted in a specific year (Offset to GMT)</td> 
     483                                                                </tr> 
     484                                                                <tr class="alt"> 
     485                                                                        <td scope="row">comment</td> 
     486                                                                        <td>n/a</td> 
     487                                                                        <td>A general class, applied to every comment</td> 
     488                                                                </tr> 
     489                                                                <tr> 
     490                                                                        <td scope="row">comment-author-[name]</td> 
     491                                                                        <td>n/a</td> 
     492                                                                        <td>For a comment by a specific registered user, where <i>[name]</i> is the user's login name, e.g., comment-author-john</td> 
     493                                                                </tr> 
     494                                                                <tr class="alt"> 
     495                                                                        <td scope="row">t[n]</td> 
     496                                                                        <td>n/a</td> 
     497                                                                        <td>For counting trackbacks relative to the first, where <i>[n]</i> is the number, e.g., t1 for the first trackback, t2 for the second, t3 for the third</td> 
     498                                                                </tr> 
     499                                                                <tr> 
     500                                                                        <td scope="row">trackback</td> 
     501                                                                        <td>is_trackback()</td> 
     502                                                                        <td>When a comment is a trackback/pingback</td> 
     503                                                                </tr> 
     504                                                        </tbody> 
     505                                                </table><!-- #comment-class-table --> 
     506                                        </li><!-- #comment-class --> 
     507                                </ol> 
     508                        </li><!-- #functions --> 
     509 
     510                        <li id="standards"> 
     511                                <h2>Web standards</h2> 
     512                                <p>The Sandbox is compliant with both XHTML and CSS standards. What does this mean? An explanation of web standards from <a href="http://webstandards.org" title="Web Standards Project" rel="external">The Web Standards Project</a>:</p> 
     513                                <blockquote cite="http://webstandards.org/learn/faq/" title="What are web standards and why should I use them?"> 
     514                                        <p>Complying with web standards can give your web pages greater visibility in web searches. The structural information present in compliant documents makes it easy for search engines to access and evaluate the information in those documents, and they get indexed more accurately.</p> 
     515                                        <p>Accessibility is an important idea behind many web standards. Not only does this mean allowing the web to be used by people with disabilities, but also allowing web pages to be understood by people using browsers other than the usual ones&mdash;including voice browsers that read web pages aloud to people with sight impairments, Braille browsers, hand-held browsers, teletext displays, and other unusual output devices.</p> 
     516                                </blockquote> 
     517                                <p>You can read more about developing with web standards at <a href="http://www.456bereastreet.com/lab/developing_with_web_standards/webstandards/" title="Developing with web standards" rel="external">456 Berea Street</a>.</p> 
     518                        </li><!-- #standards--> 
     519 
     520                        <li id="microformats"> 
     521                                <h2>Microformats</h2> 
     522                                <p><a href="http://microformats.org/" title="Microformats.org" rel="external">Microformats</a> are markup that express semantic information in your blog. People and machines can extract information from webpages marked up in a microformat much like feed readers extract information from Atom or <abbr title="Rich Site Summary">RSS</abbr> syndicated feeds. Essentially it's about making content more accessible.</p> 
     523                                <p>Microformats that have been implemented in the Sandbox theme include (less <a href="http://gmpg.org/xfn/" title="XHTML Friends Network" rel="external"><abbr title="XHTML Friends Network">XFN</abbr></a>, which is built into WordPress):</p> 
     524                                <ul> 
     525                                        <li><a href="http://microformats.org/wiki/hatom" title="hAtom - Microformats" rel="external">hAtom</a>: For all blog posts and pages</li> 
     526                                        <li><a href="http://microformats.org/wiki/hcard" title="hCard - Microformats" rel="external">hCard</a>: For all post and comment authors</li> 
     527                                        <li><a href="http://microformats.org/wiki/rel-home" title="rel-home - Microformats" rel="external">rel="home"</a>: For marking links pointing to the blog home page</li> 
     528                                        <li><a href="http://microformats.org/wiki/xoxo" title="XOXO - Microformats" rel="external">XOXO</a>: For menu, blogroll, archive, and sidebar lists</li> 
     529                                </ul> 
     530                                <p>Microformats help the Sandbox be an especially <abbr title="Plain old semantic HTML">POSH</abbr> WordPress theme. POSH stands for "plain old semantic HTML." It is a term used to refer to best practices of semantic HTML development. The Microformats Wiki <a href="http://microformats.org/wiki/posh" title="POSH - Microformats" rel="external">POSH article</a> has a working copy of these best practices:</p> 
     531                                <ol> 
     532                                        <li>Validate your markup, meaning it should <em>be</em> valid, not just validated</li> 
     533                                        <li>No use of tables for presentational purposes&mdash;only for tabular data</li> 
     534                                        <li>Correct any "<span class="bold">B</span>ed and <span class="bold">BR</span>eakfast" markup, i.e., no presentational elements like <code>b</code>, and no <code>&lt;br /&gt;</code></li> 
     535                                        <li>Correct any "<span class="bold">A</span>norexic anchors," e.g., an <code>a</code> element with only a <code>name</code> attribute</li> 
     536                                        <li>Use well-formed, semantic class names (Sandbox does this for you)</li> 
     537                                </ol> 
     538                                <p>So the Sandbox can be highly POSH, but the semantic use of HTML elements is completely up to you, the end user. To learn more about writing semantic HTML, visit <a href="http://www.mezzoblue.com/downloads/markupguide/" title="mezzoblue &sect; Markup Guide">Mezzoblue</a>.</p> 
     539                        </li><!-- #microformats --> 
     540 
     541                        <li id="features"> 
     542                                <h2>Other features</h2> 
     543                                <p>In addition to the more advanced, code-related features of the Sandbox, there are at least two other features that make the Sandbox a highly viable choice as a base theme.</p> 
     544                                <ol> 
     545                                        <li id="comments"> 
     546                                                <h3>Comments on pages</h3> 
     547                                                <p>Comments are not displayed on pages by default, but are displayed on posts, per the current convention. You can enable comments on a per page basis by adding a custom key/value with only the text <code>comments</code>.</p> 
     548                                                <p>To enable comments on a page:</p> 
     549                                                <ol> 
     550                                                        <li>In the <i>Write &rsaquo; Page</i> menu, expand the <a href="http://codex.wordpress.org/Using_Custom_Fields" title="Custom Fields - WordPress Codex" rel="external">Custom Fields</a> box</li> 
     551                                                        <li>In the <i>Custom Fields</i> box, add a new key with the exact text: <code>comments</code></li> 
     552                                                        <li>Add any text for a value (some text must be included for the key to save)</li> 
     553                                                        <li>Click <i>Add Custom Field</i> to save the key/value</li> 
     554                                                        <li>Comments should now be enabled on that page</li> 
     555                                                </ol> 
     556                                                <p>Enabling comments simply includes the <code>comments.php</code> file with the page. You can turn off comments on a page by deleting the <code>comments</code> key/value. This does not delete any exisiting comments, but simply disables <code>comments.php</code> from loading with the page.</p> 
     557                                        </li><!-- #comments --> 
     558 
     559                                        <li id="templates"> 
     560                                                <h3>Page templates</h3> 
     561                                                <p>There are two <a href="http://codex.wordpress.org/Pages#Page_Templates" title="Page templates - WordPress Codex" rel="external">page templates</a> included: Links Page (<code>links.php</code>) and Archives Page (<code>archives.php</code>). You can add a title, text, and enable comments (see above) with both of these page templates.</p> 
     562                                                <p>To use the page templates:</p> 
     563                                                <ol> 
     564                                                        <li>In the <i>Write &rsaquo; Page</i> menu, expand the <i>Page Templates</i> box</li> 
     565                                                        <li>From the drop-down, select the page template to use</li> 
     566                                                        <li>Add a title and text (optional) for the page</li> 
     567                                                        <li>Click <i>Create New Page / Save</i> to publish the page</li> 
     568                                                </ol> 
     569                                                <p>The Archive Page template displays archives by month and by category. The Links Page displays links by link category.</p> 
     570                                        </li><!-- #templates --> 
     571                                </ol> 
     572                        </li><!-- #features --> 
     573 
     574                        <li id="license"> 
     575                                <h2>License</h2> 
     576                                <p>The Sandbox &copy; 2006&ndash;2007 is licensed under the <a href="http://www.gnu.org/licenses/gpl.html" title="GNU General Public License" rel="license"><abbr title="GNU is Not Unix">GNU</abbr> General Public License</a>:</p> 
     577                                <blockquote title="How to use the GPL or LPGL" cite="http://www.gnu.org/licenses/gpl-howto.html"> 
     578                                        <p>This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version.</p> 
     579                                        <p>This program is distributed in the hope that it will be useful, but <strong>without any warranty</strong>; without even the implied warranty of <strong>merchantability</strong> or <strong>fitness for a particular purpose</strong>. See the GNU General Public License for more details.</p> 
     580                                        <p>You should have received a copy of the GNU General Public License along with this program; if not, write to the <span class="vcard"><a class="url fn org" href="http://www.fsf.org/" rel="external">Free Software Foundation, Inc</a>, <span class="adr"><span class="street-address">51 Franklin Street, Fifth Floor</span>, <span class="locality">Boston</span>, <span class="region">MA</span> <span class="postal-code">02110-1301</span>, <span class="country-name">USA</span></span></span>.</p> 
     581                                </blockquote> 
     582                        </li><!-- #license --> 
     583 
     584                </ol><!-- #readme .xoxo --> 
     585 
     586                <div id="footer"> 
     587                        <p>Last updated 25 May 2007</p> 
     588                </div><!-- #footer --> 
     589                 
     590 
     591        </div><!-- #readme --> 
     592 
     593</body> 
     594</html> 
     595 No newline at end of file 
  • wp-content/themes/sandbox/sandbox-kubrick/kubrick-style.css

     
     1body { 
     2        background: #d5d6d7 url('../../default/images/kubrickbgcolor.jpg'); 
     3        color: #333; 
     4        font-family: "lucida grande", verdana, arial, sans-serif; 
     5        font-size: 62.5%; 
     6        margin: 0 0 20px; 
     7        padding: 0; 
     8        text-align: center; 
     9} 
     10div.clearer { 
     11        clear: both; 
     12} 
     13div#menu ul { 
     14        margin:-20px 0 0 30px; 
     15        padding:0; 
     16} 
     17* html div#menu { 
     18        margin-bottom: 20px; 
     19} 
     20div#menu ul li { 
     21        display:inline; 
     22        margin:0; 
     23        padding:0; 
     24} 
     25div#menu ul a,div#menu ul a:visited { 
     26        color:white; 
     27        display:block; 
     28        float:left; 
     29        font-size:1.2em; 
     30        height:18px; 
     31        margin:0 5px; 
     32        padding:2px 5px 0; 
     33        text-decoration:none; 
     34} 
     35div#menu ul li a:hover,div#menu ul li.current_page_item a,div#menu ul li.current_page_item a:visited { 
     36        background:#fff; 
     37        color:#06c; 
     38} 
     39div#wrapper { 
     40        background: #dfdfff url('../../default/images/kubrickbg-ltr.jpg') repeat-y top left; 
     41        margin: 20px auto; 
     42        padding: 0; 
     43        text-align: left; 
     44        width: 760px; 
     45} 
     46body.single #wrapper { 
     47        background: #fff url('../../default/images/kubrickbgwide.jpg') repeat-y top left; 
     48} 
     49div#header { 
     50        background: #73a0c5 url('../../default/images/kubrickheader.jpg') no-repeat bottom center; 
     51        height: 200px; 
     52        margin: 0; 
     53        padding: 0; 
     54        width: 760px; 
     55} 
     56div#container { 
     57        clear: left; 
     58        margin-top:20px; 
     59} 
     60div#content { 
     61        float: left; 
     62        font-size: 1.2em; 
     63        line-height: 1.4em; 
     64        margin: 0; 
     65        overflow: hidden; 
     66        padding: 0 0 20px 45px; 
     67        width: 450px; 
     68} 
     69body.single div#content { 
     70        float: none; 
     71        line-height: 1.6em; 
     72        margin: 5px 0 0 150px; 
     73        padding: 10px 0 20px; 
     74} 
     75div.entry-content p { 
     76        line-height: 1.4em; 
     77} 
     78div.entry-meta { 
     79        clear: left; 
     80        font-size: 90%; 
     81        line-height: 1.4em; 
     82        padding-top: 5px; 
     83        text-align: center; 
     84} 
     85body.single .entry-meta { 
     86        margin: 30px 0; 
     87        text-align: justify; 
     88} 
     89body.archive .entry-meta { 
     90        text-align: left; 
     91} 
     92div.comments ol li.alt, body.single .entry-meta { 
     93        background: #f8f8f8; 
     94        border-bottom: 1px solid #ddd; 
     95        border-top: 1px solid #ddd; 
     96        margin: 0; 
     97        padding: 10px; 
     98} 
     99div#footer { 
     100        background: #e7e7e7 url('../../default/images/kubrickfooter.jpg') no-repeat top; 
     101        border: none; 
     102        clear: both; 
     103        height: 38px; 
     104        margin: 0 auto; 
     105        padding: 25px 0 0; 
     106        text-align: center; 
     107        width: 760px; 
     108        overflow: hidden; 
     109} 
     110div#footer span.meta-sep {  
     111        color: #777; 
     112} 
     113small, abbr.published { 
     114        border: none; 
     115        color: #777; 
     116        cursor: default; 
     117        font-family: arial, helvetica, sans-serif; 
     118        font-size: 0.9em; 
     119        line-height: 1.5em; 
     120} 
     121h1, h2, h3 { 
     122        font-family: "trebuchet ms", "lucida grande", verdana, sans-serif; 
     123        font-weight: bold; 
     124} 
     125h1 { 
     126        font-size: 4em; 
     127        margin: 0; 
     128        padding-top: 70px; 
     129        text-align: center; 
     130} 
     131div#blog-description { 
     132        font-size: 1.2em; 
     133        text-align: center; 
     134} 
     135h2 { 
     136        font-size: 1.6em; 
     137        margin: 30px 0 0; 
     138} 
     139body.page h2.entry-title { 
     140        margin-top: 30px; 
     141        text-align: center; 
     142} 
     143body.single h2.entry-title { 
     144        clear: both; 
     145} 
     146h3 { 
     147        font-size: 1.3em; 
     148        margin: 30px 0 0; 
     149        padding: 0; 
     150} 
     151div.sidebar h3 { 
     152        font-family: "lucida grande", verdana, arial, sans-serif; 
     153        font-size: 1.2em; 
     154        margin: 5px 0 0; 
     155        padding: 0; 
     156} 
     157h1, h1 a, h1 a:hover, h1 a:visited, div#blog-description { 
     158        color: #fff; 
     159        text-decoration: none; 
     160} 
     161h2, h2 a, h2 a:visited, h3, h3 a, h3 a:visited { 
     162        color: #333; 
     163        line-height: 110%; 
     164} 
     165h2, h2 a, h2 a:hover, h2 a:visited, h3, h3 a, h3 a:hover, h3 a:visited, .sidebar h3, #wp-calendar caption, cite { 
     166        text-decoration: none; 
     167} 
     168div.entry-content p a:visited { 
     169        color: #b85b5a; 
     170} 
     171div.comments ol li, form#commentform input, form#commentform textarea { 
     172        font: 0.9em "lucida grande", verdana, arial, sans-serif; 
     173} 
     174div.comments ol .comment-author { 
     175        font-weight: bold; 
     176        font-size:110%; 
     177} 
     178div#trackbacks-list ol .comment-author { 
     179        font-weight: normal; 
     180        font-size:100%; 
     181} 
     182div#trackbacks-list ol .comment-author a{ 
     183        font-weight:bold; 
     184} 
     185div.comments ol li, div.comments-list ol li.alt { 
     186        list-style: none; 
     187        margin: 0; 
     188        padding: 15px 10px 6px; 
     189} 
     190div.comments ol li.bypostauthor { 
     191        background:#dbe8f2; 
     192        margin: 0; 
     193        padding: 15px 10px 6px; 
     194} 
     195div.comments ol cite, div.comments ol cite a { 
     196        font-weight: bold; 
     197        font-style: normal; 
     198        font-size: 1.1em; 
     199} 
     200div.comments ol p { 
     201        line-height: 1.5em; 
     202        margin: 10px 5px 10px 0; 
     203        text-transform: none; 
     204} 
     205form#commentform p { 
     206        font-family: "lucida grande", verdana, arial, sans-serif; 
     207        margin: 5px 0; 
     208} 
     209span.required { 
     210        color:#c30; 
     211} 
     212.comment-meta { 
     213        display: block; 
     214        font-weight: normal; 
     215        margin: 3px 0 0 0; 
     216} 
     217div.sidebar { 
     218        font: 1em "lucida grande", verdana, arial, sans-serif; 
     219        margin-left: 535px; 
     220        padding: 0 0 0 10px; 
     221        width: 200px; 
     222} 
     223.widget { 
     224        width: 100%; 
     225        overflow: hidden; 
     226} 
     227div#primary { 
     228        margin-top: 50px; 
     229} 
     230small, div.sidebar ul ul li, div.sidebar ul ol li, .nocomments, .entry-meta, blockquote, strike { 
     231        color: #777; 
     232} 
     233code, pre { 
     234        font: 1em/140% "courier new", courier, monospace; 
     235} 
     236acronym, abbr, span.caps { 
     237        cursor: help; 
     238        font-size: 0.9em; 
     239        letter-spacing: .07em; 
     240} 
     241a, h2 a:hover, h3 a:hover { 
     242        color: #06c; 
     243        text-decoration: none; 
     244} 
     245a:hover { 
     246        color: #147; 
     247        text-decoration: underline; 
     248} 
     249#wp-calendar #prev a { 
     250        font-size: 9pt; 
     251        padding-left: 10px; 
     252        text-align: left; 
     253} 
     254#wp-calendar a { 
     255        text-decoration: none; 
     256        display: block; 
     257} 
     258#wp-calendar caption { 
     259        font: bold 1.3em "lucida grande", verdana, arial, sans-serif; 
     260        text-align: center; 
     261        width: 100%; 
     262} 
     263#wp-calendar th { 
     264        font-style: normal; 
     265        text-transform: capitalize; 
     266} 
     267div.post { 
     268        margin: 0 0 40px; 
     269        text-align: justify; 
     270} 
     271body.attachment p.smallattachment { 
     272        float: left; 
     273        margin: 5px 5px 5px 0; 
     274        text-align: center; 
     275        width: 128px; 
     276} 
     277body.attachment h3.entry-title,body.attachment p.attachment-name{ 
     278        text-align:center; 
     279} 
     280body.attachment p.attachment { 
     281        margin: 5px 0 -5px 0; 
     282        text-align: center; 
     283} 
     284body.single div.protected input { 
     285        width: 150px; 
     286        margin: 5px 0 0 0; 
     287} 
     288div.protected .entry-content,.nopassword { 
     289        margin:10px 0 0 0; 
     290        color: #777; 
     291        font-size:0.9em; 
     292        text-align:center; 
     293} 
     294div.comments h3 { 
     295        margin: 40px auto 20px; 
     296        padding: 0; 
     297} 
     298p img { 
     299        max-width: 100%; 
     300        padding: 0; 
     301} 
     302div.page-link { 
     303        font-weight:bold; 
     304} 
     305.centered { 
     306        display: block; 
     307        margin: 0 auto; 
     308} 
     309.alignright { 
     310        display: inline; 
     311        margin: 0 0 2px 7px; 
     312        padding: 4px; 
     313} 
     314.alignleft { 
     315        display: inline; 
     316        margin: 0 7px 2px 0; 
     317        padding: 4px; 
     318} 
     319html>body div.entry-content ul { 
     320        list-style: none; 
     321        margin-left: 0; 
     322        padding: 0 0 0 10px; 
     323        text-indent: -10px; 
     324} 
     325html>body div.entry-content li { 
     326        margin: 7px 0 8px 10px; 
     327} 
     328div.entry-content ul li:before, div.sidebar ul ul li:before,div.entry-content ul#archives-page li ul li:before,div.entry-content ul#links-page li ul li:before { 
     329        content: "\00BB \0020"; 
     330} 
     331div.entry-content ul#archives-page li:before,div.entry-content ul#links-page li:before { 
     332        content:""; 
     333} 
     334div.entry-content ol { 
     335        margin: 0; 
     336        padding: 0 0 0 35px; 
     337} 
     338div.entry-meta ul, div.entry-meta li { 
     339        display: inline; 
     340        list-style: none; 
     341} 
     342div.sidebar ul li { 
     343        list-style: none; 
     344        margin-bottom: 15px; 
     345} 
     346div.sidebar ul p, div.sidebar ul select { 
     347        margin: 5px 0 8px; 
     348} 
     349div.sidebar ul ul, div.sidebar ul ol { 
     350        margin: 5px 0 0 10px; 
     351} 
     352div.sidebar ul ul ul, div.sidebar ul ol { 
     353        margin: 0 0 0 10px; 
     354} 
     355ol li, div.sidebar ul ol li { 
     356        list-style: decimal outside; 
     357} 
     358div.sidebar ul ul li, div.sidebar ul ol li { 
     359        margin: 3px 0 0; 
     360        padding: 0; 
     361} 
     362form#searchform { 
     363        margin: 0 0 10px 0; 
     364        padding: 5px 3px; 
     365        text-align: center; 
     366} 
     367div.sidebar form#searchform #s { 
     368        width: 100px; 
     369        padding: 2px; 
     370} 
     371div.sidebar form#searchsubmit { 
     372        padding: 1px; 
     373} 
     374select { 
     375        width: 130px; 
     376} 
     377form#commentform input { 
     378        margin: 5px 5px 1px 0; 
     379        padding: 2px; 
     380        width: 170px; 
     381} 
     382form#commentform textarea { 
     383        padding: 2px; 
     384        width: 98%; 
     385} 
     386form#commentform #submit { 
     387        float: right; 
     388        margin: 5px 0 0 0; 
     389} 
     390div.comments ol { 
     391        padding: 0; 
     392        text-align: justify; 
     393} 
     394.nocomments { 
     395        margin: 0; 
     396        padding: 0; 
     397        text-align: center; 
     398} 
     399#wp-calendar { 
     400        empty-cells: show; 
     401        margin: 10px auto 0; 
     402        width: 155px; 
     403} 
     404#wp-calendar #next a { 
     405        padding-right: 10px; 
     406        text-align: right; 
     407} 
     408#wp-calendar td { 
     409        text-align: center; 
     410        padding: 3px 0; 
     411} 
     412#wp-calendar td.pad:hover { 
     413        background: #fff; 
     414} 
     415acronym,abbr { 
     416        border-bottom: 1px dashed #999; 
     417} 
     418blockquote { 
     419        border-left: 5px solid #ddd; 
     420        margin: 15px 30px 0 10px; 
     421        padding-left: 20px; 
     422} 
     423blockquote cite { 
     424        display: block; 
     425        margin: 5px 0 0; 
     426} 
     427a img { 
     428        border: none; 
     429} 
     430div.navigation { 
     431        display: block; 
     432        margin: 50px 0 10px 0; 
     433        text-align: center; 
     434} 
     435body.single div.navigation { 
     436        margin: 15px 0 50px 0; 
     437        height:1em; 
     438} 
     439div#nav-above, body.single div#nav-below { 
     440        display: none; 
     441} 
     442body.single div#nav-above { 
     443        display: block; 
     444} 
     445body.single .post, div.sidebar form { 
     446        margin: 0; 
     447} 
     448div.entry-content ol li, div.sidebar ul, div.sidebar ul ol { 
     449        margin: 0; 
     450        padding: 0; 
     451} 
     452div.entry-content form, .center { 
     453        text-align: center; 
     454} 
     455.alignright, .nav-next { 
     456        float: right; 
     457} 
     458.alignleft, .nav-previous { 
     459        float: left; 
     460} 
     461div#menu ul ul, div.skip-link, body.single div.sidebar, hr { 
     462        display: none; 
     463} 
     464#linkcats>li:before { 
     465        content: ""; 
     466} 
     467/* 
     468KUBRICK v1.1 for SANDBOX 
     469by ANDY SKELTON, http://andy.wordpress.com/ 
     470*/ 
     471 No newline at end of file 
  • wp-content/themes/sandbox/sandbox-kubrick/kubrick-readme.txt

     
     1= KUBRICK = 
     2 
     3Version 1.1 
     4Updated 17 May 2007 
     5by ANDY SKELTON, http://andy.wordpress.com/ 
     6 
     7 
     8== ABOUT == 
     9 
     10Pulled from http://andy.wordpress.com/2006/07/20/generated-semantic-classes-2/ by SCOTT on ANDY's behalf. ;-) 
     11 
     12Although I do consider myself style-blind, I did tackle the problem of creating the first complete Sandbox skin. Actually I dropped in the Kubrick stylesheet and tweaked it to work with Sandbox. It does a very nice job of emulating Kubrick – with a few improvements. 
     13 
     14This theme is a modification of the default WordPress theme, also known as Kubrick. Original design by Michael Heilemann, http://binarybonsai.com/wordpress/kubrick/. 
     15 
     16 
     17== USING THIS DESIGN == 
     18 
     19To use the Kubrick design with the Sandbox, simply replace everything after the commented-out header in the root style.css file with 
     20 
     21        @import url('sandbox-kubrick/kubrick-style.css'); 
     22 
     23 
     24== IMPORTANT FOR WORDPRESS 2.0.X USERS == 
     25 
     26If you intend to use this design with the Sandbox running WordPress 2.0.x, please note you will need to update the name of an image in the design CSS: kubrickbg-ltr.jpg => kubrickbg.jpg. 
     27 
     28This is because of language support introduced in WordPress 2.2 and left-to-right vs. right-to-left variables. 
     29 
     30 
     31== LICENSE == 
     32 
     33The Kubrick design for Sandbox, by Andy Skelton, is licensed under the GNU General Public License: 
     34 
     35    This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version. 
     36 
     37    This program is distributed in the hope that it will be useful, but without any warranty; without even the implied warranty of merchantability or fitness for a particular purpose. See the GNU General Public License for more details. 
     38 
     39    You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software Foundation, Inc, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. 
     40 No newline at end of file 
  • wp-content/themes/sandbox/sandbox-kubrick/kubrick-readme.txt

     
     1= KUBRICK = 
     2 
     3Version 1.1 
     4Updated 17 May 2007 
     5by ANDY SKELTON, http://andy.wordpress.com/ 
     6 
     7 
     8== ABOUT == 
     9 
     10Pulled from http://andy.wordpress.com/2006/07/20/generated-semantic-classes-2/ by SCOTT on ANDY's behalf. ;-) 
     11 
     12Although I do consider myself style-blind, I did tackle the problem of creating the first complete Sandbox skin. Actually I dropped in the Kubrick stylesheet and tweaked it to work with Sandbox. It does a very nice job of emulating Kubrick – with a few improvements. 
     13 
     14This theme is a modification of the default WordPress theme, also known as Kubrick. Original design by Michael Heilemann, http://binarybonsai.com/wordpress/kubrick/. 
     15 
     16 
     17== USING THIS DESIGN == 
     18 
     19To use the Kubrick design with the Sandbox, simply replace everything after the commented-out header in the root style.css file with 
     20 
     21        @import url('sandbox-kubrick/kubrick-style.css'); 
     22 
     23 
     24== IMPORTANT FOR WORDPRESS 2.0.X USERS == 
     25 
     26If you intend to use this design with the Sandbox running WordPress 2.0.x, please note you will need to update the name of an image in the design CSS: kubrickbg-ltr.jpg => kubrickbg.jpg. 
     27 
     28This is because of language support introduced in WordPress 2.2 and left-to-right vs. right-to-left variables. 
     29 
     30 
     31== LICENSE == 
     32 
     33The Kubrick design for Sandbox, by Andy Skelton, is licensed under the GNU General Public License: 
     34 
     35    This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version. 
     36 
     37    This program is distributed in the hope that it will be useful, but without any warranty; without even the implied warranty of merchantability or fitness for a particular purpose. See the GNU General Public License for more details. 
     38 
     39    You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software Foundation, Inc, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. 
     40 No newline at end of file 
  • wp-content/themes/sandbox/sandbox-kubrick/kubrick-style.css

     
     1body { 
     2        background: #d5d6d7 url('../../default/images/kubrickbgcolor.jpg'); 
     3        color: #333; 
     4        font-family: "lucida grande", verdana, arial, sans-serif; 
     5        font-size: 62.5%; 
     6        margin: 0 0 20px; 
     7        padding: 0; 
     8        text-align: center; 
     9} 
     10div.clearer { 
     11        clear: both; 
     12} 
     13div#menu ul { 
     14        margin:-20px 0 0 30px; 
     15        padding:0; 
     16} 
     17* html div#menu { 
     18        margin-bottom: 20px; 
     19} 
     20div#menu ul li { 
     21        display:inline; 
     22        margin:0; 
     23        padding:0; 
     24} 
     25div#menu ul a,div#menu ul a:visited { 
     26        color:white; 
     27        display:block; 
     28        float:left; 
     29        font-size:1.2em; 
     30        height:18px; 
     31        margin:0 5px; 
     32        padding:2px 5px 0; 
     33        text-decoration:none; 
     34} 
     35div#menu ul li a:hover,div#menu ul li.current_page_item a,div#menu ul li.current_page_item a:visited { 
     36        background:#fff; 
     37        color:#06c; 
     38} 
     39div#wrapper { 
     40        background: #dfdfff url('../../default/images/kubrickbg-ltr.jpg') repeat-y top left; 
     41        margin: 20px auto; 
     42        padding: 0; 
     43        text-align: left; 
     44        width: 760px; 
     45} 
     46body.single #wrapper { 
     47        background: #fff url('../../default/images/kubrickbgwide.jpg') repeat-y top left; 
     48} 
     49div#header { 
     50        background: #73a0c5 url('../../default/images/kubrickheader.jpg') no-repeat bottom center; 
     51        height: 200px; 
     52        margin: 0; 
     53        padding: 0; 
     54        width: 760px; 
     55} 
     56div#container { 
     57        clear: left; 
     58        margin-top:20px; 
     59} 
     60div#content { 
     61        float: left; 
     62        font-size: 1.2em; 
     63        line-height: 1.4em; 
     64        margin: 0; 
     65        overflow: hidden; 
     66        padding: 0 0 20px 45px; 
     67        width: 450px; 
     68} 
     69body.single div#content { 
     70        float: none; 
     71        line-height: 1.6em; 
     72        margin: 5px 0 0 150px; 
     73        padding: 10px 0 20px; 
     74} 
     75div.entry-content p { 
     76        line-height: 1.4em; 
     77} 
     78div.entry-meta { 
     79        clear: left; 
     80        font-size: 90%; 
     81        line-height: 1.4em; 
     82        padding-top: 5px; 
     83        text-align: center; 
     84} 
     85body.single .entry-meta { 
     86        margin: 30px 0; 
     87        text-align: justify; 
     88} 
     89body.archive .entry-meta { 
     90        text-align: left; 
     91} 
     92div.comments ol li.alt, body.single .entry-meta { 
     93        background: #f8f8f8; 
     94        border-bottom: 1px solid #ddd; 
     95        border-top: 1px solid #ddd; 
     96        margin: 0; 
     97        padding: 10px; 
     98} 
     99div#footer { 
     100        background: #e7e7e7 url('../../default/images/kubrickfooter.jpg') no-repeat top; 
     101        border: none; 
     102        clear: both; 
     103        height: 38px; 
     104        margin: 0 auto; 
     105        padding: 25px 0 0; 
     106        text-align: center; 
     107        width: 760px; 
     108        overflow: hidden; 
     109} 
     110div#footer span.meta-sep {  
     111        color: #777; 
     112} 
     113small, abbr.published { 
     114        border: none; 
     115        color: #777; 
     116        cursor: default; 
     117        font-family: arial, helvetica, sans-serif; 
     118        font-size: 0.9em; 
     119        line-height: 1.5em; 
     120} 
     121h1, h2, h3 { 
     122        font-family: "trebuchet ms", "lucida grande", verdana, sans-serif; 
     123        font-weight: bold; 
     124} 
     125h1 { 
     126        font-size: 4em; 
     127        margin: 0; 
     128        padding-top: 70px; 
     129        text-align: center; 
     130} 
     131div#blog-description { 
     132        font-size: 1.2em; 
     133        text-align: center; 
     134} 
     135h2 { 
     136        font-size: 1.6em; 
     137        margin: 30px 0 0; 
     138} 
     139body.page h2.entry-title { 
     140        margin-top: 30px; 
     141        text-align: center; 
     142} 
     143body.single h2.entry-title { 
     144        clear: both; 
     145} 
     146h3 { 
     147        font-size: 1.3em; 
     148        margin: 30px 0 0; 
     149        padding: 0; 
     150} 
     151div.sidebar h3 { 
     152        font-family: "lucida grande", verdana, arial, sans-serif; 
     153        font-size: 1.2em; 
     154        margin: 5px 0 0; 
     155        padding: 0; 
     156} 
     157h1, h1 a, h1 a:hover, h1 a:visited, div#blog-description { 
     158        color: #fff; 
     159        text-decoration: none; 
     160} 
     161h2, h2 a, h2 a:visited, h3, h3 a, h3 a:visited { 
     162        color: #333; 
     163        line-height: 110%; 
     164} 
     165h2, h2 a, h2 a:hover, h2 a:visited, h3, h3 a, h3 a:hover, h3 a:visited, .sidebar h3, #wp-calendar caption, cite { 
     166        text-decoration: none; 
     167} 
     168div.entry-content p a:visited { 
     169        color: #b85b5a; 
     170} 
     171div.comments ol li, form#commentform input, form#commentform textarea { 
     172        font: 0.9em "lucida grande", verdana, arial, sans-serif; 
     173} 
     174div.comments ol .comment-author { 
     175        font-weight: bold; 
     176        font-size:110%; 
     177} 
     178div#trackbacks-list ol .comment-author { 
     179        font-weight: normal; 
     180        font-size:100%; 
     181} 
     182div#trackbacks-list ol .comment-author a{ 
     183        font-weight:bold; 
     184} 
     185div.comments ol li, div.comments-list ol li.alt { 
     186        list-style: none; 
     187        margin: 0; 
     188        padding: 15px 10px 6px; 
     189} 
     190div.comments ol li.bypostauthor { 
     191        background:#dbe8f2; 
     192        margin: 0; 
     193        padding: 15px 10px 6px; 
     194} 
     195div.comments ol cite, div.comments ol cite a { 
     196        font-weight: bold; 
     197        font-style: normal; 
     198        font-size: 1.1em; 
     199} 
     200div.comments ol p { 
     201        line-height: 1.5em; 
     202        margin: 10px 5px 10px 0; 
     203        text-transform: none; 
     204} 
     205form#commentform p { 
     206        font-family: "lucida grande", verdana, arial, sans-serif; 
     207        margin: 5px 0; 
     208} 
     209span.required { 
     210        color:#c30; 
     211} 
     212.comment-meta { 
     213        display: block; 
     214        font-weight: normal; 
     215        margin: 3px 0 0 0; 
     216} 
     217div.sidebar { 
     218        font: 1em "lucida grande", verdana, arial, sans-serif; 
     219        margin-left: 535px; 
     220        padding: 0 0 0 10px; 
     221        width: 200px; 
     222} 
     223.widget { 
     224        width: 100%; 
     225        overflow: hidden; 
     226} 
     227div#primary { 
     228        margin-top: 50px; 
     229} 
     230small, div.sidebar ul ul li, div.sidebar ul ol li, .nocomments, .entry-meta, blockquote, strike { 
     231        color: #777; 
     232} 
     233code, pre { 
     234        font: 1em/140% "courier new", courier, monospace; 
     235} 
     236acronym, abbr, span.caps { 
     237        cursor: help; 
     238        font-size: 0.9em; 
     239        letter-spacing: .07em; 
     240} 
     241a, h2 a:hover, h3 a:hover { 
     242        color: #06c; 
     243        text-decoration: none; 
     244} 
     245a:hover { 
     246        color: #147; 
     247        text-decoration: underline; 
     248} 
     249#wp-calendar #prev a { 
     250        font-size: 9pt; 
     251        padding-left: 10px; 
     252        text-align: left; 
     253} 
     254#wp-calendar a { 
     255        text-decoration: none; 
     256        display: block; 
     257} 
     258#wp-calendar caption { 
     259        font: bold 1.3em "lucida grande", verdana, arial, sans-serif; 
     260        text-align: center; 
     261        width: 100%; 
     262} 
     263#wp-calendar th { 
     264        font-style: normal; 
     265        text-transform: capitalize; 
     266} 
     267div.post { 
     268        margin: 0 0 40px; 
     269        text-align: justify; 
     270} 
     271body.attachment p.smallattachment { 
     272        float: left; 
     273        margin: 5px 5px 5px 0; 
     274        text-align: center; 
     275        width: 128px; 
     276} 
     277body.attachment h3.entry-title,body.attachment p.attachment-name{ 
     278        text-align:center; 
     279} 
     280body.attachment p.attachment { 
     281        margin: 5px 0 -5px 0; 
     282        text-align: center; 
     283} 
     284body.single div.protected input { 
     285        width: 150px; 
     286        margin: 5px 0 0 0; 
     287} 
     288div.protected .entry-content,.nopassword { 
     289        margin:10px 0 0 0; 
     290        color: #777; 
     291        font-size:0.9em; 
     292        text-align:center; 
     293} 
     294div.comments h3 { 
     295        margin: 40px auto 20px; 
     296        padding: 0; 
     297} 
     298p img { 
     299        max-width: 100%; 
     300        padding: 0; 
     301} 
     302div.page-link { 
     303        font-weight:bold; 
     304} 
     305.centered { 
     306        display: block; 
     307        margin: 0 auto; 
     308} 
     309.alignright { 
     310        display: inline; 
     311        margin: 0 0 2px 7px; 
     312        padding: 4px; 
     313} 
     314.alignleft { 
     315        display: inline; 
     316        margin: 0 7px 2px 0; 
     317        padding: 4px; 
     318} 
     319html>body div.entry-content ul { 
     320        list-style: none; 
     321        margin-left: 0; 
     322        padding: 0 0 0 10px; 
     323        text-indent: -10px; 
     324} 
     325html>body div.entry-content li { 
     326        margin: 7px 0 8px 10px; 
     327} 
     328div.entry-content ul li:before, div.sidebar ul ul li:before,div.entry-content ul#archives-page li ul li:before,div.entry-content ul#links-page li ul li:before { 
     329        content: "\00BB \0020"; 
     330} 
     331div.entry-content ul#archives-page li:before,div.entry-content ul#links-page li:before { 
     332        content:""; 
     333} 
     334div.entry-content ol { 
     335        margin: 0; 
     336        padding: 0 0 0 35px; 
     337} 
     338div.entry-meta ul, div.entry-meta li { 
     339        display: inline; 
     340        list-style: none; 
     341} 
     342div.sidebar ul li { 
     343        list-style: none; 
     344        margin-bottom: 15px; 
     345} 
     346div.sidebar ul p, div.sidebar ul select { 
     347        margin: 5px 0 8px; 
     348} 
     349div.sidebar ul ul, div.sidebar ul ol { 
     350        margin: 5px 0 0 10px; 
     351} 
     352div.sidebar ul ul ul, div.sidebar ul ol { 
     353        margin: 0 0 0 10px; 
     354} 
     355ol li, div.sidebar ul ol li { 
     356        list-style: decimal outside; 
     357} 
     358div.sidebar ul ul li, div.sidebar ul ol li { 
     359        margin: 3px 0 0; 
     360        padding: 0; 
     361} 
     362form#searchform { 
     363        margin: 0 0 10px 0; 
     364        padding: 5px 3px; 
     365        text-align: center; 
     366} 
     367div.sidebar form#searchform #s { 
     368        width: 100px; 
     369        padding: 2px; 
     370} 
     371div.sidebar form#searchsubmit { 
     372        padding: 1px; 
     373} 
     374select { 
     375        width: 130px; 
     376} 
     377form#commentform input { 
     378        margin: 5px 5px 1px 0; 
     379        padding: 2px; 
     380        width: 170px; 
     381} 
     382form#commentform textarea { 
     383        padding: 2px; 
     384        width: 98%; 
     385} 
     386form#commentform #submit { 
     387        float: right; 
     388        margin: 5px 0 0 0; 
     389} 
     390div.comments ol { 
     391        padding: 0; 
     392        text-align: justify; 
     393} 
     394.nocomments { 
     395        margin: 0; 
     396        padding: 0; 
     397        text-align: center; 
     398} 
     399#wp-calendar { 
     400        empty-cells: show; 
     401        margin: 10px auto 0; 
     402        width: 155px; 
     403} 
     404#wp-calendar #next a { 
     405        padding-right: 10px; 
     406        text-align: right; 
     407} 
     408#wp-calendar td { 
     409        text-align: center; 
     410        padding: 3px 0; 
     411} 
     412#wp-calendar td.pad:hover { 
     413        background: #fff; 
     414} 
     415acronym,abbr { 
     416        border-bottom: 1px dashed #999; 
     417} 
     418blockquote { 
     419        border-left: 5px solid #ddd; 
     420        margin: 15px 30px 0 10px; 
     421        padding-left: 20px; 
     422} 
     423blockquote cite { 
     424        display: block; 
     425        margin: 5px 0 0; 
     426} 
     427a img { 
     428        border: none; 
     429} 
     430div.navigation { 
     431        display: block; 
     432        margin: 50px 0 10px 0; 
     433        text-align: center; 
     434} 
     435body.single div.navigation { 
     436        margin: 15px 0 50px 0; 
     437        height:1em; 
     438} 
     439div#nav-above, body.single div#nav-below { 
     440        display: none; 
     441} 
     442body.single div#nav-above { 
     443        display: block; 
     444} 
     445body.single .post, div.sidebar form { 
     446        margin: 0; 
     447} 
     448div.entry-content ol li, div.sidebar ul, div.sidebar ul ol { 
     449        margin: 0; 
     450        padding: 0; 
     451} 
     452div.entry-content form, .center { 
     453        text-align: center; 
     454} 
     455.alignright, .nav-next { 
     456        float: right; 
     457} 
     458.alignleft, .nav-previous { 
     459        float: left; 
     460} 
     461div#menu ul ul, div.skip-link, body.single div.sidebar, hr { 
     462        display: none; 
     463} 
     464#linkcats>li:before { 
     465        content: ""; 
     466} 
     467/* 
     468KUBRICK v1.1 for SANDBOX 
     469by ANDY SKELTON, http://andy.wordpress.com/ 
     470*/ 
     471 No newline at end of file 
  • wp-content/themes/sandbox/sandbox-layouts/2c-l.css

     
     1/* 
     2LAYOUT: Two-Column (Left) 
     3DESCRIPTION: Two-column fluid layout with one sidebars left of content 
     4*/ 
     5div#container { 
     6        float: right; 
     7        margin: 0 0 0 -200px; 
     8        width: 100%; 
     9} 
     10div#content { 
     11        margin: 0 0 0 200px; 
     12} 
     13div.sidebar { 
     14        float: left; 
     15        width: 180px; 
     16        overflow: hidden; 
     17} 
     18div#secondary { 
     19        clear: left; 
     20} 
     21div#footer { 
     22        clear: both; 
     23        width: 100%; 
     24} 
     25 No newline at end of file 
  • wp-content/themes/sandbox/sandbox-layouts/3c-l.css

     
     1/* 
     2LAYOUT: Three-Column (Left) 
     3DESCRIPTION: Three-column fluid layout with two sidebars left of content 
     4*/ 
     5div#container { 
     6        float: right; 
     7        margin: 0 0 0 -400px; 
     8        width: 100%; 
     9} 
     10div#content { 
     11        margin: 0 0 0 400px; 
     12} 
     13div.sidebar { 
     14        float: right; 
     15        overflow: hidden; 
     16        width: 180px; 
     17} 
     18div#footer { 
     19        clear: both; 
     20        width: 100% 
     21} 
     22 No newline at end of file 
  • wp-content/themes/sandbox/sandbox-layouts/1c-b.css

     
     1/* 
     2LAYOUT: One-Column  
     3DESCRIPTION: One-column fluid layout with sidebars stacked in two columns below content 
     4*/ 
     5div.sidebar { 
     6        float: left; 
     7        overflow: hidden; 
     8        padding: 10px 1.9%; 
     9        width: 46%; 
     10} 
     11div#primary { 
     12        clear: both; 
     13} 
     14div#footer { 
     15        clear: left; 
     16        width: 100%; 
     17} 
     18 No newline at end of file 
  • wp-content/themes/sandbox/sandbox-layouts/layouts-readme.txt

     
     1--- Layout Style Sheets --- 
     2This folder contains the original Sandbox layouts and examples of base layouts.  
     3 
     4You can cut and paste these into your own style sheet, use them as references, or completely ignore them. 
     5 No newline at end of file 
  • wp-content/themes/sandbox/sandbox-layouts/2c-r.css

     
     1/* 
     2LAYOUT: Two-Column (Right) 
     3DESCRIPTION: Two-column fluid layout with one sidebars right of content 
     4*/ 
     5div#container { 
     6        float: left; 
     7        margin: 0 0 0 -200px; 
     8        width: 100%; 
     9} 
     10div#content { 
     11        margin: 0 0 0 200px; 
     12} 
     13div.sidebar { 
     14        float: right; 
     15        overflow: hidden; 
     16        width: 180px; 
     17} 
     18div#secondary   { 
     19        clear: right; 
     20} 
     21div#footer { 
     22        clear: both; 
     23        width: 100%; 
     24} 
     25 No newline at end of file 
  • wp-content/themes/sandbox/sandbox-layouts/3c-b.css

     
     1/* 
     2LAYOUT: Three-Column 
     3DESCRIPTION: Three-column fluid layout with two sidebars on both sides of content 
     4*/ 
     5div#container { 
     6    &nb