WordPress.org

Make WordPress Core

Ticket #4517: 4517-bundle-sandbox-1.2.diff

File 4517-bundle-sandbox-1.2.diff, 220.6 KB (added by kalgriffen, 6 years ago)

Include Sandbox 1.2 as a bundled theme and add it to wp-includes/theme.php. Note: the screenshot.png will have to be added manually.

  • 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: 1.2 
     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.required{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 the_tags(__('<span class="tag-links">Tagged ', 'sandbox'), ", ", "</span>\n\t\t\t\t\t<span class=\"meta-sep\">|</span>\n") ?> 
     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                </div><!-- #content --> 
     42        </div><!-- #container --> 
     43 
     44<?php get_sidebar() ?> 
     45<?php get_footer() ?> 
     46 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                                        <span class="tag-links"><?php the_tags(__('Tagged ', 'sandbox'), ', ') ?></span> 
     30                                        <span class="meta-sep">|</span> 
     31<?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"); ?> 
     32                                        <span class="comments-link"><?php comments_popup_link(__('Comments (0)', 'sandbox'), __('Comments (1)', 'sandbox'), __('Comments (%)', 'sandbox')) ?></span> 
     33                                </div> 
     34                        </div><!-- .post --> 
     35 
     36<?php endwhile; ?> 
     37 
     38                        <div id="nav-below" class="navigation"> 
     39                                <div class="nav-previous"><?php next_posts_link(__('<span class="meta-nav">&laquo;</span> Older posts', 'sandbox')) ?></div> 
     40                                <div class="nav-next"><?php previous_posts_link(__('Newer posts <span class="meta-nav">&raquo;</span>', 'sandbox')) ?></div> 
     41                        </div> 
     42 
     43<?php else : ?> 
     44 
     45                        <div id="post-0" class="post noresults"> 
     46                                <h2 class="entry-title"><?php _e('Nothing Found', 'sandbox') ?></h2> 
     47                                <div class="entry-content"> 
     48                                        <p><?php _e('Sorry, but nothing matched your search criteria. Please try again with some different keywords.', 'sandbox') ?></p> 
     49                                </div> 
     50                                <form id="noresults-searchform" method="get" action="<?php bloginfo('home') ?>"> 
     51                                        <div> 
     52                                                <input id="noresults-s" name="s" type="text" value="<?php echo wp_specialchars(stripslashes($_GET['s']), true) ?>" size="40" /> 
     53                                                <input id="noresults-searchsubmit" name="searchsubmit" type="submit" value="<?php _e('Find', 'sandbox') ?>" /> 
     54                                        </div> 
     55                                </form> 
     56                        </div><!-- .post --> 
     57 
     58<?php endif; ?> 
     59 
     60                </div><!-- #content --> 
     61        </div><!-- #container --> 
     62 
     63<?php get_sidebar() ?> 
     64<?php get_footer() ?> 
     65 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="error404-searchform" method="get" action="<?php bloginfo('home') ?>"> 
     12                                        <div> 
     13                                                <input id="error404-s" name="s" type="text" value="<?php echo wp_specialchars(stripslashes($_GET['s']), true) ?>" size="40" /> 
     14                                                <input id="error404-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/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 wp_link_pages('before=<div class="page-link">' .__('Pages:', 'sandbox') . '&after=</div>') ?> 
     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 the_tags(__('<span class="tag-links">Tagged ', 'sandbox'), ", ", "</span>\n\t\t\t\t\t<span class=\"meta-sep\">|</span>\n") ?> 
     26<?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"); ?> 
     27                                        <span class="comments-link"><?php comments_popup_link(__('Comments (0)', 'sandbox'), __('Comments (1)', 'sandbox'), __('Comments (%)', 'sandbox')) ?></span> 
     28                                </div> 
     29                        </div><!-- .post --> 
     30 
     31<?php comments_template() ?> 
     32<?php endwhile ?> 
     33 
     34                        <div id="nav-below" class="navigation"> 
     35                                <div class="nav-previous"><?php next_posts_link(__('<span class="meta-nav">&laquo;</span> Older posts', 'sandbox')) ?></div> 
     36                                <div class="nav-next"><?php previous_posts_link(__('Newer posts <span class="meta-nav">&raquo;</span>', 'sandbox')) ?></div> 
     37                        </div> 
     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/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\">\n\t\t\t<ul>\n"; 
     5        wp_list_pages('title_li=&sort_column=menu_order'); 
     6        echo "\t\t\t</ul>\n\t\t</div>\n"; 
     7} 
     8 
     9// Generates semantic classes for BODY element 
     10function sandbox_body_class( $print = true ) { 
     11        global $wp_query, $current_user; 
     12         
     13        // It's surely a WordPress blog, right? 
     14        $c = array('wordpress'); 
     15 
     16        // Applies the time- and date-based classes (below) to BODY element 
     17        sandbox_date_classes(time(), $c); 
     18 
     19        // Generic semantic classes for what type of content is displayed 
     20        is_home()       ? $c[] = 'home'       : null; 
     21        is_archive()    ? $c[] = 'archive'    : null; 
     22        is_date()       ? $c[] = 'date'       : null; 
     23        is_search()     ? $c[] = 'search'     : null; 
     24        is_paged()      ? $c[] = 'paged'      : null; 
     25        is_attachment() ? $c[] = 'attachment' : null; 
     26        is_404()        ? $c[] = 'four04'     : null; // CSS does not allow a digit as first character 
     27 
     28        // Special classes for BODY element when a single post 
     29        if ( is_single() ) { 
     30                $postID = $wp_query->post->ID; 
     31                the_post(); 
     32 
     33                // Adds 'single' class and class with the post ID 
     34                $c[] = 'single postid-' . $postID; 
     35 
     36                // Adds classes for the month, day, and hour when the post was published 
     37                if ( isset($wp_query->post->post_date) ) 
     38                        sandbox_date_classes(mysql2date('U', $wp_query->post->post_date), $c, 's-'); 
     39 
     40                // Adds category classes for each category on single posts 
     41                if ( $cats = get_the_category() ) 
     42                        foreach ( $cats as $cat ) 
     43                                $c[] = 's-category-' . $cat->slug; 
     44 
     45                // Adds tag classes for each tags on single posts 
     46                if ( $tags = get_the_tags() ) 
     47                        foreach ( $tags as $tag ) 
     48                                $c[] = 's-tag-' . $tag->slug; 
     49 
     50                // Adds MIME-specific classes for attachments 
     51                if ( is_attachment() ) { 
     52                        $the_mime = get_post_mime_type(); 
     53                        $boring_stuff = array("application/", "image/", "text/", "audio/", "video/", "music/"); 
     54                                $c[] = 'attachment-' . str_replace($boring_stuff, "", "$the_mime"); 
     55                } 
     56 
     57                // Adds author class for the post author 
     58                $c[] = 's-author-' . sanitize_title_with_dashes(strtolower(get_the_author_login())); 
     59                rewind_posts(); 
     60        } 
     61 
     62        // Author name classes for BODY on author archives 
     63        else if ( is_author() ) { 
     64                $author = $wp_query->get_queried_object(); 
     65                $c[] = 'author'; 
     66                $c[] = 'author-' . $author->user_nicename; 
     67        } 
     68 
     69        // Category name classes for BODY on category archvies 
     70        else if ( is_category() ) { 
     71                $cat = $wp_query->get_queried_object(); 
     72                $c[] = 'category'; 
     73                $c[] = 'category-' . $cat->slug; 
     74        } 
     75 
     76        // Tag name classes for BODY on tag archives 
     77        else if ( is_tag() ) { 
     78                $tags = $wp_query->get_queried_object(); 
     79                $c[] = 'tag'; 
     80                $c[] = 'tag-' . $tags->slug; // Does not work; however I try to return the tag I get a false. Grrr. 
     81        } 
     82 
     83        // Page author for BODY on 'pages' 
     84        else if ( is_page() ) { 
     85                $pageID = $wp_query->post->ID; 
     86                the_post(); 
     87                $c[] = 'page pageid-' . $pageID; 
     88                $c[] = 'page-author-' . sanitize_title_with_dashes(strtolower(get_the_author('login'))); 
     89                rewind_posts(); 
     90        } 
     91 
     92        // For when a visitor is logged in while browsing 
     93        if ( $current_user->ID ) 
     94                $c[] = 'loggedin'; 
     95 
     96        // Paged classes; for 'page X' classes of index, single, etc. 
     97        if ( ( ( $page = $wp_query->get("paged") ) || ( $page = $wp_query->get("page") ) ) && $page > 1 ) { 
     98                $c[] = 'paged-'.$page.''; 
     99                if ( is_single() ) { 
     100                        $c[] = 'single-paged-'.$page.''; 
     101                } else if ( is_page() ) { 
     102                        $c[] = 'page-paged-'.$page.''; 
     103                } else if ( is_category() ) { 
     104                        $c[] = 'category-paged-'.$page.''; 
     105                } else if ( is_tag() ) { 
     106                        $c[] = 'tag-paged-'.$page.''; 
     107                } else if ( is_date() ) { 
     108                        $c[] = 'date-paged-'.$page.''; 
     109                } else if ( is_author() ) { 
     110                        $c[] = 'author-paged-'.$page.''; 
     111                } else if ( is_search() ) { 
     112                        $c[] = 'search-paged-'.$page.''; 
     113                } 
     114        } 
     115 
     116        // Separates classes with a single space, collates classes for BODY 
     117        $c = join(' ', apply_filters('body_class',  $c)); 
     118 
     119        // And tada! 
     120        return $print ? print($c) : $c; 
     121} 
     122 
     123// Generates semantic classes for each post DIV element 
     124function sandbox_post_class( $print = true ) { 
     125        global $post, $sandbox_post_alt; 
     126 
     127        // hentry for hAtom compliace, gets 'alt' for every other post DIV, describes the post type and p[n] 
     128        $c = array('hentry', "p$sandbox_post_alt", $post->post_type, $post->post_status); 
     129 
     130        // Author for the post queried 
     131        $c[] = 'author-' . sanitize_title_with_dashes(strtolower(get_the_author('login'))); 
     132 
     133        // Category for the post queried 
     134        foreach ( (array) get_the_category() as $cat ) 
     135                $c[] = 'category-' . $cat->slug; 
     136 
     137        // Tags for the post queried 
     138        foreach ( (array) get_the_tags() as $tag ) 
     139                $c[] = 'tag-' . $tag->slug; 
     140 
     141        // For password-protected posts 
     142        if ( $post->post_password ) 
     143                $c[] = 'protected'; 
     144 
     145        // Applies the time- and date-based classes (below) to post DIV 
     146        sandbox_date_classes(mysql2date('U', $post->post_date), $c); 
     147 
     148        // If it's the other to the every, then add 'alt' class 
     149        if ( ++$sandbox_post_alt % 2 ) 
     150                $c[] = 'alt'; 
     151 
     152        // Separates classes with a single space, collates classes for post DIV 
     153        $c = join(' ', apply_filters('post_class', $c)); 
     154 
     155        // And tada! 
     156        return $print ? print($c) : $c; 
     157} 
     158 
     159// Define the num val for 'alt' classes (in post DIV and comment LI) 
     160$sandbox_post_alt = 1; 
     161 
     162// Generates semantic classes for each comment LI element 
     163function sandbox_comment_class( $print = true ) { 
     164        global $comment, $post, $sandbox_comment_alt; 
     165 
     166        // Collects the comment type (comment, trackback), 
     167        $c = array($comment->comment_type); 
     168 
     169        // Counts trackbacks (t[n]) or comments (c[n]) 
     170        if ($comment->comment_type == 'trackback') { 
     171                $c[] = "t$sandbox_comment_alt"; 
     172        } else { 
     173                $c[] = "c$sandbox_comment_alt"; 
     174        } 
     175 
     176        // If the comment author has an id (registered), then print the log in name 
     177        if ( $comment->user_id > 0 ) { 
     178                $user = get_userdata($comment->user_id); 
     179 
     180                // For all registered users, 'byuser'; to specificy the registered user, 'commentauthor+[log in name]' 
     181                $c[] = "byuser comment-author-" . sanitize_title_with_dashes(strtolower($user->user_login)); 
     182                // For comment authors who are the author of the post 
     183                if ( $comment->user_id === $post->post_author ) 
     184                        $c[] = 'bypostauthor'; 
     185        } 
     186 
     187        // If it's the other to the every, then add 'alt' class; collects time- and date-based classes 
     188        sandbox_date_classes(mysql2date('U', $comment->comment_date), $c, 'c-'); 
     189        if ( ++$sandbox_comment_alt % 2 ) 
     190                $c[] = 'alt'; 
     191 
     192        // Separates classes with a single space, collates classes for comment LI 
     193        $c = join(' ', apply_filters('comment_class', $c)); 
     194 
     195        // Tada again! 
     196        return $print ? print($c) : $c; 
     197} 
     198 
     199// Generates time- and date-based classes for BODY, post DIVs, and comment LIs; relative to GMT (UTC) 
     200function sandbox_date_classes($t, &$c, $p = '') { 
     201        $t = $t + (get_option('gmt_offset') * 3600); 
     202        $c[] = $p . 'y' . gmdate('Y', $t); // Year 
     203        $c[] = $p . 'm' . gmdate('m', $t); // Month 
     204        $c[] = $p . 'd' . gmdate('d', $t); // Day 
     205        $c[] = $p . 'h' . gmdate('H', $t); // Hour 
     206} 
     207 
     208// For category lists on category archives: Returns other categories except the current one (redundant) 
     209function sandbox_cats_meow($glue) { 
     210        $current_cat = single_cat_title('', false); 
     211        $separator = "\n"; 
     212        $cats = explode($separator, get_the_category_list($separator)); 
     213 
     214        foreach ( $cats as $i => $str ) { 
     215                if ( strstr($str, ">$current_cat<") ) { 
     216                        unset($cats[$i]); 
     217                        break; 
     218                } 
     219        } 
     220 
     221        if ( empty($cats) ) 
     222                return false; 
     223 
     224        return trim(join($glue, $cats)); 
     225} 
     226 
     227// For tag lists on tag archives: Returns other tags except the current one (redundant) 
     228function sandbox_tag_ur_it($glue) { 
     229        $current_tag = single_tag_title('', '',  false); 
     230        $separator = "\n"; 
     231        $tags = explode($separator, get_the_tag_list("", "$separator", "")); 
     232 
     233        foreach ( $tags as $i => $str ) { 
     234                if ( strstr($str, ">$current_tag<") ) { 
     235                        unset($tags[$i]); 
     236                        break; 
     237                } 
     238        } 
     239 
     240        if ( empty($tags) ) 
     241                return false; 
     242 
     243        return trim(join($glue, $tags)); 
     244} 
     245 
     246 
     247// Widget: Search; to match the Sandbox style and replace Widget plugin default 
     248function widget_sandbox_search($args) { 
     249        extract($args); 
     250        if ( empty($title) ) 
     251                $title = __('Search', 'sandbox'); 
     252?> 
     253                        <?php echo $before_widget ?> 
     254                                <?php echo $before_title ?><label for="s"><?php echo $title ?></label><?php echo $after_title ?> 
     255                                <form id="searchform" method="get" action="<?php bloginfo('home') ?>"> 
     256                                        <div> 
     257                                                <input id="s" name="s" type="text" value="<?php echo wp_specialchars(stripslashes($_GET['s']), true) ?>" size="10" tabindex="1" /> 
     258                                                <input id="searchsubmit" name="searchsubmit" type="submit" value="<?php _e('Find', 'sandbox') ?>" tabindex="2" /> 
     259                                        </div> 
     260                                </form> 
     261                        <?php echo $after_widget ?> 
     262 
     263<?php 
     264} 
     265 
     266// Widget: Meta; to match the Sandbox style and replace Widget plugin default 
     267function widget_sandbox_meta($args) { 
     268        extract($args); 
     269        if ( empty($title) ) 
     270                $title = __('Meta', 'sandbox'); 
     271?> 
     272                        <?php echo $before_widget; ?> 
     273                                <?php echo $before_title . $title . $after_title; ?> 
     274                                <ul> 
     275                                        <?php wp_register() ?> 
     276                                        <li><?php wp_loginout() ?></li> 
     277                                        <?php wp_meta() ?> 
     278                                </ul> 
     279                        <?php echo $after_widget; ?> 
     280<?php 
     281} 
     282 
     283// Widget: RSS links; to match the Sandbox style 
     284function widget_sandbox_rsslinks($args) { 
     285        extract($args); 
     286        $options = get_option('widget_sandbox_rsslinks'); 
     287        $title = empty($options['title']) ? __('RSS Links', 'sandbox') : $options['title']; 
     288?> 
     289                <?php echo $before_widget; ?> 
     290                        <?php echo $before_title . $title . $after_title; ?> 
     291                        <ul> 
     292                                <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> 
     293                                <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> 
     294                        </ul> 
     295                <?php echo $after_widget; ?> 
     296<?php 
     297} 
     298 
     299// Widget: RSS links; element controls for customizing text within Widget plugin 
     300function widget_sandbox_rsslinks_control() { 
     301        $options = $newoptions = get_option('widget_sandbox_rsslinks'); 
     302        if ( $_POST["rsslinks-submit"] ) { 
     303                $newoptions['title'] = strip_tags(stripslashes($_POST["rsslinks-title"])); 
     304        } 
     305        if ( $options != $newoptions ) { 
     306                $options = $newoptions; 
     307                update_option('widget_sandbox_rsslinks', $options); 
     308        } 
     309        $title = htmlspecialchars($options['title'], ENT_QUOTES); 
     310?> 
     311                        <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> 
     312                        <input type="hidden" id="rsslinks-submit" name="rsslinks-submit" value="1" /> 
     313<?php 
     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(array(__('RSS Links', 'sandbox'), 'widgets'), 'widget_sandbox_rsslinks'); 
     336        register_widget_control(array(__('RSS Links', 'sandbox'), 'widgets'), 'widget_sandbox_rsslinks_control', 300, 90); 
     337} 
     338 
     339// Translate, if applicable 
     340load_theme_textdomain('sandbox'); 
     341 
     342// Runs our code at the end to check that everything needed has loaded 
     343add_action('init', 'sandbox_widgets_init'); 
     344 
     345// Adds filters so that things run smoothly 
     346add_filter('archive_meta', 'wptexturize'); 
     347add_filter('archive_meta', 'convert_smilies'); 
     348add_filter('archive_meta', 'convert_chars'); 
     349add_filter('archive_meta', 'wpautop'); 
     350 
     351// Remember: the Sandbox is for play. 
     352?> 
     353 No newline at end of file 
  • 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_categories('title_li=&show_count=0&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 wp_list_bookmarks('title_before=<h3>&title_after=</h3>&show_images=1') ?> 
     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

     
     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" lang="en-us" dir="ltr"> 
     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;letter-spacing:0.1em;margin:0 0 0.5em;text-transform:uppercase;} 
     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                <div id="header"> 
     46                        <h1 id="title">The Sandbox</h1> 
     47                        <div class="readme-version">Version 1.2</div> 
     48                        <div class="readme-subtitle">A theme rich and powerful with dynamic semantic class selectors</div> 
     49                </div><!-- #header --> 
     50                <ol id="menu" class="xoxo"> 
     51                        <li> 
     52                                <h2>Table of contents</h2> 
     53                                <ol> 
     54                                        <li><a href="#introduction" title="Skip to Introduction">Introduction</a></li> 
     55                                        <li><a href="#installing" title="Skip to Installing">Installing</a></li> 
     56                                        <li><a href="#started" title="Skip to Getting started">Getting started</a></li> 
     57                                        <li><a href="#functions" title="Skip to Class functions">Class functions</a> 
     58                                                <ol> 
     59                                                        <li><a href="#body-class" title="Skip to Class functions: sandbox_body_class()"><code>sandbox_body_class()</code></a></li> 
     60                                                        <li><a href="#post-class" title="Skip to Class functions: sandbox_post_class()"><code>sandbox_post_class()</code></a></li> 
     61                                                        <li><a href="#comment-class" title="Skip to Class functions: sandbox_comment_class()"><code>sandbox_comment_class()</code></a></li> 
     62                                                </ol> 
     63                                        </li> 
     64                                        <li><a href="#features" title="Skip to Other features">Other features</a> 
     65                                                <ol> 
     66                                                        <li><a href="#comments" title="Skip to Other features: Comments on pages">Comments on pages</a></li> 
     67                                                        <li><a href="#templates" title="Skip to Other features: Page templates">Page templates</a></li> 
     68                                                </ol> 
     69                                        </li> 
     70                                        <li><a href="#creating" title="Skip to Creating Sandbox templates">Creating a theme template</a></li> 
     71                                        <li><a href="#standards" title="Skip to Web standards">Web standards</a></li> 
     72                                        <li><a href="#microformats" title="Skip to Microformats">Microformats</a></li> 
     73                                        <li><a href="#credits" title="Skip to Credits and thanks">Credits and thanks</a></li> 
     74                                        <li><a href="#license" title="Skip to License">License</a></li> 
     75                                </ol> 
     76                        </li> 
     77                </ol><!-- #menu .xoxo --> 
     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.3.x</li> 
     85                                        <li>Valid <abbr title="eXtensible HyperText Markup Language">XHTML</abbr> 1.0 Transitional</li> 
     86                                        <li>Widgets 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 customize 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 <abbr title="Cascading Style Sheets">CSS</abbr>, <abbr title="eXtensible HyperText Markup Language">XHTML</abbr>, 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 <abbr title="Cascading Style Sheets">CSS</abbr> 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 <a href="http://www.technorait.com/" title="Technorati" rel="external">Technorati</a>). You might be able to improve on our markup, but, well, who wants to work that hard?</p> 
     100                        </li><!-- #introduction --> 
     101                        <li id="installing"> 
     102                                <h2>Installing</h2> 
     103                                <p>The Sandbox theme is installed just like any other WordPress theme. To install this theme:</p> 
     104                                <ol> 
     105                                        <li>Download the <a href="http://www.plaintxt.org/themes/sandbox/" title="The Sandbox for WordPress" rel="me">Sandbox</a></li> 
     106                                        <li>Extract the <code>/sandbox/</code> folder from the archive</li> 
     107                                        <li>Upload this folder to the <code>/wp-contents/themes/</code> directory</li> 
     108                                        <li>Activate the theme in the <i>Dashboard &rsaquo; Presentation</i> menu</li> 
     109                                        <li>Enjoy</li> 
     110                                </ol> 
     111                                <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> 
     112                                <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 if unfamiliar with Subversion.</p> 
     113                        </li><!-- #installing --> 
     114                        <li id="started"> 
     115                                <h2>Getting started</h2> 
     116                                <p>To help beginners get started, example layouts in <code>/sandbox-layouts/</code> have been included. Instructions for using the included layouts and designs can be found in the folder.</p> 
     117                                <p>The simplest way to get started with the Sandbox is to jump right in to <code>style.css</code>, using <abbr title="Cascading Style Sheets">CSS</abbr> to design the appearence of the Sandbox.</p> 
     118                                <p>For help learning <abbr title="Cascading Style Sheets">CSS</abbr>, visit:</p> 
     119                                <ul> 
     120                                        <li><a href="http://www.cssbasics.com/" title="CSS Basics.com" rel="external"><abbr title="Cascading Style Sheets">CSS</abbr> Basics.com</a></li> 
     121                                        <li><a href="http://www.html.net/tutorials/css/" title="HTML.net's CSS Tutorial" rel="external">HTML.net's <abbr title="Cascading Style Sheets">CSS</abbr> Tutorial</a></li> 
     122                                        <li><a href="http://www.htmldog.com/guides/cssbeginner/" title="HTML Dog's CSS Beginner Tutorial" rel="external">HTML Dog's <abbr title="Cascading Style Sheets">CSS</abbr> Beginner Tutorial</a></li> 
     123                                        <li><a href="http://www.stylegala.com/features/css-reference/" title="Stylegala's CSS Reference" rel="external">Stylegala's <abbr title="Cascading Style Sheets">CSS</abbr> Reference</a></li> 
     124                                        <li><a href="http://www.w3schools.com/css/default.asp" title="W3's CSS School" rel="external">W3's <abbr title="Cascading Style Sheets">CSS</abbr> School</a></li> 
     125                                </ul> 
     126                                <p>For Sandbox-related resources, including how-tos, Sandbox-based theme templates, and more, visit:</p> 
     127                                <ul> 
     128                                        <li><a href="http://archgfx.net/" title="archGFX" rel="external">archGFX</a></li> 
     129                                        <li><a href="http://internetducttape.com/" title="InternetDuctTape" rel="external">Internet Duct Tape</a></li> 
     130                                        <li><a href="http://ntuat.wordpress.com/" title="Not (That) Ugly" rel="external">Sandbox Styles at <abbr title="Not (That) Ugly">NTU</abbr></a></li> 
     131                                        <li><a href="http://www.plaintxt.org/" title="plaintxt.org" rel="me">plaintxt.org</a></li> 
     132                                        <li><a href="http://www.sndbx.org/" title="Sandbox Designs Competition" rel="me">Sandbox Designs Competition</a></li> 
     133                                        <li><a href="http://www.sndbx.org/forums/" title="Sandbox Forums" rel="me">Sandbox Forums</a></li> 
     134                                </ul> 
     135                                <p>If you are interested in developing theme templates based on the Sandbox, see <a href="#creating" title="Creating theme templates">Creating theme templates</a> in this document.</p> 
     136                        </li><!-- #started --> 
     137                        <li id="functions"> 
     138                                <h2>Class functions</h2> 
     139                                <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 <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> on the WordPress Codex.</p> 
     140                                <ol> 
     141                                        <li id="body-class"> 
     142                                                <h3><code>sandbox_body_class()</code></h3> 
     143                                                <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> 
     144                                                <pre>&lt;body class="<span>&lt;?php sandbox_body_class() ?&gt;</span>"&gt;</pre> 
     145                                                <p>The chart below lists the semantic classes added to the <code>body</code> tag by this function.</p> 
     146                                                <table id="body-class-table" summary="Classes given to the body element sandbody_body_class()"> 
     147                                                        <thead> 
     148                                                                <tr> 
     149                                                                        <th colspan="3" scope="colgroup"><code>sandbox_body_class()</code></th> 
     150                                                                </tr> 
     151                                                        </thead> 
     152                                                        <tfoot> 
     153                                                                <tr> 
     154                                                                        <th colspan="3" scope="colgroup"><abbr title="Cascading Style Sheets">CSS</abbr> example</th> 
     155                                                                </tr> 
     156                                                                <tr> 
     157                                                                        <td colspan="3" scope="row" abbr="CSS example"><code>body.single div.sidebar { display: none; }</code></td> 
     158                                                                </tr> 
     159                                                        </tfoot> 
     160                                                        <tbody> 
     161                                                                <tr> 
     162                                                                        <th scope="col" abbr="class">Class</th> 
     163                                                                        <th scope="col" abbr="tag">WP Tag</th> 
     164                                                                        <th scope="col" abbr="use">Usage</th> 
     165                                                                </tr> 
     166                                                                <tr class="alt"> 
     167                                                                        <td scope="row">archive</td> 
     168                                                                        <td><code>is_archive()</code></td> 
     169                                                                        <td>When <em>any</em> archive page is displayed, i.e., applies to category-, date-, and author-based archive pages</td> 
     170                                                                </tr> 
     171                                                                <tr> 
     172                                                                        <td scope="row">attachment</td> 
     173                                                                        <td><code>is_attachment()</code></td> 
     174                                                                        <td>When the post subpage containing an attachment is displayed, as set with "Linked to Page" in the post editor</td> 
     175                                                                </tr> 
     176                                                                <tr class="alt"> 
     177                                                                        <td scope="row">attachment-[mime]</td> 
     178                                                                        <td><code>is_attachment()</code></td> 
     179                                                                        <td>For attachment posts (see above), where <i>[mime]</i> is the abbreviated <abbr title="Multipurpose Internet Mail Extensions">MIME</abbr> type, e.g., <code>attachment-jpeg</code></td> 
     180                                                                </tr> 
     181                                                                <tr> 
     182                                                                        <td scope="row">author</td> 
     183                                                                        <td><code>is_author()</code></td> 
     184                                                                        <td>When a author archive page is displayed</td> 
     185                                                                </tr> 
     186                                                                <tr class="alt"> 
     187                                                                        <td scope="row">author-[name]</td> 
     188                                                                        <td><code>is_author()</code></td> 
     189                                                                        <td>When a specific author archive page is displayed, where <i>[name]</i> is the author's login name, e.g., author-admin</td> 
     190                                                                </tr> 
     191                                                                <tr> 
     192                                                                        <td scope="row">author-paged-[n]</td> 
     193                                                                        <td><code>is_author()</code> &amp; <code>is_paged()</code></td> 
     194                                                                        <td>Displays the "paged" number of author archive, where <i>[n]</i> is the paginated number</td> 
     195                                                                </tr> 
     196                                                                <tr class="alt"> 
     197                                                                        <td scope="row">category</td> 
     198                                                                        <td><code>is_category()</code></td> 
     199                                                                        <td>When a category archive page is displayed</td> 
     200                                                                </tr> 
     201                                                                <tr> 
     202                                                                        <td scope="row">category-[name]</td> 
     203                                                                        <td><code>is_category()</code></td> 
     204                                                                        <td>For a specific category, where <i>[name]</i> is the category slug, e.g., <code>category-useful-links</code></td> 
     205                                                                </tr> 
     206                                                                <tr class="alt"> 
     207                                                                        <td scope="row">category-paged-[n]</td> 
     208                                                                        <td><code>is_category()</code> &amp; <code>is_paged()</code></td> 
     209                                                                        <td>Displays the "paged" number of category archive, where <i>[n]</i> is the paginated number</td> 
     210                                                                </tr> 
     211                                                                <tr> 
     212                                                                        <td scope="row">d01&ndash;31</td> 
     213                                                                        <td><code>gmdate('d')</code></td> 
     214                                                                        <td>The current day of when the page is displayed (Offset to GMT)</td> 
     215                                                                </tr> 
     216                                                                <tr class="alt"> 
     217                                                                        <td scope="row">date</td> 
     218                                                                        <td><code>is_date()</code></td> 
     219                                                                        <td>When a date archive page is displayed, e.g., by month, by year</td> 
     220                                                                </tr> 
     221                                                                <tr> 
     222                                                                        <td scope="row">date-paged-[n]</td> 
     223                                                                        <td><code>is_date()</code> &amp; <code>is_paged()</code></td> 
     224                                                                        <td>Displays the "paged" number of date-based archive, where <i>[n]</i> is the paginated number</td> 
     225                                                                </tr> 
     226                                                                <tr class="alt"> 
     227                                                                        <td scope="row">h00&ndash;24</td> 
     228                                                                        <td><code>gmdate('h')</code></td> 
     229                                                                        <td>The current hour of when the page is displayed (Offset to GMT)</td> 
     230                                                                </tr> 
     231                                                                <tr> 
     232                                                                        <td scope="row">four04</td> 
     233                                                                        <td><code>is_404()</code></td> 
     234                                                                        <td>When a request results in zero posts, i.e., a 404 error page</td> 
     235                                                                </tr> 
     236                                                                <tr class="alt"> 
     237                                                                        <td scope="row">home</td> 
     238                                                                        <td><code>is_home()</code></td> 
     239                                                                        <td>When the home page is displayed</td> 
     240                                                                </tr> 
     241                                                                <tr> 
     242                                                                        <td scope="row">m00&ndash;12</td> 
     243                                                                        <td><code>gmdate('m')</code></td> 
     244                                                                        <td>The current month of when the page is displayed (Offset to GMT)</td> 
     245                                                                </tr> 
     246                                                                <tr class="alt"> 
     247                                                                        <td scope="row">loggedin</td> 
     248                                                                        <td>n/a</td> 
     249                                                                        <td>When the page is displayed by a logged-in user</td> 
     250                                                                </tr> 
     251                                                                <tr> 
     252                                                                        <td scope="row">page</td> 
     253                                                                        <td><code>is_page()</code></td> 
     254                                                                        <td>When a page is displayed</td> 
     255                                                                </tr> 
     256                                                                <tr class="alt"> 
     257                                                                        <td scope="row">page-author-[name]</td> 
     258                                                                        <td><code>is_page()</code></td> 
     259                                                                        <td>For a page by a specific author, where <i>[name]</i> is the user's login name, e.g., <code>page-author-admin</code></td> 
     260                                                                </tr> 
     261                                                                <tr> 
     262                                                                        <td scope="row">page-paged-[n]</td> 
     263                                                                        <td><code>is_page()</code> &amp; <code>is_paged()</code></td> 
     264                                                                        <td>Displays the "paged" number of pages, where <i>[n]</i> is the paginated number</td> 
     265                                                                </tr> 
     266                                                                <tr class="alt"> 
     267                                                                        <td scope="row">paged</td> 
     268                                                                        <td><code>is_paged()</code></td> 
     269                                                                        <td>When whatever is displayed is "paged," e.g., page 2 of the index</td> 
     270                                                                </tr> 
     271                                                                <tr> 
     272                                                                        <td scope="row">paged-[n]</td> 
     273                                                                        <td><code>is_paged()</code></td> 
     274                                                                        <td>Displays the "paged" number, where <i>[n]</i> is the paginated number, e.g., <code>paged-3</code> for third page of index</td> 
     275                                                                </tr> 
     276                                                                <tr class="alt"> 
     277                                                                        <td scope="row">pageid-[n]</td> 
     278                                                                        <td><code>is_page()</code></td> 
     279                                                                        <td>Displays the page ID number of queried page, where <i>[n]</i> is the page ID, e.g., <code>pageid-20</code></td> 
     280                                                                </tr> 
     281                                                                <tr> 
     282                                                                        <td scope="row">postid-[n]</td> 
     283                                                                        <td><code>is_single()</code></td> 
     284                                                                        <td>Displays the post ID number of queried post, where <i>[n]</i> is the post ID, e.g., <code>postid-20</code></td> 
     285                                                                </tr> 
     286                                                                <tr class="alt"> 
     287                                                                        <td scope="row">search</td> 
     288                                                                        <td><code>is_search()</code></td> 
     289                                                                        <td>When the results of a search are displayed</td> 
     290                                                                </tr> 
     291                                                                <tr> 
     292                                                                        <td scope="row">single</td> 
     293                                                                        <td><code>is_single()</code></td> 
     294                                                                        <td>When a single post is displayed</td> 
     295                                                                </tr> 
     296                                                                <tr class="alt"> 
     297                                                                        <td scope="row">s-author-[name]</td> 
     298                                                                        <td><code>is_single()</code> &amp; <code>is_author()</code></td> 
     299                                                                        <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> 
     300                                                                </tr> 
     301                                                                <tr> 
     302                                                                        <td scope="row">s-category-[name]</td> 
     303                                                                        <td><code>is_single()</code> &amp; <code>is_category()</code></td> 
     304                                                                        <td>For a single post published in a specific category, where <i>[name]</i> is the category slug, e.g., <code>s-category-news</code></td> 
     305                                                                </tr> 
     306                                                                <tr class="alt"> 
     307                                                                        <td scope="row">s-d01&ndash;31</td> 
     308                                                                        <td><code>gmdate('d')</code></td> 
     309                                                                        <td>For a single post published on a specific day (Offset to GMT)</td> 
     310                                                                </tr> 
     311                                                                <tr> 
     312                                                                        <td scope="row">s-h00&ndash;24</td> 
     313                                                                        <td><code>gmdate('h')</code></td> 
     314                                                                        <td>For a single post published at a specific hour (Offset to GMT)</td> 
     315                                                                </tr> 
     316                                                                <tr class="alt"> 
     317                                                                        <td scope="row">s-m00&ndash;12</td> 
     318                                                                        <td><code>gmdate('m')</code></td> 
     319                                                                        <td>For a single post published in a specific month (Offset to GMT)</td> 
     320                                                                </tr> 
     321                                                                <tr> 
     322                                                                        <td scope="row">s-tag-[name]</td> 
     323                                                                        <td><code>is_single()</code> &amp; <code>is_tag()</code></td> 
     324                                                                        <td>For a single post published with a specific tag, where <i>[name]</i> is the tag slug, e.g., <code>s-category-foo-bar</code></td> 
     325                                                                </tr> 
     326                                                                <tr class="alt"> 
     327                                                                        <td scope="row">s-y2007</td> 
     328                                                                        <td><code>gmdate('Y')</code></td> 
     329                                                                        <td>For a single post published in a specific year (Offset to GMT)</td> 
     330                                                                </tr> 
     331                                                                <tr> 
     332                                                                        <td scope="row">tag</td> 
     333                                                                        <td><code>is_tag()</code></td> 
     334                                                                        <td>When a tag archive page is displayed</td> 
     335                                                                </tr> 
     336                                                                <tr class="alt"> 
     337                                                                        <td scope="row">tag-[name]</td> 
     338                                                                        <td><code>is_tag()</code></td> 
     339                                                                        <td>For a specific tag, where <i>[name]</i> is the tag slug, e.g., <code>tag-foo-bar</code></td> 
     340                                                                </tr> 
     341                                                                <tr> 
     342                                                                        <td scope="row">tag-paged-[n]</td> 
     343                                                                        <td><code>is_tag()</code> &amp; <code>is_paged()</code></td> 
     344                                                                        <td>Displays the "paged" number of tag archive, where <i>[n]</i> is the paginated number</td> 
     345                                                                </tr> 
     346                                                                <tr class="alt"> 
     347                                                                        <td scope="row">wordpress</td> 
     348                                                                        <td>n/a</td> 
     349                                                                        <td>When anything is displayed; a class that is always applied</td> 
     350                                                                </tr> 
     351                                                                <tr> 
     352                                                                        <td scope="row">y2007</td> 
     353                                                                        <td><code>gmdate('Y')</code></td> 
     354                                                                        <td>The current year of when the page is display (Offset to GMT)</td> 
     355                                                                </tr> 
     356                                                        </tbody> 
     357                                                </table><!-- #body-class-table --> 
     358                                        </li><!-- #body-class --> 
     359                                        <li id="post-class"> 
     360                                                <h3><code>sandbox_post_class()</code></h3> 
     361                                                <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> 
     362                                                <pre>&lt;div id="post-&lt;?php the_ID(); ?&gt;" class="<span>&lt;?php sandbox_post_class() ?&gt;</span>"&gt;</pre> 
     363                                                <p>The chart below lists the semantic classes added to each post <code>div</code> element by this function.</p> 
     364                                                <table id="post-class-table" summary="Classes given to individual posts by sandbody_post_class()"> 
     365                                                        <thead> 
     366                                                                <tr> 
     367                                                                        <th colspan="3" scope="colgroup"><code>sandbox_post_class()</code></th> 
     368                                                                </tr> 
     369                                                        </thead> 
     370                                                        <tfoot> 
     371                                                                <tr> 
     372                                                                        <th colspan="3" scope="colgroup"><abbr title="Cascading Style Sheets">CSS</abbr> example</th> 
     373                                                                </tr> 
     374                                                                <tr> 
     375                                                                        <td colspan="3" scope="row" abbr="CSS example"><code>div.category-news .entry-title { background: url('images/news.png'); }</code></td> 
     376                                                                </tr> 
     377                                                        </tfoot> 
     378                                                        <tbody> 
     379                                                                <tr> 
     380                                                                        <th scope="col" abbr="class">Class</th> 
     381                                                                        <th scope="col" abbr="tag">WP Tag</th> 
     382                                                                        <th scope="col" abbr="use">Usage</th> 
     383                                                                </tr> 
     384                                                                <tr class="alt"> 
     385                                                                        <td scope="row">alt</td> 
     386                                                                        <td>n/a</td> 
     387                                                                        <td>For odd-numbered posts, e.g., for the 1<sup>st</sup>, 3<sup>rd</sup>, 5<sup>th</sup> posts</td> 
     388                                                                </tr> 
     389                                                                <tr> 
     390                                                                        <td scope="row">author-[name]</td> 
     391                                                                        <td><code>is_author()</code></td> 
     392                                                                        <td>For any specific author, where <i>[name]</i> is the user's login name, e.g., <code>author-admin</code></td> 
     393                                                                </tr> 
     394                                                                <tr class="alt"> 
     395                                                                        <td scope="row">category-[name]</td> 
     396                                                                        <td><code>is_category()</code></td> 
     397                                                                        <td>For any specific category, where <i>[name]</i> is the category slug, e.g., <code>category-news</code></td> 
     398                                                                </tr> 
     399                                                                <tr> 
     400                                                                        <td scope="row">d01&ndash;31</td> 
     401                                                                        <td><code>gmdate('d')</code></td> 
     402                                                                        <td>For a post published on a specific day (Offset to GMT)</td> 
     403                                                                </tr> 
     404                                                                <tr class="alt"> 
     405                                                                        <td scope="row">draft</td> 
     406                                                                        <td>n/a</td> 
     407                                                                        <td>For a post saved as a draft, as contrasted with an published post</td> 
     408                                                                </tr> 
     409                                                                <tr> 
     410                                                                        <td scope="row">h00&ndash;24</td> 
     411                                                                        <td><code>gmdate('h')</code></td> 
     412                                                                        <td>For a post published at a specific hour (Offset to GMT)</td> 
     413                                                                </tr> 
     414                                                                <tr class="alt"> 
     415                                                                        <td scope="row">hentry</td> 
     416                                                                        <td>n/a</td> 
     417                                                                        <td>For the hAtom 0.1 specification, applied every post</td> 
     418                                                                </tr> 
     419                                                                <tr> 
     420                                                                        <td scope="row">m00&ndash;12</td> 
     421                                                                        <td><code>gmdate('m')</code></td> 
     422                                                                        <td>For a post published in a specific month (Offset to GMT)</td> 
     423                                                                </tr> 
     424                                                                <tr class="alt"> 
     425                                                                        <td scope="row">p[n]</td> 
     426                                                                        <td>n/a</td> 
     427                                                                        <td>For counting posts relative to the top of the page, where <i>[n]</i> is the number, e.g., <code>p1</code> for the first post, <code>p2</code> for the second, <code>p3</code> for the third</td> 
     428                                                                </tr> 
     429                                                                <tr> 
     430                                                                        <td scope="row">page</td> 
     431                                                                        <td>n/a</td> 
     432                                                                        <td>A general class, applied to every page</td> 
     433                                                                </tr> 
     434                                                                <tr class="alt"> 
     435                                                                        <td scope="row">post</td> 
     436                                                                        <td>n/a</td> 
     437                                                                        <td>A general class, applied to every post</td> 
     438                                                                </tr> 
     439                                                                <tr> 
     440                                                                        <td scope="row">private</td> 
     441                                                                        <td>n/a</td> 
     442                                                                        <td>For a post that has been saved as private</td> 
     443                                                                </tr> 
     444                                                                <tr class="alt"> 
     445                                                                        <td scope="row">protected</td> 
     446                                                                        <td>n/a</td> 
     447                                                                        <td>For a post protected by a password</td> 
     448                                                                </tr> 
     449                                                                <tr> 
     450                                                                        <td scope="row">publish</td> 
     451                                                                        <td>n/a</td> 
     452                                                                        <td>For any published post, as contrasted with an unpublished draft</td> 
     453                                                                </tr> 
     454                                                                <tr class="alt"> 
     455                                                                        <td scope="row">tag-[name]</td> 
     456                                                                        <td><code>is_tag()</code></td> 
     457                                                                        <td>For any specific tag, where <i>[name]</i> is the tag slug, e.g., <code>tag-foo-bar</code></td> 
     458                                                                </tr> 
     459                                                                <tr> 
     460                                                                        <td scope="row">y2007</td> 
     461                                                                        <td><code>gmdate('Y')</code></td> 
     462                                                                        <td>For a post published in a certain year (Offset to GMT)</td> 
     463                                                                </tr> 
     464                                                        </tbody> 
     465                                                </table><!-- #post-class-table --> 
     466                                        </li><!-- #post-class --> 
     467                                        <li id="comment-class"> 
     468                                                <h3><code>sandbox_comment_class()</code></h3> 
     469                                                <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> 
     470                                                <pre>&lt;li id="comment-&lt;?php comment_ID(); ?&gt;" class="<span>&lt;?php sandbox_comment_class() ?&gt;</span>"&gt;</pre> 
     471                                                <p>The chart below lists the semantic classes added to each comment <code>li</code> element by this function.</p> 
     472                                                <table id="comment-class-table" summary="Classes given to individual comments by sandbody_comment_class()"> 
     473                                                        <thead> 
     474                                                                <tr> 
     475                                                                        <th colspan="3" scope="colgroup"><code>sandbox_comment_class()</code></th> 
     476                                                                </tr> 
     477                                                        </thead> 
     478                                                        <tfoot> 
     479                                                                <tr> 
     480                                                                        <th colspan="3" scope="colgroup"><abbr title="Cascading Style Sheets">CSS</abbr> example</th> 
     481                                                                </tr> 
     482                                                                <tr> 
     483                                                                        <td colspan="3" scope="row" abbr="CSS example"><code>div.comments li.bypostauthor { border: 1px solid red; }</code></td> 
     484                                                                </tr> 
     485                                                        </tfoot> 
     486                                                        <tbody> 
     487                                                                <tr> 
     488                                                                        <th scope="col" abbr="class">Class</th> 
     489                                                                        <th scope="col" abbr="tag">WP Tag</th> 
     490                                                                        <th scope="col" abbr="use">Usage</th> 
     491                                                                </tr> 
     492                                                                <tr class="alt"> 
     493                                                                        <td scope="row">alt</td> 
     494                                                                        <td>n/a</td> 
     495                                                                        <td>For odd-numbered comments, e.g., for the 1<sup>st</sup>, 3<sup>rd</sup>, 5<sup>th</sup> comments</td> 
     496                                                                </tr> 
     497                                                                <tr> 
     498                                                                        <td scope="row">bypostauthor</td> 
     499                                                                        <td>n/a</td> 
     500                                                                        <td>When the comment author is also the post author</td> 
     501                                                                </tr> 
     502                                                                <tr class="alt"> 
     503                                                                        <td scope="row">byuser</td> 
     504                                                                        <td>n/a</td> 
     505                                                                        <td>For comments by registered users</td> 
     506                                                                </tr> 
     507                                                                <tr> 
     508                                                                        <td scope="row">c-h00&ndash;24</td> 
     509                                                                        <td><code>gmdate('h')</code></td> 
     510                                                                        <td>For a comment posted at a specific hour (Offset to GMT)</td> 
     511                                                                </tr> 
     512                                                                <tr class="alt"> 
     513                                                                        <td scope="row">c[n]</td> 
     514                                                                        <td>n/a</td> 
     515                                                                        <td>For counting comments relative to the first, where <i>[n]</i> is the number, e.g., <code>c1</code> for the first comment, <code>c2</code> for the second, <code>c3</code> for the third</td> 
     516                                                                </tr> 
     517                                                                <tr> 
     518                                                                        <td scope="row">c-d01&ndash;31</td> 
     519                                                                        <td><code>gmdate('d')</code></td> 
     520                                                                        <td>For a comment posted on a specific date (Offset to GMT)</td> 
     521                                                                </tr> 
     522                                                                <tr class="alt"> 
     523                                                                        <td scope="row">c-m00&ndash;12</td> 
     524                                                                        <td><code>gmdate('m')</code></td> 
     525                                                                        <td>For a comment posted in a specific month (Offset to GMT)</td> 
     526                                                                </tr> 
     527                                                                <tr> 
     528                                                                        <td scope="row">c-y2007</td> 
     529                                                                        <td><code>gmdate('Y')</code></td> 
     530                                                                        <td>For a comment posted in a specific year (Offset to GMT)</td> 
     531                                                                </tr> 
     532                                                                <tr class="alt"> 
     533                                                                        <td scope="row">comment</td> 
     534                                                                        <td>n/a</td> 
     535                                                                        <td>A general class, applied to every comment</td> 
     536                                                                </tr> 
     537                                                                <tr> 
     538                                                                        <td scope="row">comment-author-[name]</td> 
     539                                                                        <td>n/a</td> 
     540                                                                        <td>For a comment by a specific registered user, where <i>[name]</i> is the user's login name, e.g., <code>comment-author-susan</code></td> 
     541                                                                </tr> 
     542                                                                <tr class="alt"> 
     543                                                                        <td scope="row">t[n]</td> 
     544                                                                        <td>n/a</td> 
     545                                                                        <td>For counting trackbacks relative to the first, where <i>[n]</i> is the number, e.g., <code>t1</code> for the first trackback, <code>t2</code> for the second, <code>t3</code> for the third</td> 
     546                                                                </tr> 
     547                                                                <tr> 
     548                                                                        <td scope="row">trackback</td> 
     549                                                                        <td>is_trackback()</td> 
     550                                                                        <td>When a comment is a trackback</td> 
     551                                                                </tr> 
     552                                                        </tbody> 
     553                                                </table><!-- #comment-class-table --> 
     554                                        </li><!-- #comment-class --> 
     555                                </ol> 
     556                        </li><!-- #functions --> 
     557                        <li id="features"> 
     558                                <h2>Other features</h2> 
     559                                <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> 
     560                                <ol> 
     561                                        <li id="comments"> 
     562                                                <h3>Comments on pages</h3> 
     563                                                <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> 
     564                                                <p>To enable comments on a page:</p> 
     565                                                <ol> 
     566                                                        <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> 
     567                                                        <li>In the <i>Custom Fields</i> box, add a new key with the exact text <code>comments</code></li> 
     568                                                        <li>Add any text for a value (some text must be included for the key to save)</li> 
     569                                                        <li>Click <i>Add Custom Field</i> to save the key/value</li> 
     570                                                        <li>Comments should now be enabled on that page</li> 
     571                                                </ol> 
     572                                                <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> 
     573                                        </li><!-- #comments --> 
     574                                        <li id="templates"> 
     575                                                <h3>Page templates</h3> 
     576                                                <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> 
     577                                                <p>To use the page templates:</p> 
     578                                                <ol> 
     579                                                        <li>In the <i>Write &rsaquo; Page</i> menu, expand the <i>Page Templates</i> box</li> 
     580                                                        <li>From the drop-down, select the page template to use</li> 
     581                                                        <li>Add a title and text (optional) for the page</li> 
     582                                                        <li>Click <i>Create New Page / Save</i> to publish the page</li> 
     583                                                </ol> 
     584                                                <p>The Archive Page template displays archives by month and by category. The Links Page displays links by link category.</p> 
     585                                        </li><!-- #templates --> 
     586                                </ol> 
     587                        </li><!-- #features --> 
     588                        <li id="creating"> 
     589                                <h2>Creating a theme template</h2> 
     590                                <p>If you are interested in creating a design for public release, consider creating a theme template based on the Sandbox. First read <a href="http://codex.wordpress.org/Designing_Themes_for_Public_Release" title="Designing Themes for Public Release - WordPress Codex" rel="external">Designing Themes for Public Release</a> on the WordPress Codex and seek support on the <a href="http://wordpress.org/support/" title="WordPress.org Support Forums" rel="external">WordPress.org Forums</a>.</p> 
     591                                <p>A theme template is a WordPress theme that uses the <abbr title="Preprocessor Hypertext">PHP</abbr> files, e.g., <code>index.php</code>, <code>single.php</code>, in another theme folder but the <code>style.css</code> of the theme template.</p> 
     592                                <p>For a collection of excellent theme templates designed for the Sandbox, visit the <a href="http://www.sndbx.org/" title="Sandbox Designs Competition" rel="me">Sandbox Designs Competition</a>. In 2007, there were 46 designs submitted in the competition. All are examples of theme templates based on the Sandbox.</p> 
     593                                <p>Creating a theme template is essentially the same as creating a regular theme for WordPress, except you are not modifying any of the theme files and instead providing an alternate <code>style.css</code>.</p> 
     594                                <pre class="css">/* 
     595THEME NAME: My Design 
     596THEME URI: http://www.sndbx.org/ 
     597DESCRIPTION: New curtains for an old room 
     598VERSION: 0.1 
     599AUTHOR: Scott Allan Wallick 
     600AUTHOR Uri: http://scottwallick.com/ 
     601TEMPLATE: sandbox 
     602*/</pre> 
     603                                <p>The line <code>TEMPLATE: sandbox</code> tells WordPress to use the theme files installed in the <code>/sandbox/</code> folder with the &quot;My Design&quot; <code>style.css</code> style sheet.</p> 
     604                                <p>You can read more detailed information about developing <a href="http://codex.wordpress.org/Theme_Development#Theme_Style_Sheet" title="WordPress Theme Development - Theme Style Sheets" rel="external">WordPress Theme Style Sheets</a> on the WordPress Codex.</p> 
     605                        </li><!-- #creating --> 
     606                        <li id="standards"> 
     607                                <h2>Web standards</h2> 
     608                                <p>The Sandbox is compliant with both <abbr title="eXtensible HyperText Markup Language">XHTML</abbr> and <abbr title="Cascading Style Sheets">CSS</abbr> 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> 
     609                                <blockquote cite="http://webstandards.org/learn/faq/" title="What are web standards and why should I use them?"> 
     610                                        <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> 
     611                                        <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> 
     612                                </blockquote> 
     613                                <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> 
     614                        </li><!-- #standards--> 
     615                        <li id="microformats"> 
     616                                <h2>Microformats</h2> 
     617                                <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> 
     618                                <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> 
     619                                <ul> 
     620                                        <li><a href="http://microformats.org/wiki/hatom" title="hAtom - Microformats" rel="external">hAtom</a>: For all blog posts and pages</li> 
     621                                        <li><a href="http://microformats.org/wiki/hcard" title="hCard - Microformats" rel="external">hCard</a>: For all post and comment authors</li> 
     622                                        <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> 
     623                                        <li><a href="http://microformats.org/wiki/xoxo" title="XOXO - Microformats" rel="external">XOXO</a>: For menu, blogroll, archive, and sidebar lists</li> 
     624                                </ul> 
     625                                <p>Microformats help the Sandbox be an especially <abbr title="Plain old semantic HTML">POSH</abbr> WordPress theme. POSH stands for "plain old semantic <abbr title="HyperText Markup Language">HTML</abbr>." It is a term used to refer to best practices of semantic <abbr title="HyperText Markup Language">HTML</abbr> development. The Microformats Wiki <a href="http://microformats.org/wiki/posh" title="POSH - Microformats" rel="external"><abbr title="Plain old semantic HTML">POSH</abbr> article</a> has a working copy of these best practices:</p> 
     626                                <ol> 
     627                                        <li>Validate your markup, meaning it should <em>be</em> valid, not just validated</li> 
     628                                        <li>No use of tables for presentational purposes&mdash;only for tabular data</li> 
     629                                        <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> 
     630                                        <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> 
     631                                        <li>Use well-formed, semantic class names (Sandbox does this for you)</li> 
     632                                </ol> 
     633                                <p>So the Sandbox can be highly <abbr title="Plain old semantic HTML">POSH</abbr>, but the semantic use of <abbr title="HyperText Markup Language">HTML</abbr> elements is completely up to you, the end user. To learn more about semantic <abbr title="HyperText Markup Language">HTML</abbr>, visit <a href="http://www.mezzoblue.com/downloads/markupguide/" title="mezzoblue &sect; Markup Guide">Mezzoblue</a>.</p> 
     634                        </li><!-- #microformats --> 
     635                        <li id="credits"> 
     636                                <h2>Credits and thanks</h2> 
     637                                <p>The Sandbox is a collaboration between <span class="vcard"><a class="url fn n" href="http://andy.wordpress.com/" title="Andy, WordPress.com" rel="friend colleague external"><span class="given-name">Andy</span><span class="family-name"> Skelton</span></a></span> and <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>.</p> 
     638                                <p>Thanks to all those who have provided their assistance, know-how, and generally sound advice on all things Sandbox. You are many. But a <em>special</em> thanks to the follow individuals:</p> 
     639                                <ul> 
     640                                        <li class="vcard"><a class="fn n url" href="http://archgfx.net/" title="archGFX" rel="friend colleague external"><span class="given-name">Adam</span></a></li> 
     641                                        <li class="vcard"><a class="fn n url" href="http://ntuat.wordpress.com/" title="ntu sandbox styles" rel="friend external"><span class="given-name">Carolyn</span></a></li> 
     642                                        <li class="vcard"><a class="fn n url" href="http://internetducttape.com/" title="Internet Duct Tape" rel="friend external"><span class="given-name">Engtech</span></a></li> 
     643                                        <li class="vcard"><a class="fn n url" href="http://lorelle.wordpress.com/" title="Lorell on WordPress" rel="contact external"><span class="given-name">Lorelle</span></a></li> 
     644                                </ul> 
     645                                <p>Thanks are due to those who helped ensure the success of the <a href="http://www.sndbx.org/" title="Sandbox Designs Competition" rel="me">Sandbox Designs Competition</a>:</p> 
     646                                <ul> 
     647                                        <li class="vcard"><a class="fn n url" href="http://www.css4design.com/blog/" title="CSS for Designr" rel="contact external"><span class="given-name">Bruno</span> <span class="family-name">Bichet</span></a></li> 
     648                                        <li class="vcard"><a class="fn n url" href="http://www.alistercameron.com/" title="Alister" rel="contact external"><span class="given-name">Alister</span> <span class="family-name">Cameron</span></a></li> 
     649                                        <li class="vcard"><a class="fn n url" href="http://www.websitestyle.com/" title="Nicole" rel="contact external"><span class="given-name">Nicole</span> <span class="family-name">Hernandez</span></a></li> 
     650                                        <li class="vcard"><a class="fn n url" href="http://alexking.org/" title="Alex" rel="contact external"><span class="given-name">Alex</span> <span class="family-name">King</span></a></li> 
     651                                        <li class="vcard"><a href="http://photomatt.net/" title="Matt" rel="contact external"><span class="given-name">Matt</span> <span class="family-name">Mullenweg</span></a></li> 
     652                                        <li class="vcard"><a class="fn n url" href="http://www.pressharbor.com/" title="PressHarbor" rel="contact external"><span class="org">PressHarbor</span></a></li> 
     653                                        <li class="vcard"><a class="fn n url" href="http://justagirlintheworld.com/" title="Lisa Sabin-Wilson" rel="contact external"><span class="given-name">Lisa</span> <span class="family-name">Sabin-Wilson</span></a></li> 
     654                                        <li class="vcard"><a class="fn n url" href="http://dowan.org/" title="Dowan.org" rel="contact external"><span class="given-name">Maja</span> <span class="family-name">Schmidt</span></a></li> 
     655                                        <li class="vcard"><a class="fn n url" href="http://theundersigned.net/" title="The undersigned" rel="contact external"><span class="given-name">Thomas</span> <span class="family-name">Silkj&aelig;r</span></a></li> 
     656                                        <li class="vcard"><a class="fn n url" href="http://www.wpdesigner.com/" title="WP Designer" rel="contact external"><span class="nickname">Small Potato</span></a></li> 
     657                                        <li class="vcard"><a class="fn n url" href="http://paulstamatiou.com/" title="Paul Stamatiou" rel="contact external"><span class="given-name">Paul</span> <span class="family-name">Stamatiou</span></a></li> 
     658                                        <li class="vcard"><a class="fn n url" href="http://bryanveloso.com/" title="Bryan Veloso" rel="contact external"><span class="given-name">Bryan</span> <span class="family-name">Veloso</span></a></li> 
     659                                        <li class="vcard"><a class="fn n url" href="http://beccary.com/" title="Beccary" rel="contact external"><span class="given-name">Becca</span> <span class="family-name">Wei</span></a></li> 
     660                                        <li class="vcard"><a class="fn n url" href="http://www.elizzza.net/" title="eliZZZa.net" rel="contact external"><span class="given-name">Elisabeth</span> <span class="family-name">Wetsch</span></a></li> 
     661                                        <li class="vcard"><a class="fn n url" href="http://www.jonathanwold.com/" title="Jonathan Wold" rel="contact external"><span class="given-name">Jonathan</span> <span class="family-name">Wold</span></a></li> 
     662                                        <li class="vcard"><a class="fn n url" href="http://thedesigncanopy.com/" title="The Design Canopy" rel="contact external"><span class="given-name">David</span> <span class="family-name">Yeiser</span></a></li> 
     663                                </ul> 
     664                        </li><!-- #extra --> 
     665                        <li id="license"> 
     666                                <h2>License</h2> 
     667                                <p>The Sandbox &copy; 2006&ndash;2008 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> 
     668                                <blockquote title="How to use the GPL or LPGL" cite="http://www.gnu.org/licenses/gpl-howto.html"> 
     669                                        <p>This program is free software; you can redistribute it and/or modify it under the terms of the <abbr title="GNU is Not Unix">GNU</abbr> General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version.</p> 
     670                                        <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 <abbr title="GNU is Not Unix">GNU</abbr> General Public License for more details.</p> 
     671                                        <p>You should have received a copy of the <abbr title="GNU is Not Unix">GNU</abbr> 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> 
     672                                </blockquote> 
     673                        </li><!-- #license --> 
     674                </ol><!-- #readme .xoxo --> 
     675                <div id="footer"> 
     676                        <p>Last updated 10 November 2007</p> 
     677                </div><!-- #footer --> 
     678        </div><!-- #readme --> 
     679</body> 
     680</html> 
     681 No newline at end of file 
  • wp-content/themes/sandbox/tag.php

    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<?php get_header() ?> 
     2         
     3        <div id="container"> 
     4                <div id="content"> 
     5 
     6        <h2 class="page-title"><?php _e('Tag Archives:', 'sandbox') ?> <span><?php single_tag_title(); ?></span></h2> 
     7 
     8                        <div id="nav-above" class="navigation"> 
     9                                <div class="nav-previous"><?php next_posts_link(__('<span class="meta-nav">&laquo;</span> Older posts', 'sandbox')) ?></div> 
     10                                <div class="nav-next"><?php previous_posts_link(__('Newer posts <span class="meta-nav">&raquo;</span>', 'sandbox')) ?></div> 
     11                        </div> 
     12 
     13<?php while (have_posts()) : the_post(); ?> 
     14 
     15                        <div id="post-<?php the_ID(); ?>" class="<?php sandbox_post_class(); ?>"> 
     16                                <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> 
     17                                <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> 
     18                                <div class="entry-content"> 
     19<?php the_excerpt(''.__('Read More <span class="meta-nav">&raquo;</span>', 'sandbox').'') ?> 
     20 
     21                                </div> 
     22                                <div class="entry-meta"> 
     23                                        <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> 
     24                                        <span class="meta-sep">|</span> 
     25                                        <span class="cat-links"><?php printf(__('Posted in %s', 'sandbox'), get_the_category_list(', ')) ?></span> 
     26                                        <span class="meta-sep">|</span> 
     27<?php if ( $tag_ur_it = sandbox_tag_ur_it(', ') ) : ?> 
     28                                        <span class="tag-links"><?php printf(__('Also tagged %s', 'sandbox'), $tag_ur_it) ?></span> 
     29                                        <span class="meta-sep">|</span> 
     30<?php endif ?> 
     31<?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"); ?> 
     32                                        <span class="comments-link"><?php comments_popup_link(__('Comments (0)', 'sandbox'), __('Comments (1)', 'sandbox'), __('Comments (%)', 'sandbox')) ?></span> 
     33                                </div> 
     34                        </div><!-- .post --> 
     35 
     36<?php endwhile; ?> 
     37 
     38                        <div id="nav-below" class="navigation"> 
     39                                <div class="nav-previous"><?php next_posts_link(__('<span class="meta-nav">&laquo;</span> Older posts', 'sandbox')) ?></div> 
     40                                <div class="nav-next"><?php previous_posts_link(__('Newer posts <span class="meta-nav">&raquo;</span>', 'sandbox')) ?></div> 
     41                        </div> 
     42 
     43                </div><!-- #content --> 
     44        </div><!-- #container --> 
     45 
     46<?php get_sidebar() ?> 
     47<?php get_footer() ?> 
  • 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 wp_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'), wp_specialchars(get_the_title(), 1)) ?>" 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(', ') ) : /* Returns 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 the_tags(__('<span class="tag-links">Tagged ', 'sandbox'), ", ", "</span>\n\t\t\t\t\t<span class=\"meta-sep\">|</span>\n") ?> 
     31<?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"); ?> 
     32                                        <span class="comments-link"><?php comments_popup_link(__('Comments (0)', 'sandbox'), __('Comments (1)', 'sandbox'), __('Comments (%)', 'sandbox')) ?></span> 
     33                                </div> 
     34                        </div><!-- .post --> 
     35 
     36<?php endwhile; ?> 
     37 
     38                        <div id="nav-below" class="navigation"> 
     39                                <div class="nav-previous"><?php next_posts_link(__('<span class="meta-nav">&laquo;</span> Older posts', 'sandbox')) ?></div> 
     40                                <div class="nav-next"><?php previous_posts_link(__('Newer posts <span class="meta-nav">&raquo;</span>', 'sandbox')) ?></div> 
     41                        </div> 
     42 
     43                </div><!-- #content --> 
     44        </div><!-- #container --> 
     45 
     46<?php get_sidebar() ?> 
     47<?php get_footer() ?> 
     48 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 wp_list_bookmarks('title_before=<h3>&title_after=</h3>') ?> 
     19                                        </ul> 
     20<?php edit_post_link(__('Edit', 'sandbox'),'<span class="edit-link">','</span>') ?> 
     21 
     22                                </div> 
     23                        </div><!-- .post --> 
     24 
     25<?php if ( get_post_custom_values('comments') ) comments_template() // Add a key/value of "comments" to enable comments on pages! ?> 
     26 
     27                </div><!-- #content --> 
     28        </div><!-- #container --> 
     29 
     30<?php get_sidebar() ?> 
     31<?php get_footer() ?> 
     32 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('%link', '<span class="meta-nav">&laquo;</span> %title') ?></div> 
     9                                <div class="nav-next"><?php next_post_link('%link', '%title <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 wp_link_pages('before=<div class="page-link">' .__('Pages:', 'sandbox') . '&after=</div>') ?> 
     18                                </div> 
     19                                <div class="entry-meta"> 
     20                                        <?php printf(__('This entry was written by %1$s, posted on <abbr class="published" title="%2$sT%3$s">%4$s at %5$s</abbr>, filed under %6$s%7$s. Bookmark the <a href="%8$s" title="Permalink to %9$s" rel="bookmark">permalink</a>. Follow any comments here with the <a href="%10$s" title="Comments RSS to %9$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_the_tag_list(' '.__('and tagged').' ', ', ', ''), 
     28                                                get_permalink(), 
     29                                                wp_specialchars(get_the_title(), 'double'), 
     30                                                comments_rss() ) ?> 
     31 
     32<?php if (('open' == $post-> comment_status) && ('open' == $post->ping_status)) : // Comments and trackbacks open ?> 
     33                                        <?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()) ?> 
     34<?php elseif (!('open' == $post-> comment_status) && ('open' == $post->ping_status)) : // Only trackbacks open ?> 
     35                                        <?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()) ?> 
     36<?php elseif (('open' == $post-> comment_status) && !('open' == $post->ping_status)) : // Only comments open ?> 
     37                                        <?php printf(__('Trackbacks are closed, but you can <a class="comment-link" href="#respond" title="Post a comment">post a comment</a>.', 'sandbox')) ?> 
     38<?php elseif (!('open' == $post-> comment_status) && !('open' == $post->ping_status)) : // Comments and trackbacks closed ?> 
     39                                        <?php _e('Both comments and trackbacks are currently closed.') ?> 
     40<?php endif; ?> 
     41<?php edit_post_link(__('Edit', 'sandbox'), "\n\t\t\t\t\t<span class=\"edit-link\">", "</span>"); ?> 
     42 
     43                                </div> 
     44                        </div><!-- .post --> 
     45 
     46                        <div id="nav-below" class="navigation"> 
     47                                <div class="nav-previous"><?php previous_post_link('%link', '<span class="meta-nav">&laquo;</span> %title') ?></div> 
     48                                <div class="nav-next"><?php next_post_link('%link', '%title <span class="meta-nav">&raquo;</span>') ?></div> 
     49                        </div> 
     50 
     51<?php comments_template(); ?> 
     52 
     53                </div><!-- #content --> 
     54        </div><!-- #container --> 
     55 
     56<?php get_sidebar() ?> 
     57<?php get_footer() ?> 
  • 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_option('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 the_tags(__('<span class="tag-links">Tagged ', 'sandbox'), ", ", "</span>\n\t\t\t\t\t<span class=\"meta-sep\">|</span>\n") ?> 
     40<?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"); ?> 
     41                                        <span class="comments-link"><?php comments_popup_link(__('Comments (0)', 'sandbox'), __('Comments (1)', 'sandbox'), __('Comments (%)', 'sandbox')) ?></span> 
     42                                </div> 
     43                        </div><!-- .post --> 
     44 
     45<?php endwhile ?> 
     46 
     47                        <div id="nav-below" class="navigation"> 
     48                                <div class="nav-previous"><?php next_posts_link(__('<span class="meta-nav">&laquo;</span> Older posts', 'sandbox')) ?></div> 
     49                                <div class="nav-next"><?php previous_posts_link(__('Newer posts <span class="meta-nav">&raquo;</span>', 'sandbox')) ?></div> 
     50                        </div> 
     51 
     52                </div><!-- #content .hfeed --> 
     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_option('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                        <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> 
     9                        <div id="post-<?php the_ID(); ?>" class="<?php sandbox_post_class() ?>"> 
     10                                <h3 class="entry-title"><?php the_title() ?></h3> 
     11                                <div class="entry-content"> 
     12                                        <div class="entry-attachment"><?php the_attachment_link($post->post_ID, true) ?></div> 
     13<?php the_content(''.__('Read More <span class="meta-nav">&raquo;</span>', 'sandbox').''); ?> 
     14 
     15                                        <?php wp_link_pages('before=<div class="page-link">' .__('Pages:', 'sandbox') . '&after=</div>') ?> 
     16                                </div> 
     17                                <div class="entry-meta"> 
     18                                        <?php printf(__('This entry was written by %1$s, posted on <abbr class="published" title="%2$sT%3$s">%4$s at %5$s</abbr>, filed under %6$s and tagged %7$s. Bookmark the <a href="%8$s" title="Permalink to %9$s" rel="bookmark">permalink</a>. Follow any comments here with the <a href="%10$s" title="Comments RSS to %9$s" rel="alternate" type="application/rss+xml">RSS feed for this post</a>.', 'sandbox'), 
     19                                                '<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>', 
     20                                                get_the_time('Y-m-d'), 
     21                                                get_the_time('H:i:sO'), 
     22                                                the_date('', '', '', false), 
     23                                                get_the_time(), 
     24                                                get_the_category_list(', '), 
     25                                                get_the_tag_list(' '.__('and tagged').' ', ', ', ''), 
     26                                                get_permalink(), 
     27                                                wp_specialchars(get_the_title(), 'double'), 
     28                                                comments_rss() ) ?> 
     29 
     30<?php if (('open' == $post-> comment_status) && ('open' == $post->ping_status)) : // Comments and trackbacks open ?> 
     31                                        <?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()) ?> 
     32<?php elseif (!('open' == $post-> comment_status) && ('open' == $post->ping_status)) : // Only trackbacks open ?> 
     33                                        <?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()) ?> 
     34<?php elseif (('open' == $post-> comment_status) && !('open' == $post->ping_status)) : // Only comments open ?> 
     35                                        <?php printf(__('Trackbacks are closed, but you can <a class="comment-link" href="#respond" title="Post a comment">post a comment</a>.', 'sandbox')) ?> 
     36<?php elseif (!('open' == $post-> comment_status) && !('open' == $post->ping_status)) : // Comments and trackbacks closed ?> 
     37                                        <?php _e('Both comments and trackbacks are currently closed.') ?> 
     38<?php endif; ?> 
     39<?php edit_post_link(__('Edit', 'sandbox'), "\n\t\t\t\t\t<span class=\"edit-link\">", "</span>"); ?> 
     40 
     41                                </div> 
     42                        </div><!-- .post --> 
     43 
     44<?php comments_template(); ?> 
     45 
     46                </div><!-- #content --> 
     47        </div><!-- #container --> 
     48 
     49<?php get_sidebar() ?> 
     50<?php get_footer() ?> 
     51 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 language_attributes() ?>> 
     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_option('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="error404-searchform" method="get" action="<?php bloginfo('home') ?>"> 
     12                                        <div> 
     13                                                <input id="error404-s" name="s" type="text" value="<?php echo wp_specialchars(stripslashes($_GET['s']), true) ?>" size="40" /> 
     14                                                <input id="error404-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_option('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 the_tags(__('<span class="tag-links">Tagged ', 'sandbox'), ", ", "</span>\n\t\t\t\t\t<span class=\"meta-sep\">|</span>\n") ?> 
     40<?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"); ?> 
     41                                        <span class="comments-link"><?php comments_popup_link(__('Comments (0)', 'sandbox'), __('Comments (1)', 'sandbox'), __('Comments (%)', 'sandbox')) ?></span> 
     42                                </div> 
     43                        </div><!-- .post --> 
     44 
     45<?php endwhile ?> 
     46 
     47                        <div id="nav-below" class="navigation"> 
     48                                <div class="nav-previous"><?php next_posts_link(__('<span class="meta-nav">&laquo;</span> Older posts', 'sandbox')) ?></div> 
     49                                <div class="nav-next"><?php previous_posts_link(__('Newer posts <span class="meta-nav">&raquo;</span>', 'sandbox')) ?></div> 
     50                        </div> 
     51 
     52                </div><!-- #content .hfeed --> 
     53        </div><!-- #container --> 
     54 
     55<?php get_sidebar() ?> 
     56<?php get_footer() ?> 
     57 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                        <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> 
     9                        <div id="post-<?php the_ID(); ?>" class="<?php sandbox_post_class() ?>"> 
     10                                <h3 class="entry-title"><?php the_title() ?></h3> 
     11                                <div class="entry-content"> 
     12                                        <div class="entry-attachment"><?php the_attachment_link($post->post_ID, true) ?></div> 
     13<?php the_content(''.__('Read More <span class="meta-nav">&raquo;</span>', 'sandbox').''); ?> 
     14 
     15                                        <?php wp_link_pages('before=<div class="page-link">' .__('Pages:', 'sandbox') . '&after=</div>') ?> 
     16                                </div> 
     17                                <div class="entry-meta"> 
     18                                        <?php printf(__('This entry was written by %1$s, posted on <abbr class="published" title="%2$sT%3$s">%4$s at %5$s</abbr>, filed under %6$s and tagged %7$s. Bookmark the <a href="%8$s" title="Permalink to %9$s" rel="bookmark">permalink</a>. Follow any comments here with the <a href="%10$s" title="Comments RSS to %9$s" rel="alternate" type="application/rss+xml">RSS feed for this post</a>.', 'sandbox'), 
     19                                                '<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>', 
     20                                                get_the_time('Y-m-d'), 
     21                                                get_the_time('H:i:sO'), 
     22                                                the_date('', '', '', false), 
     23                                                get_the_time(), 
     24                                                get_the_category_list(', '), 
     25                                                get_the_tag_list(' '.__('and tagged').' ', ', ', ''), 
     26                                                get_permalink(), 
     27                                                wp_specialchars(get_the_title(), 'double'), 
     28                                                comments_rss() ) ?> 
     29 
     30<?php if (('open' == $post-> comment_status) && ('open' == $post->ping_status)) : // Comments and trackbacks open ?> 
     31                                        <?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()) ?> 
     32<?php elseif (!('open' == $post-> comment_status) && ('open' == $post->ping_status)) : // Only trackbacks open ?> 
     33                                        <?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()) ?> 
     34<?php elseif (('open' == $post-> comment_status) && !('open' == $post->ping_status)) : // Only comments open ?> 
     35                                        <?php printf(__('Trackbacks are closed, but you can <a class="comment-link" href="#respond" title="Post a comment">post a comment</a>.', 'sandbox')) ?> 
     36<?php elseif (!('open' == $post-> comment_status) && !('open' == $post->ping_status)) : // Comments and trackbacks closed ?> 
     37                                        <?php _e('Both comments and trackbacks are currently closed.') ?> 
     38<?php endif; ?> 
     39<?php edit_post_link(__('Edit', 'sandbox'), "\n\t\t\t\t\t<span class=\"edit-link\">", "</span>"); ?> 
     40 
     41                                </div> 
     42                        </div><!-- .post --> 
     43 
     44<?php comments_template(); ?> 
     45 
     46                </div><!-- #content --> 
     47        </div><!-- #container --> 
     48 
     49<?php get_sidebar() ?> 
     50<?php get_footer() ?> 
     51 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 the_tags(__('<span class="tag-links">Tagged ', 'sandbox'), ", ", "</span>\n\t\t\t\t\t<span class=\"meta-sep\">|</span>\n") ?> 
     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                </div><!-- #content --> 
     42        </div><!-- #container --> 
     43 
     44<?php get_sidebar() ?> 
     45<?php get_footer() ?> 
     46 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'), wp_specialchars(get_the_title(), 1)) ?>" 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(', ') ) : /* Returns 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 the_tags(__('<span class="tag-links">Tagged ', 'sandbox'), ", ", "</span>\n\t\t\t\t\t<span class=\"meta-sep\">|</span>\n") ?> 
     31<?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"); ?> 
     32                                        <span class="comments-link"><?php comments_popup_link(__('Comments (0)', 'sandbox'), __('Comments (1)', 'sandbox'), __('Comments (%)', 'sandbox')) ?></span> 
     33                                </div> 
     34                        </div><!-- .post --> 
     35 
     36<?php endwhile; ?> 
     37 
     38                        <div id="nav-below" class="navigation"> 
     39                                <div class="nav-previous"><?php next_posts_link(__('<span class="meta-nav">&laquo;</span> Older posts', 'sandbox')) ?></div> 
     40                                <div class="nav-next"><?php previous_posts_link(__('Newer posts <span class="meta-nav">&raquo;</span>', 'sandbox')) ?></div> 
     41                        </div> 
     42 
     43                </div><!-- #content --> 
     44        </div><!-- #container --> 
     45 
     46<?php get_sidebar() ?> 
     47<?php get_footer() ?> 
     48 No newline at end of file 
  • wp-content/themes/sandbox/comments.php

     
     1                        <div id="comments"> 
     2<?php 
     3        $req = get_option('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\">\n\t\t\t<ul>\n"; 
     5        wp_list_pages('title_li=&sort_column=menu_order'); 
     6        echo "\t\t\t</ul>\n\t\t</div>\n"; 
     7} 
     8 
     9// Generates semantic classes for BODY element 
     10function sandbox_body_class( $print = true ) { 
     11        global $wp_query, $current_user; 
     12         
     13        // It's surely a WordPress blog, right? 
     14        $c = array('wordpress'); 
     15 
     16        // Applies the time- and date-based classes (below) to BODY element 
     17        sandbox_date_classes(time(), $c); 
     18 
     19        // Generic semantic classes for what type of content is displayed 
     20        is_home()       ? $c[] = 'home'       : null; 
     21        is_archive()    ? $c[] = 'archive'    : null; 
     22        is_date()       ? $c[] = 'date'       : null; 
     23        is_search()     ? $c[] = 'search'     : null; 
     24        is_paged()      ? $c[] = 'paged'      : null; 
     25        is_attachment() ? $c[] = 'attachment' : null; 
     26        is_404()        ? $c[] = 'four04'     : null; // CSS does not allow a digit as first character 
     27 
     28        // Special classes for BODY element when a single post 
     29        if ( is_single() ) { 
     30                $postID = $wp_query->post->ID; 
     31                the_post(); 
     32 
     33                // Adds 'single' class and class with the post ID 
     34                $c[] = 'single postid-' . $postID; 
     35 
     36                // Adds classes for the month, day, and hour when the post was published 
     37                if ( isset($wp_query->post->post_date) ) 
     38                        sandbox_date_classes(mysql2date('U', $wp_query->post->post_date), $c, 's-'); 
     39 
     40                // Adds category classes for each category on single posts 
     41                if ( $cats = get_the_category() ) 
     42                        foreach ( $cats as $cat ) 
     43                                $c[] = 's-category-' . $cat->slug; 
     44 
     45                // Adds tag classes for each tags on single posts 
     46                if ( $tags = get_the_tags() ) 
     47                        foreach ( $tags as $tag ) 
     48                                $c[] = 's-tag-' . $tag->slug; 
     49 
     50                // Adds MIME-specific classes for attachments 
     51                if ( is_attachment() ) { 
     52                        $the_mime = get_post_mime_type(); 
     53                        $boring_stuff = array("application/", "image/", "text/", "audio/", "video/", "music/"); 
     54                                $c[] = 'attachment-' . str_replace($boring_stuff, "", "$the_mime"); 
     55                } 
     56 
     57                // Adds author class for the post author 
     58                $c[] = 's-author-' . sanitize_title_with_dashes(strtolower(get_the_author_login())); 
     59                rewind_posts(); 
     60        } 
     61 
     62        // Author name classes for BODY on author archives 
     63        else if ( is_author() ) { 
     64                $author = $wp_query->get_queried_object(); 
     65                $c[] = 'author'; 
     66                $c[] = 'author-' . $author->user_nicename; 
     67        } 
     68 
     69        // Category name classes for BODY on category archvies 
     70        else if ( is_category() ) { 
     71                $cat = $wp_query->get_queried_object(); 
     72                $c[] = 'category'; 
     73                $c[] = 'category-' . $cat->slug; 
     74        } 
     75 
     76        // Tag name classes for BODY on tag archives 
     77        else if ( is_tag() ) { 
     78                $tags = $wp_query->get_queried_object(); 
     79                $c[] = 'tag'; 
     80                $c[] = 'tag-' . $tags->slug; // Does not work; however I try to return the tag I get a false. Grrr. 
     81        } 
     82 
     83        // Page author for BODY on 'pages' 
     84        else if ( is_page() ) { 
     85                $pageID = $wp_query->post->ID; 
     86                the_post(); 
     87                $c[] = 'page pageid-' . $pageID; 
     88                $c[] = 'page-author-' . sanitize_title_with_dashes(strtolower(get_the_author('login'))); 
     89                rewind_posts(); 
     90        } 
     91 
     92        // For when a visitor is logged in while browsing 
     93        if ( $current_user->ID ) 
     94                $c[] = 'loggedin'; 
     95 
     96        // Paged classes; for 'page X' classes of index, single, etc. 
     97        if ( ( ( $page = $wp_query->get("paged") ) || ( $page = $wp_query->get("page") ) ) && $page > 1 ) { 
     98                $c[] = 'paged-'.$page.''; 
     99                if ( is_single() ) { 
     100                        $c[] = 'single-paged-'.$page.''; 
     101                } else if ( is_page() ) { 
     102                        $c[] = 'page-paged-'.$page.''; 
     103                } else if ( is_category() ) { 
     104                        $c[] = 'category-paged-'.$page.''; 
     105                } else if ( is_tag() ) { 
     106                        $c[] = 'tag-paged-'.$page.''; 
     107                } else if ( is_date() ) { 
     108                        $c[] = 'date-paged-'.$page.''; 
     109                } else if ( is_author() ) { 
     110                        $c[] = 'author-paged-'.$page.''; 
     111                } else if ( is_search() ) { 
     112                        $c[] = 'search-paged-'.$page.''; 
     113                } 
     114        } 
     115 
     116        // Separates classes with a single space, collates classes for BODY 
     117        $c = join(' ', apply_filters('body_class',  $c)); 
     118 
     119        // And tada! 
     120        return $print ? print($c) : $c; 
     121} 
     122 
     123// Generates semantic classes for each post DIV element 
     124function sandbox_post_class( $print = true ) { 
     125        global $post, $sandbox_post_alt; 
     126 
     127        // hentry for hAtom compliace, gets 'alt' for every other post DIV, describes the post type and p[n] 
     128        $c = array('hentry', "p$sandbox_post_alt", $post->post_type, $post->post_status); 
     129 
     130        // Author for the post queried 
     131        $c[] = 'author-' . sanitize_title_with_dashes(strtolower(get_the_author('login'))); 
     132 
     133        // Category for the post queried 
     134        foreach ( (array) get_the_category() as $cat ) 
     135                $c[] = 'category-' . $cat->slug; 
     136 
     137        // Tags for the post queried 
     138        foreach ( (array) get_the_tags() as $tag ) 
     139                $c[] = 'tag-' . $tag->slug; 
     140 
     141        // For password-protected posts 
     142        if ( $post->post_password ) 
     143                $c[] = 'protected'; 
     144 
     145        // Applies the time- and date-based classes (below) to post DIV 
     146        sandbox_date_classes(mysql2date('U', $post->post_date), $c); 
     147 
     148        // If it's the other to the every, then add 'alt' class 
     149        if ( ++$sandbox_post_alt % 2 ) 
     150                $c[] = 'alt'; 
     151 
     152        // Separates classes with a single space, collates classes for post DIV 
     153        $c = join(' ', apply_filters('post_class', $c)); 
     154 
     155        // And tada! 
     156        return $print ? print($c) : $c; 
     157} 
     158 
     159// Define the num val for 'alt' classes (in post DIV and comment LI) 
     160$sandbox_post_alt = 1; 
     161 
     162// Generates semantic classes for each comment LI element 
     163function sandbox_comment_class( $print = true ) { 
     164        global $comment, $post, $sandbox_comment_alt; 
     165 
     166        // Collects the comment type (comment, trackback), 
     167        $c = array($comment->comment_type); 
     168 
     169        // Counts trackbacks (t[n]) or comments (c[n]) 
     170        if ($comment->comment_type == 'trackback') { 
     171                $c[] = "t$sandbox_comment_alt"; 
     172        } else { 
     173                $c[] = "c$sandbox_comment_alt"; 
     174        } 
     175 
     176        // If the comment author has an id (registered), then print the log in name 
     177        if ( $comment->user_id > 0 ) { 
     178                $user = get_userdata($comment->user_id); 
     179 
     180                // For all registered users, 'byuser'; to specificy the registered user, 'commentauthor+[log in name]' 
     181                $c[] = "byuser comment-author-" . sanitize_title_with_dashes(strtolower($user->user_login)); 
     182                // For comment authors who are the author of the post 
     183                if ( $comment->user_id === $post->post_author ) 
     184                        $c[] = 'bypostauthor'; 
     185        } 
     186 
     187        // If it's the other to the every, then add 'alt' class; collects time- and date-based classes 
     188        sandbox_date_classes(mysql2date('U', $comment->comment_date), $c, 'c-'); 
     189        if ( ++$sandbox_comment_alt % 2 ) 
     190                $c[] = 'alt'; 
     191 
     192        // Separates classes with a single space, collates classes for comment LI 
     193        $c = join(' ', apply_filters('comment_class', $c)); 
     194 
     195        // Tada again! 
     196        return $print ? print($c) : $c; 
     197} 
     198 
     199// Generates time- and date-based classes for BODY, post DIVs, and comment LIs; relative to GMT (UTC) 
     200function sandbox_date_classes($t, &$c, $p = '') { 
     201        $t = $t + (get_option('gmt_offset') * 3600); 
     202        $c[] = $p . 'y' . gmdate('Y', $t); // Year 
     203        $c[] = $p . 'm' . gmdate('m', $t); // Month 
     204        $c[] = $p . 'd' . gmdate('d', $t); // Day 
     205        $c[] = $p . 'h' . gmdate('H', $t); // Hour 
     206} 
     207 
     208// For category lists on category archives: Returns other categories except the current one (redundant) 
     209function sandbox_cats_meow($glue) { 
     210        $current_cat = single_cat_title('', false); 
     211        $separator = "\n"; 
     212        $cats = explode($separator, get_the_category_list($separator)); 
     213 
     214        foreach ( $cats as $i => $str ) { 
     215                if ( strstr($str, ">$current_cat<") ) { 
     216                        unset($cats[$i]); 
     217                        break; 
     218                } 
     219        } 
     220 
     221        if ( empty($cats) ) 
     222                return false; 
     223 
     224        return trim(join($glue, $cats)); 
     225} 
     226 
     227// For tag lists on tag archives: Returns other tags except the current one (redundant) 
     228function sandbox_tag_ur_it($glue) { 
     229        $current_tag = single_tag_title('', '',  false); 
     230        $separator = "\n"; 
     231        $tags = explode($separator, get_the_tag_list("", "$separator", "")); 
     232 
     233        foreach ( $tags as $i => $str ) { 
     234                if ( strstr($str, ">$current_tag<") ) { 
     235                        unset($tags[$i]); 
     236                        break; 
     237                } 
     238        } 
     239 
     240        if ( empty($tags) ) 
     241                return false; 
     242 
     243        return trim(join($glue, $tags)); 
     244} 
     245 
     246 
     247// Widget: Search; to match the Sandbox style and replace Widget plugin default 
     248function widget_sandbox_search($args) { 
     249        extract($args); 
     250        if ( empty($title) ) 
     251                $title = __('Search', 'sandbox'); 
     252?> 
     253                        <?php echo $before_widget ?> 
     254                                <?php echo $before_title ?><label for="s"><?php echo $title ?></label><?php echo $after_title ?> 
     255                                <form id="searchform" method="get" action="<?php bloginfo('home') ?>"> 
     256                                        <div> 
     257                                                <input id="s" name="s" type="text" value="<?php echo wp_specialchars(stripslashes($_GET['s']), true) ?>" size="10" tabindex="1" /> 
     258                                                <input id="searchsubmit" name="searchsubmit" type="submit" value="<?php _e('Find', 'sandbox') ?>" tabindex="2" /> 
     259                                        </div> 
     260                                </form> 
     261                        <?php echo $after_widget ?> 
     262 
     263<?php 
     264} 
     265 
     266// Widget: Meta; to match the Sandbox style and replace Widget plugin default 
     267function widget_sandbox_meta($args) { 
     268        extract($args); 
     269        if ( empty($title) ) 
     270                $title = __('Meta', 'sandbox'); 
     271?> 
     272                        <?php echo $before_widget; ?> 
     273                                <?php echo $before_title . $title . $after_title; ?> 
     274                                <ul> 
     275                                        <?php wp_register() ?> 
     276                                        <li><?php wp_loginout() ?></li> 
     277                                        <?php wp_meta() ?> 
     278                                </ul> 
     279                        <?php echo $after_widget; ?> 
     280<?php 
     281} 
     282 
     283// Widget: RSS links; to match the Sandbox style 
     284function widget_sandbox_rsslinks($args) { 
     285        extract($args); 
     286        $options = get_option('widget_sandbox_rsslinks'); 
     287        $title = empty($options['title']) ? __('RSS Links', 'sandbox') : $options['title']; 
     288?> 
     289                <?php echo $before_widget; ?> 
     290                        <?php echo $before_title . $title . $after_title; ?> 
     291                        <ul> 
     292                                <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> 
     293                                <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> 
     294                        </ul> 
     295                <?php echo $after_widget; ?> 
     296<?php 
     297} 
     298 
     299// Widget: RSS links; element controls for customizing text within Widget plugin 
     300function widget_sandbox_rsslinks_control() { 
     301        $options = $newoptions = get_option('widget_sandbox_rsslinks'); 
     302        if ( $_POST["rsslinks-submit"] ) { 
     303                $newoptions['title'] = strip_tags(stripslashes($_POST["rsslinks-title"])); 
     304        } 
     305        if ( $options != $newoptions ) { 
     306                $options = $newoptions; 
     307                update_option('widget_sandbox_rsslinks', $options); 
     308        } 
     309        $title = htmlspecialchars($options['title'], ENT_QUOTES); 
     310?> 
     311                        <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> 
     312                        <input type="hidden" id="rsslinks-submit" name="rsslinks-submit" value="1" /> 
     313<?php 
     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(array(__('RSS Links', 'sandbox'), 'widgets'), 'widget_sandbox_rsslinks'); 
     336        register_widget_control(array(__('RSS Links', 'sandbox'), 'widgets'), 'widget_sandbox_rsslinks_control', 300, 90); 
     337} 
     338 
     339// Translate, if applicable 
     340load_theme_textdomain('sandbox'); 
     341 
     342// Runs our code at the end to check that everything needed has loaded 
     343add_action('init', 'sandbox_widgets_init'); 
     344 
     345// Adds filters so that things run smoothly 
     346add_filter('archive_meta', 'wptexturize'); 
     347add_filter('archive_meta', 'convert_smilies'); 
     348add_filter('archive_meta', 'convert_chars'); 
     349add_filter('archive_meta', 'wpautop'); 
     350 
     351// Remember: the Sandbox is for play. 
     352?> 
     353 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 language_attributes() ?>> 
     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_option('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 wp_link_pages('before=<div class="page-link">' .__('Pages:', 'sandbox') . '&after=</div>') ?> 
     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 the_tags(__('<span class="tag-links">Tagged ', 'sandbox'), ", ", "</span>\n\t\t\t\t\t<span class=\"meta-sep\">|</span>\n") ?> 
     26<?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"); ?> 
     27                                        <span class="comments-link"><?php comments_popup_link(__('Comments (0)', 'sandbox'), __('Comments (1)', 'sandbox'), __('Comments (%)', 'sandbox')) ?></span> 
     28                                </div> 
     29                        </div><!-- .post --> 
     30 
     31<?php comments_template() ?> 
     32<?php endwhile ?> 
     33 
     34                        <div id="nav-below" class="navigation"> 
     35                                <div class="nav-previous"><?php next_posts_link(__('<span class="meta-nav">&laquo;</span> Older posts', 'sandbox')) ?></div> 
     36                                <div class="nav-next"><?php previous_posts_link(__('Newer posts <span class="meta-nav">&raquo;</span>', 'sandbox')) ?></div> 
     37                        </div> 
     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/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 wp_list_bookmarks('title_before=<h3>&title_after=</h3>') ?> 
     19                                        </ul> 
     20<?php edit_post_link(__('Edit', 'sandbox'),'<span class="edit-link">','</span>') ?> 
     21 
     22                                </div> 
     23                        </div><!-- .post --> 
     24 
     25<?php if ( get_post_custom_values('comments') ) comments_template() // Add a key/value of "comments" to enable comments on pages! ?> 
     26 
     27                </div><!-- #content --> 
     28        </div><!-- #container --> 
     29 
     30<?php get_sidebar() ?> 
     31<?php get_footer() ?> 
     32 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 wp_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" lang="en-us" dir="ltr"> 
     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;letter-spacing:0.1em;margin:0 0 0.5em;text-transform:uppercase;} 
     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                <div id="header"> 
     46                        <h1 id="title">The Sandbox</h1> 
     47                        <div class="readme-version">Version 1.2</div> 
     48                        <div class="readme-subtitle">A theme rich and powerful with dynamic semantic class selectors</div> 
     49                </div><!-- #header --> 
     50                <ol id="menu" class="xoxo"> 
     51                        <li> 
     52                                <h2>Table of contents</h2> 
     53                                <ol> 
     54                                        <li><a href="#introduction" title="Skip to Introduction">Introduction</a></li> 
     55                                        <li><a href="#installing" title="Skip to Installing">Installing</a></li> 
     56                                        <li><a href="#started" title="Skip to Getting started">Getting started</a></li> 
     57                                        <li><a href="#functions" title="Skip to Class functions">Class functions</a> 
     58                                                <ol> 
     59                                                        <li><a href="#body-class" title="Skip to Class functions: sandbox_body_class()"><code>sandbox_body_class()</code></a></li> 
     60                                                        <li><a href="#post-class" title="Skip to Class functions: sandbox_post_class()"><code>sandbox_post_class()</code></a></li> 
     61                                                        <li><a href="#comment-class" title="Skip to Class functions: sandbox_comment_class()"><code>sandbox_comment_class()</code></a></li> 
     62                                                </ol> 
     63                                        </li> 
     64                                        <li><a href="#features" title="Skip to Other features">Other features</a> 
     65                                                <ol> 
     66                                                        <li><a href="#comments" title="Skip to Other features: Comments on pages">Comments on pages</a></li> 
     67                                                        <li><a href="#templates" title="Skip to Other features: Page templates">Page templates</a></li> 
     68                                                </ol> 
     69                                        </li> 
     70                                        <li><a href="#creating" title="Skip to Creating Sandbox templates">Creating a theme template</a></li> 
     71                                        <li><a href="#standards" title="Skip to Web standards">Web standards</a></li> 
     72                                        <li><a href="#microformats" title="Skip to Microformats">Microformats</a></li> 
     73                                        <li><a href="#credits" title="Skip to Credits and thanks">Credits and thanks</a></li> 
     74                                        <li><a href="#license" title="Skip to License">License</a></li> 
     75                                </ol> 
     76                        </li> 
     77                </ol><!-- #menu .xoxo --> 
     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.3.x</li> 
     85                                        <li>Valid <abbr title="eXtensible HyperText Markup Language">XHTML</abbr> 1.0 Transitional</li> 
     86                                        <li>Widgets 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 customize 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 <abbr title="Cascading Style Sheets">CSS</abbr>, <abbr title="eXtensible HyperText Markup Language">XHTML</abbr>, 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 <abbr title="Cascading Style Sheets">CSS</abbr> 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 <a href="http://www.technorait.com/" title="Technorati" rel="external">Technorati</a>). You might be able to improve on our markup, but, well, who wants to work that hard?</p> 
     100                        </li><!-- #introduction --> 
     101                        <li id="installing"> 
     102                                <h2>Installing</h2> 
     103                                <p>The Sandbox theme is installed just like any other WordPress theme. To install this theme:</p> 
     104                                <ol> 
     105                                        <li>Download the <a href="http://www.plaintxt.org/themes/sandbox/" title="The Sandbox for WordPress" rel="me">Sandbox</a></li> 
     106                                        <li>Extract the <code>/sandbox/</code> folder from the archive</li> 
     107                                        <li>Upload this folder to the <code>/wp-contents/themes/</code> directory</li> 
     108                                        <li>Activate the theme in the <i>Dashboard &rsaquo; Presentation</i> menu</li> 
     109                                        <li>Enjoy</li> 
     110                                </ol> 
     111                                <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> 
     112                                <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 if unfamiliar with Subversion.</p> 
     113                        </li><!-- #installing --> 
     114                        <li id="started"> 
     115                                <h2>Getting started</h2> 
     116                                <p>To help beginners get started, example layouts in <code>/sandbox-layouts/</code> have been included. Instructions for using the included layouts and designs can be found in the folder.</p> 
     117                                <p>The simplest way to get started with the Sandbox is to jump right in to <code>style.css</code>, using <abbr title="Cascading Style Sheets">CSS</abbr> to design the appearence of the Sandbox.</p> 
     118                                <p>For help learning <abbr title="Cascading Style Sheets">CSS</abbr>, visit:</p> 
     119                                <ul> 
     120                                        <li><a href="http://www.cssbasics.com/" title="CSS Basics.com" rel="external"><abbr title="Cascading Style Sheets">CSS</abbr> Basics.com</a></li> 
     121                                        <li><a href="http://www.html.net/tutorials/css/" title="HTML.net's CSS Tutorial" rel="external">HTML.net's <abbr title="Cascading Style Sheets">CSS</abbr> Tutorial</a></li> 
     122                                        <li><a href="http://www.htmldog.com/guides/cssbeginner/" title="HTML Dog's CSS Beginner Tutorial" rel="external">HTML Dog's <abbr title="Cascading Style Sheets">CSS</abbr> Beginner Tutorial</a></li> 
     123                                        <li><a href="http://www.stylegala.com/features/css-reference/" title="Stylegala's CSS Reference" rel="external">Stylegala's <abbr title="Cascading Style Sheets">CSS</abbr> Reference</a></li> 
     124                                        <li><a href="http://www.w3schools.com/css/default.asp" title="W3's CSS School" rel="external">W3's <abbr title="Cascading Style Sheets">CSS</abbr> School</a></li> 
     125                                </ul> 
     126                                <p>For Sandbox-related resources, including how-tos, Sandbox-based theme templates, and more, visit:</p> 
     127                                <ul> 
     128                                        <li><a href="http://archgfx.net/" title="archGFX" rel="external">archGFX</a></li> 
     129                                        <li><a href="http://internetducttape.com/" title="InternetDuctTape" rel="external">Internet Duct Tape</a></li> 
     130                                        <li><a href="http://ntuat.wordpress.com/" title="Not (That) Ugly" rel="external">Sandbox Styles at <abbr title="Not (That) Ugly">NTU</abbr></a></li> 
     131                                        <li><a href="http://www.plaintxt.org/" title="plaintxt.org" rel="me">plaintxt.org</a></li> 
     132                                        <li><a href="http://www.sndbx.org/" title="Sandbox Designs Competition" rel="me">Sandbox Designs Competition</a></li> 
     133                                        <li><a href="http://www.sndbx.org/forums/" title="Sandbox Forums" rel="me">Sandbox Forums</a></li> 
     134                                </ul> 
     135                                <p>If you are interested in developing theme templates based on the Sandbox, see <a href="#creating" title="Creating theme templates">Creating theme templates</a> in this document.</p> 
     136                        </li><!-- #started --> 
     137                        <li id="functions"> 
     138                                <h2>Class functions</h2> 
     139                                <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 <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> on the WordPress Codex.</p> 
     140                                <ol> 
     141                                        <li id="body-class"> 
     142                                                <h3><code>sandbox_body_class()</code></h3> 
     143                                                <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> 
     144                                                <pre>&lt;body class="<span>&lt;?php sandbox_body_class() ?&gt;</span>"&gt;</pre> 
     145                                                <p>The chart below lists the semantic classes added to the <code>body</code> tag by this function.</p> 
     146                                                <table id="body-class-table" summary="Classes given to the body element sandbody_body_class()"> 
     147                                                        <thead> 
     148                                                                <tr> 
     149                                                                        <th colspan="3" scope="colgroup"><code>sandbox_body_class()</code></th> 
     150                                                                </tr> 
     151                                                        </thead> 
     152                                                        <tfoot> 
     153                                                                <tr> 
     154                                                                        <th colspan="3" scope="colgroup"><abbr title="Cascading Style Sheets">CSS</abbr> example</th> 
     155                                                                </tr> 
     156                                                                <tr> 
     157                                                                        <td colspan="3" scope="row" abbr="CSS example"><code>body.single div.sidebar { display: none; }</code></td> 
     158                                                                </tr> 
     159                                                        </tfoot> 
     160                                                        <tbody> 
     161                                                                <tr> 
     162                                                                        <th scope="col" abbr="class">Class</th> 
     163                                                                        <th scope="col" abbr="tag">WP Tag</th> 
     164                                                                        <th scope="col" abbr="use">Usage</th> 
     165                                                                </tr> 
     166                                                                <tr class="alt"> 
     167                                                                        <td scope="row">archive</td> 
     168                                                                        <td><code>is_archive()</code></td> 
     169                                                                        <td>When <em>any</em> archive page is displayed, i.e., applies to category-, date-, and author-based archive pages</td> 
     170                                                                </tr> 
     171                                                                <tr> 
     172                                                                        <td scope="row">attachment</td> 
     173                                                                        <td><code>is_attachment()</code></td> 
     174                                                                        <td>When the post subpage containing an attachment is displayed, as set with "Linked to Page" in the post editor</td> 
     175                                                                </tr> 
     176                                                                <tr class="alt"> 
     177                                                                        <td scope="row">attachment-[mime]</td> 
     178                                                                        <td><code>is_attachment()</code></td> 
     179                                                                        <td>For attachment posts (see above), where <i>[mime]</i> is the abbreviated <abbr title="Multipurpose Internet Mail Extensions">MIME</abbr> type, e.g., <code>attachment-jpeg</code></td> 
     180                                                                </tr> 
     181                                                                <tr> 
     182                                                                        <td scope="row">author</td> 
     183                                                                        <td><code>is_author()</code></td> 
     184                                                                        <td>When a author archive page is displayed</td> 
     185                                                                </tr> 
     186                                                                <tr class="alt"> 
     187                                                                        <td scope="row">author-[name]</td> 
     188                                                                        <td><code>is_author()</code></td> 
     189                                                                        <td>When a specific author archive page is displayed, where <i>[name]</i> is the author's login name, e.g., author-admin</td> 
     190                                                                </tr> 
     191                                                                <tr> 
     192                                                                        <td scope="row">author-paged-[n]</td> 
     193                                                                        <td><code>is_author()</code> &amp; <code>is_paged()</code></td> 
     194                                                                        <td>Displays the "paged" number of author archive, where <i>[n]</i> is the paginated number</td> 
     195                                                                </tr> 
     196                                                                <tr class="alt"> 
     197                                                                        <td scope="row">category</td> 
     198                                                                        <td><code>is_category()</code></td> 
     199                                                                        <td>When a category archive page is displayed</td> 
     200                                                                </tr> 
     201                                                                <tr> 
     202                                                                        <td scope="row">category-[name]</td> 
     203                                                                        <td><code>is_category()</code></td> 
     204                                                                        <td>For a specific category, where <i>[name]</i> is the category slug, e.g., <code>category-useful-links</code></td> 
     205                                                                </tr> 
     206                                                                <tr class="alt"> 
     207                                                                        <td scope="row">category-paged-[n]</td> 
     208                                                                        <td><code>is_category()</code> &amp; <code>is_paged()</code></td> 
     209                                                                        <td>Displays the "paged" number of category archive, where <i>[n]</i> is the paginated number</td> 
     210                                                                </tr> 
     211                                                                <tr> 
     212                                                                        <td scope="row">d01&ndash;31</td> 
     213                                                                        <td><code>gmdate('d')</code></td> 
     214                                                                        <td>The current day of when the page is displayed (Offset to GMT)</td> 
     215                                                                </tr> 
     216                                                                <tr class="alt"> 
     217                                                                        <td scope="row">date</td> 
     218                                                                        <td><code>is_date()</code></td> 
     219                                                                        <td>When a date archive page is displayed, e.g., by month, by year</td> 
     220                                                                </tr> 
     221                                                                <tr> 
     222                                                                        <td scope="row">date-paged-[n]</td> 
     223                                                                        <td><code>is_date()</code> &amp; <code>is_paged()</code></td> 
     224                                                                        <td>Displays the "paged" number of date-based archive, where <i>[n]</i> is the paginated number</td> 
     225                                                                </tr> 
     226                                                                <tr class="alt"> 
     227                                                                        <td scope="row">h00&ndash;24</td> 
     228                                                                        <td><code>gmdate('h')</code></td> 
     229                                                                        <td>The current hour of when the page is displayed (Offset to GMT)</td> 
     230                                                                </tr> 
     231                                                                <tr> 
     232                                                                        <td scope="row">four04</td> 
     233                                                                        <td><code>is_404()</code></td> 
     234                                                                        <td>When a request results in zero posts, i.e., a 404 error page</td> 
     235                                                                </tr> 
     236                                                                <tr class="alt"> 
     237                                                                        <td scope="row">home</td> 
     238                                                                        <td><code>is_home()</code></td> 
     239                                                                        <td>When the home page is displayed</td> 
     240                                                                </tr> 
     241                                                                <tr> 
     242                                                                        <td scope="row">m00&ndash;12</td> 
     243                                                                        <td><code>gmdate('m')</code></td> 
     244                                                                        <td>The current month of when the page is displayed (Offset to GMT)</td> 
     245                                                                </tr> 
     246                                                                <tr class="alt"> 
     247                                                                        <td scope="row">loggedin</td> 
     248                                                                        <td>n/a</td> 
     249                                                                        <td>When the page is displayed by a logged-in user</td> 
     250                                                                </tr> 
     251                                                                <tr> 
     252                                                                        <td scope="row">page</td> 
     253                                                                        <td><code>is_page()</code></td> 
     254                                                                        <td>When a page is displayed</td> 
     255                                                                </tr> 
     256                                                                <tr class="alt"> 
     257                                                                        <td scope="row">page-author-[name]</td> 
     258                                                                        <td><code>is_page()</code></td> 
     259                                                                        <td>For a page by a specific author, where <i>[name]</i> is the user's login name, e.g., <code>page-author-admin</code></td> 
     260                                                                </tr> 
     261                                                                <tr> 
     262                                                                        <td scope="row">page-paged-[n]</td> 
     263                                                                        <td><code>is_page()</code> &amp; <code>is_paged()</code></td> 
     264                                                                        <td>Displays the "paged" number of pages, where <i>[n]</i> is the paginated number</td> 
     265                                                                </tr> 
     266                                                                <tr class="alt"> 
     267                                                                        <td scope="row">paged</td> 
     268                                                                        <td><code>is_paged()</code></td> 
     269                                                                        <td>When whatever is displayed is "paged," e.g., page 2 of the index</td> 
     270                                                                </tr> 
     271                                                                <tr> 
     272                                                                        <td scope="row">paged-[n]</td> 
     273                                                                        <td><code>is_paged()</code></td> 
     274                                                                        <td>Displays the "paged" number, where <i>[n]</i> is the paginated number, e.g., <code>paged-3</code> for third page of index</td> 
     275                                                                </tr> 
     276                                                                <tr class="alt"> 
     277                                                                        <td scope="row">pageid-[n]</td> 
     278                                                                        <td><code>is_page()</code></td> 
     279                                                                        <td>Displays the page ID number of queried page, where <i>[n]</i> is the page ID, e.g., <code>pageid-20</code></td> 
     280                                                                </tr> 
     281                                                                <tr> 
     282                                                                        <td scope="row">postid-[n]</td> 
     283                                                                        <td><code>is_single()</code></td> 
     284                                                                        <td>Displays the post ID number of queried post, where <i>[n]</i> is the post ID, e.g., <code>postid-20</code></td> 
     285                                                                </tr> 
     286                                                                <tr class="alt"> 
     287                                                                        <td scope="row">search</td> 
     288                                                                        <td><code>is_search()</code></td> 
     289                                                                        <td>When the results of a search are displayed</td> 
     290                                                                </tr> 
     291                                                                <tr> 
     292                                                                        <td scope="row">single</td> 
     293                                                                        <td><code>is_single()</code></td> 
     294                                                                        <td>When a single post is displayed</td> 
     295                                                                </tr> 
     296                                                                <tr class="alt"> 
     297                                                                        <td scope="row">s-author-[name]</td> 
     298                                                                        <td><code>is_single()</code> &amp; <code>is_author()</code></td> 
     299                                                                        <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> 
     300                                                                </tr> 
     301                                                                <tr> 
     302                                                                        <td scope="row">s-category-[name]</td> 
     303                                                                        <td><code>is_single()</code> &amp; <code>is_category()</code></td> 
     304                                                                        <td>For a single post published in a specific category, where <i>[name]</i> is the category slug, e.g., <code>s-category-news</code></td> 
     305                                                                </tr> 
     306                                                                <tr class="alt"> 
     307                                                                        <td scope="row">s-d01&ndash;31</td> 
     308                                                                        <td><code>gmdate('d')</code></td> 
     309                                                                        <td>For a single post published on a specific day (Offset to GMT)</td> 
     310                                                                </tr> 
     311                                                                <tr> 
     312                                                                        <td scope="row">s-h00&ndash;24</td> 
     313                                                                        <td><code>gmdate('h')</code></td> 
     314                                                                        <td>For a single post published at a specific hour (Offset to GMT)</td> 
     315                                                                </tr> 
     316                                                                <tr class="alt"> 
     317                                                                        <td scope="row">s-m00&ndash;12</td> 
     318                                                                        <td><code>gmdate('m')</code></td> 
     319                                                                        <td>For a single post published in a specific month (Offset to GMT)</td> 
     320                                                                </tr> 
     321                                                                <tr> 
     322                                                                        <td scope="row">s-tag-[name]</td> 
     323                                                                        <td><code>is_single()</code> &amp; <code>is_tag()</code></td> 
     324                                                                        <td>For a single post published with a specific tag, where <i>[name]</i> is the tag slug, e.g., <code>s-category-foo-bar</code></td> 
     325                                                                </tr> 
     326                                                                <tr class="alt"> 
     327                                                                        <td scope="row">s-y2007</td> 
     328                                                                        <td><code>gmdate('Y')</code></td> 
     329                                                                        <td>For a single post published in a specific year (Offset to GMT)</td> 
     330                                                                </tr> 
     331                                                                <tr> 
     332                                                                        <td scope="row">tag</td> 
     333                                                                        <td><code>is_tag()</code></td> 
     334                                                                        <td>When a tag archive page is displayed</td> 
     335                                                                </tr> 
     336                                                                <tr class="alt"> 
     337                                                                        <td scope="row">tag-[name]</td> 
     338                                                                        <td><code>is_tag()</code></td> 
     339                                                                        <td>For a specific tag, where <i>[name]</i> is the tag slug, e.g., <code>tag-foo-bar</code></td> 
     340                                                                </tr> 
     341                                                                <tr> 
     342                                                                        <td scope="row">tag-paged-[n]</td> 
     343                                                                        <td><code>is_tag()</code> &amp; <code>is_paged()</code></td> 
     344                                                                        <td>Displays the "paged" number of tag archive, where <i>[n]</i> is the paginated number</td> 
     345                                                                </tr> 
     346                                                                <tr class="alt"> 
     347                                                                        <td scope="row">wordpress</td> 
     348                                                                        <td>n/a</td> 
     349                                                                        <td>When anything is displayed; a class that is always applied</td> 
     350                                                                </tr> 
     351                                                                <tr> 
     352                                                                        <td scope="row">y2007</td> 
     353                                                                        <td><code>gmdate('Y')</code></td> 
     354                                                                        <td>The current year of when the page is display (Offset to GMT)</td> 
     355                                                                </tr> 
     356                                                        </tbody> 
     357                                                </table><!-- #body-class-table --> 
     358                                        </li><!-- #body-class --> 
     359                                        <li id="post-class"> 
     360                                                <h3><code>sandbox_post_class()</code></h3> 
     361                                                <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> 
     362                                                <pre>&lt;div id="post-&lt;?php the_ID(); ?&gt;" class="<span>&lt;?php sandbox_post_class() ?&gt;</span>"&gt;</pre> 
     363                                                <p>The chart below lists the semantic classes added to each post <code>div</code> element by this function.</p> 
     364                                                <table id="post-class-table" summary="Classes given to individual posts by sandbody_post_class()"> 
     365                                                        <thead> 
     366                                                                <tr> 
     367                                                                        <th colspan="3" scope="colgroup"><code>sandbox_post_class()</code></th> 
     368                                                                </tr> 
     369                                                        </thead> 
     370                                                        <tfoot> 
     371                                                                <tr> 
     372                                                                        <th colspan="3" scope="colgroup"><abbr title="Cascading Style Sheets">CSS</abbr> example</th> 
     373                                                                </tr> 
     374                                                                <tr> 
     375                                                                        <td colspan="3" scope="row" abbr="CSS example"><code>div.category-news .entry-title { background: url('images/news.png'); }</code></td> 
     376                                                                </tr> 
     377                                                        </tfoot> 
     378                                                        <tbody> 
     379                                                                <tr> 
     380                                                                        <th scope="col" abbr="class">Class</th> 
     381                                                                        <th scope="col" abbr="tag">WP Tag</th> 
     382                                                                        <th scope="col" abbr="use">Usage</th> 
     383                                                                </tr> 
     384                                                                <tr class="alt"> 
     385                                                                        <td scope="row">alt</td> 
     386                                                                        <td>n/a</td> 
     387                                                                        <td>For odd-numbered posts, e.g., for the 1<sup>st</sup>, 3<sup>rd</sup>, 5<sup>th</sup> posts</td> 
     388                                                                </tr> 
     389                                                                <tr> 
     390                                                                        <td scope="row">author-[name]</td> 
     391                                                                        <td><code>is_author()</code></td> 
     392                                                                        <td>For any specific author, where <i>[name]</i> is the user's login name, e.g., <code>author-admin</code></td> 
     393                                                                </tr> 
     394                                                                <tr class="alt"> 
     395                                                                        <td scope="row">category-[name]</td> 
     396                                                                        <td><code>is_category()</code></td> 
     397                                                                        <td>For any specific category, where <i>[name]</i> is the category slug, e.g., <code>category-news</code></td> 
     398                                                                </tr> 
     399                                                                <tr> 
     400                                                                        <td scope="row">d01&ndash;31</td> 
     401                                                                        <td><code>gmdate('d')</code></td> 
     402                                                                        <td>For a post published on a specific day (Offset to GMT)</td> 
     403                                                                </tr> 
     404                                                                <tr class="alt"> 
     405                                                                        <td scope="row">draft</td> 
     406                                                                        <td>n/a</td> 
     407                                                                        <td>For a post saved as a draft, as contrasted with an published post</td> 
     408                                                                </tr> 
     409                                                                <tr> 
     410                                                                        <td scope="row">h00&ndash;24</td> 
     411                                                                        <td><code>gmdate('h')</code></td> 
     412                                                                        <td>For a post published at a specific hour (Offset to GMT)</td> 
     413                                                                </tr> 
     414                                                                <tr class="alt"> 
     415                                                                        <td scope="row">hentry</td> 
     416                                                                        <td>n/a</td> 
     417                                                                        <td>For the hAtom 0.1 specification, applied every post</td> 
     418                                                                </tr> 
     419                                                                <tr> 
     420                                                                        <td scope="row">m00&ndash;12</td> 
     421                                                                        <td><code>gmdate('m')</code></td> 
     422                                                                        <td>For a post published in a specific month (Offset to GMT)</td> 
     423                                                                </tr> 
     424                                                                <tr class="alt"> 
     425                                                                        <td scope="row">p[n]</td> 
     426                                                                        <td>n/a</td> 
     427                                                                        <td>For counting posts relative to the top of the page, where <i>[n]</i> is the number, e.g., <code>p1</code> for the first post, <code>p2</code> for the second, <code>p3</code> for the third</td> 
     428                                                                </tr> 
     429                                                                <tr> 
     430                                                                        <td scope="row">page</td> 
     431                                                                        <td>n/a</td> 
     432                                                                        <td>A general class, applied to every page</td> 
     433                                                                </tr> 
     434                                                                <tr class="alt"> 
     435                                                                        <td scope="row">post</td> 
     436                                                                        <td>n/a</td> 
     437                                                                        <td>A general class, applied to every post</td> 
     438                                                                </tr> 
     439                                                                <tr> 
     440                                                                        <td scope="row">private</td> 
     441                                                                        <td>n/a</td> 
     442                                                                        <td>For a post that has been saved as private</td> 
     443                                                                </tr> 
     444                                                                <tr class="alt"> 
     445                                                                        <td scope="row">protected</td> 
     446                                                                        <td>n/a</td> 
     447                                                                        <td>For a post protected by a password</td> 
     448                                                                </tr> 
     449                                                                <tr> 
     450                                                                        <td scope="row">publish</td> 
     451                                                                        <td>n/a</td> 
     452                                                                        <td>For any published post, as contrasted with an unpublished draft</td> 
     453                                                                </tr> 
     454                                                                <tr class="alt"> 
     455                                                                        <td scope="row">tag-[name]</td> 
     456                                                                        <td><code>is_tag()</code></td> 
     457                                                                        <td>For any specific tag, where <i>[name]</i> is the tag slug, e.g., <code>tag-foo-bar</code></td> 
     458                                                                </tr> 
     459                                                                <tr> 
     460                                                                        <td scope="row">y2007</td> 
     461                                                                        <td><code>gmdate('Y')</code></td> 
     462                                                                        <td>For a post published in a certain year (Offset to GMT)</td> 
     463                                                                </tr> 
     464                                                        </tbody> 
     465                                                </table><!-- #post-class-table --> 
     466                                        </li><!-- #post-class --> 
     467                                        <li id="comment-class"> 
     468                                                <h3><code>sandbox_comment_class()</code></h3> 
     469                                                <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> 
     470                                                <pre>&lt;li id="comment-&lt;?php comment_ID(); ?&gt;" class="<span>&lt;?php sandbox_comment_class() ?&gt;</span>"&gt;</pre> 
     471                                                <p>The chart below lists the semantic classes added to each comment <code>li</code> element by this function.</p> 
     472                                                <table id="comment-class-table" summary="Classes given to individual comments by sandbody_comment_class()"> 
     473                                                        <thead> 
     474                                                                <tr> 
     475                                                                        <th colspan="3" scope="colgroup"><code>sandbox_comment_class()</code></th> 
     476                                                                </tr> 
     477                                                        </thead> 
     478                                                        <tfoot> 
     479                                                                <tr> 
     480                                                                        <th colspan="3" scope="colgroup"><abbr title="Cascading Style Sheets">CSS</abbr> example</th> 
     481                                                                </tr> 
     482                                                                <tr> 
     483                                                                        <td colspan="3" scope="row" abbr="CSS example"><code>div.comments li.bypostauthor { border: 1px solid red; }</code></td> 
     484                                                                </tr> 
     485                                                        </tfoot> 
     486                                                        <tbody> 
     487                                                                <tr> 
     488                                                                        <th scope="col" abbr="class">Class</th> 
     489                                                                        <th scope="col" abbr="tag">WP Tag</th> 
     490                                                                        <th scope="col" abbr="use">Usage</th> 
     491                                                                </tr> 
     492                                                                <tr class="alt"> 
     493                                                                        <td scope="row">alt</td> 
     494                                                                        <td>n/a</td> 
     495                                                                        <td>For odd-numbered comments, e.g., for the 1<sup>st</sup>, 3<sup>rd</sup>, 5<sup>th</sup> comments</td> 
     496                                                                </tr> 
     497                                                                <tr> 
     498                                                                        <td scope="row">bypostauthor</td> 
     499                                                                        <td>n/a</td> 
     500                                                                        <td>When the comment author is also the post author</td> 
     501                                                                </tr> 
     502                                                                <tr class="alt"> 
     503                                                                        <td scope="row">byuser</td> 
     504                                                                        <td>n/a</td> 
     505                                                                        <td>For comments by registered users</td> 
     506                                                                </tr> 
     507                                                                <tr> 
     508                                                                        <td scope="row">c-h00&ndash;24</td> 
     509                                                                        <td><code>gmdate('h')</code></td> 
     510                                                                        <td>For a comment posted at a specific hour (Offset to GMT)</td> 
     511                                                                </tr> 
     512                                                                <tr class="alt"> 
     513                                                                        <td scope="row">c[n]</td> 
     514                                                                        <td>n/a</td> 
     515                                                                        <td>For counting comments relative to the first, where <i>[n]</i> is the number, e.g., <code>c1</code> for the first comment, <code>c2</code> for the second, <code>c3</code> for the third</td> 
     516                                                                </tr> 
     517                                                                <tr> 
     518                                                                        <td scope="row">c-d01&ndash;31</td> 
     519                                                                        <td><code>gmdate('d')</code></td> 
     520                                                                        <td>For a comment posted on a specific date (Offset to GMT)</td> 
     521                                                                </tr> 
     522                                                                <tr class="alt"> 
     523                                                                        <td scope="row">c-m00&ndash;12</td> 
     524                                                                        <td><code>gmdate('m')</code></td> 
     525                                                                        <td>For a comment posted in a specific month (Offset to GMT)</td> 
     526                                                                </tr> 
     527                                                                <tr> 
     528                                                                        <td scope="row">c-y2007</td> 
     529                                                                        <td><code>gmdate('Y')</code></td> 
     530                                                                        <td>For a comment posted in a specific year (Offset to GMT)</td> 
     531                                                                </tr> 
     532                                                                <tr class="alt"> 
     533                                                                        <td scope="row">comment</td> 
     534                                                                        <td>n/a</td> 
     535                                                                        <td>A general class, applied to every comment</td> 
     536                                                                </tr> 
     537                                                                <tr> 
     538                                                                        <td scope="row">comment-author-[name]</td> 
     539                                                                        <td>n/a</td> 
     540                                                                        <td>For a comment by a specific registered user, where <i>[name]</i> is the user's login name, e.g., <code>comment-author-susan</code></td> 
     541                                                                </tr> 
     542                                                                <tr class="alt"> 
     543                                                                        <td scope="row">t[n]</td> 
     544                                                                        <td>n/a</td> 
     545                                                                        <td>For counting trackbacks relative to the first, where <i>[n]</i> is the number, e.g., <code>t1</code> for the first trackback, <code>t2</code> for the second, <code>t3</code> for the third</td> 
     546                                                                </tr> 
     547                                                                <tr> 
     548                                                                        <td scope="row">trackback</td> 
     549                                                                        <td>is_trackback()</td> 
     550                                                                        <td>When a comment is a trackback</td> 
     551                                                                </tr> 
     552                                                        </tbody> 
     553                                                </table><!-- #comment-class-table --> 
     554                                        </li><!-- #comment-class --> 
     555                                </ol> 
     556                        </li><!-- #functions --> 
     557                        <li id="features"> 
     558                                <h2>Other features</h2> 
     559                                <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> 
     560                                <ol> 
     561                                        <li id="comments"> 
     562                                                <h3>Comments on pages</h3> 
     563                                                <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> 
     564                                                <p>To enable comments on a page:</p> 
     565                                                <ol> 
     566                                                        <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> 
     567                                                        <li>In the <i>Custom Fields</i> box, add a new key with the exact text <code>comments</code></li> 
     568                                                        <li>Add any text for a value (some text must be included for the key to save)</li> 
     569                                                        <li>Click <i>Add Custom Field</i> to save the key/value</li> 
     570                                                        <li>Comments should now be enabled on that page</li> 
     571                                                </ol> 
     572                                                <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> 
     573                                        </li><!-- #comments --> 
     574                                        <li id="templates"> 
     575                                                <h3>Page templates</h3> 
     576                                                <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> 
     577                                                <p>To use the page templates:</p> 
     578                                                <ol> 
     579                                                        <li>In the <i>Write &rsaquo; Page</i> menu, expand the <i>Page Templates</i> box</li> 
     580                                                        <li>From the drop-down, select the page template to use</li> 
     581                                                        <li>Add a title and text (optional) for the page</li> 
     582                                                        <li>Click <i>Create New Page / Save</i> to publish the page</li> 
     583                                                </ol> 
     584                                                <p>The Archive Page template displays archives by month and by category. The Links Page displays links by link category.</p> 
     585                                        </li><!-- #templates --> 
     586                                </ol> 
     587                        </li><!-- #features --> 
     588                        <li id="creating"> 
     589                                <h2>Creating a theme template</h2> 
     590                                <p>If you are interested in creating a design for public release, consider creating a theme template based on the Sandbox. First read <a href="http://codex.wordpress.org/Designing_Themes_for_Public_Release" title="Designing Themes for Public Release - WordPress Codex" rel="external">Designing Themes for Public Release</a> on the WordPress Codex and seek support on the <a href="http://wordpress.org/support/" title="WordPress.org Support Forums" rel="external">WordPress.org Forums</a>.</p> 
     591                                <p>A theme template is a WordPress theme that uses the <abbr title="Preprocessor Hypertext">PHP</abbr> files, e.g., <code>index.php</code>, <code>single.php</code>, in another theme folder but the <code>style.css</code> of the theme template.</p> 
     592                                <p>For a collection of excellent theme templates designed for the Sandbox, visit the <a href="http://www.sndbx.org/" title="Sandbox Designs Competition" rel="me">Sandbox Designs Competition</a>. In 2007, there were 46 designs submitted in the competition. All are examples of theme templates based on the Sandbox.</p> 
     593                                <p>Creating a theme template is essentially the same as creating a regular theme for WordPress, except you are not modifying any of the theme files and instead providing an alternate <code>style.css</code>.</p> 
     594                                <pre class="css">/* 
     595THEME NAME: My Design 
     596THEME URI: http://www.sndbx.org/ 
     597DESCRIPTION: New curtains for an old room 
     598VERSION: 0.1 
     599AUTHOR: Scott Allan Wallick 
     600AUTHOR Uri: http://scottwallick.com/ 
     601TEMPLATE: sandbox 
     602*/</pre> 
     603                                <p>The line <code>TEMPLATE: sandbox</code> tells WordPress to use the theme files installed in the <code>/sandbox/</code> folder with the &quot;My Design&quot; <code>style.css</code> style sheet.</p> 
     604                                <p>You can read more detailed information about developing <a href="http://codex.wordpress.org/Theme_Development#Theme_Style_Sheet" title="WordPress Theme Development - Theme Style Sheets" rel="external">WordPress Theme Style Sheets</a> on the WordPress Codex.</p> 
     605                        </li><!-- #creating --> 
     606                        <li id="standards"> 
     607                                <h2>Web standards</h2> 
     608                                <p>The Sandbox is compliant with both <abbr title="eXtensible HyperText Markup Language">XHTML</abbr> and <abbr title="Cascading Style Sheets">CSS</abbr> 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> 
     609                                <blockquote cite="http://webstandards.org/learn/faq/" title="What are web standards and why should I use them?"> 
     610                                        <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> 
     611                                        <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> 
     612                                </blockquote> 
     613                                <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> 
     614                        </li><!-- #standards--> 
     615                        <li id="microformats"> 
     616                                <h2>Microformats</h2> 
     617                                <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> 
     618                                <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> 
     619                                <ul> 
     620                                        <li><a href="http://microformats.org/wiki/hatom" title="hAtom - Microformats" rel="external">hAtom</a>: For all blog posts and pages</li> 
     621                                        <li><a href="http://microformats.org/wiki/hcard" title="hCard - Microformats" rel="external">hCard</a>: For all post and comment authors</li> 
     622                                        <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> 
     623                                        <li><a href="http://microformats.org/wiki/xoxo" title="XOXO - Microformats" rel="external">XOXO</a>: For menu, blogroll, archive, and sidebar lists</li> 
     624                                </ul> 
     625                                <p>Microformats help the Sandbox be an especially <abbr title="Plain old semantic HTML">POSH</abbr> WordPress theme. POSH stands for "plain old semantic <abbr title="HyperText Markup Language">HTML</abbr>." It is a term used to refer to best practices of semantic <abbr title="HyperText Markup Language">HTML</abbr> development. The Microformats Wiki <a href="http://microformats.org/wiki/posh" title="POSH - Microformats" rel="external"><abbr title="Plain old semantic HTML">POSH</abbr> article</a> has a working copy of these best practices:</p> 
     626                                <ol> 
     627                                        <li>Validate your markup, meaning it should <em>be</em> valid, not just validated</li> 
     628                                        <li>No use of tables for presentational purposes&mdash;only for tabular data</li> 
     629                                        <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> 
     630                                        <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> 
     631                                        <li>Use well-formed, semantic class names (Sandbox does this for you)</li> 
     632                                </ol> 
     633                                <p>So the Sandbox can be highly <abbr title="Plain old semantic HTML">POSH</abbr>, but the semantic use of <abbr title="HyperText Markup Language">HTML</abbr> elements is completely up to you, the end user. To learn more about semantic <abbr title="HyperText Markup Language">HTML</abbr>, visit <a href="http://www.mezzoblue.com/downloads/markupguide/" title="mezzoblue &sect; Markup Guide">Mezzoblue</a>.</p> 
     634                        </li><!-- #microformats --> 
     635                        <li id="credits"> 
     636                                <h2>Credits and thanks</h2> 
     637                                <p>The Sandbox is a collaboration between <span class="vcard"><a class="url fn n" href="http://andy.wordpress.com/" title="Andy, WordPress.com" rel="friend colleague external"><span class="given-name">Andy</span><span class="family-name"> Skelton</span></a></span> and <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>.</p> 
     638                                <p>Thanks to all those who have provided their assistance, know-how, and generally sound advice on all things Sandbox. You are many. But a <em>special</em> thanks to the follow individuals:</p> 
     639                                <ul> 
     640                                        <li class="vcard"><a class="fn n url" href="http://archgfx.net/" title="archGFX" rel="friend colleague external"><span class="given-name">Adam</span></a></li> 
     641                                        <li class="vcard"><a class="fn n url" href="http://ntuat.wordpress.com/" title="ntu sandbox styles" rel="friend external"><span class="given-name">Carolyn</span></a></li> 
     642                                        <li class="vcard"><a class="fn n url" href="http://internetducttape.com/" title="Internet Duct Tape" rel="friend external"><span class="given-name">Engtech</span></a></li> 
     643                                        <li class="vcard"><a class="fn n url" href="http://lorelle.wordpress.com/" title="Lorell on WordPress" rel="contact external"><span class="given-name">Lorelle</span></a></li> 
     644                                </ul> 
     645                                <p>Thanks are due to those who helped ensure the success of the <a href="http://www.sndbx.org/" title="Sandbox Designs Competition" rel="me">Sandbox Designs Competition</a>:</p> 
     646                                <ul> 
     647                                        <li class="vcard"><a class="fn n url" href="http://www.css4design.com/blog/" title="CSS for Designr" rel="contact external"><span class="given-name">Bruno</span> <span class="family-name">Bichet</span></a></li> 
     648                                        <li class="vcard"><a class="fn n url" href="http://www.alistercameron.com/" title="Alister" rel="contact external"><span class="given-name">Alister</span> <span class="family-name">Cameron</span></a></li> 
     649                                        <li class="vcard"><a class="fn n url" href="http://www.websitestyle.com/" title="Nicole" rel="contact external"><span class="given-name">Nicole</span> <span class="family-name">Hernandez</span></a></li> 
     650                                        <li class="vcard"><a class="fn n url" href="http://alexking.org/" title="Alex" rel="contact external"><span class="given-name">Alex</span> <span class="family-name">King</span></a></li> 
     651                                        <li class="vcard"><a href="http://photomatt.net/" title="Matt" rel="contact external"><span class="given-name">Matt</span> <span class="family-name">Mullenweg</span></a></li> 
     652                                        <li class="vcard"><a class="fn n url" href="http://www.pressharbor.com/" title="PressHarbor" rel="contact external"><span class="org">PressHarbor</span></a></li> 
     653                                        <li class="vcard"><a class="fn n url" href="http://justagirlintheworld.com/" title="Lisa Sabin-Wilson" rel="contact external"><span class="given-name">Lisa</span> <span class="family-name">Sabin-Wilson</span></a></li> 
     654                                        <li class="vcard"><a class="fn n url" href="http://dowan.org/" title="Dowan.org" rel="contact external"><span class="given-name">Maja</span> <span class="family-name">Schmidt</span></a></li> 
     655                                        <li class="vcard"><a class="fn n url" href="http://theundersigned.net/" title="The undersigned" rel="contact external"><span class="given-name">Thomas</span> <span class="family-name">Silkj&aelig;r</span></a></li> 
     656                                        <li class="vcard"><a class="fn n url" href="http://www.wpdesigner.com/" title="WP Designer" rel="contact external"><span class="nickname">Small Potato</span></a></li> 
     657                                        <li class="vcard"><a class="fn n url" href="http://paulstamatiou.com/" title="Paul Stamatiou" rel="contact external"><span class="given-name">Paul</span> <span class="family-name">Stamatiou</span></a></li> 
     658                                        <li class="vcard"><a class="fn n url" href="http://bryanveloso.com/" title="Bryan Veloso" rel="contact external"><span class="given-name">Bryan</span> <span class="family-name">Veloso</span></a></li> 
     659                                        <li class="vcard"><a class="fn n url" href="http://beccary.com/" title="Beccary" rel="contact external"><span class="given-name">Becca</span> <span class="family-name">Wei</span></a></li> 
     660                                        <li class="vcard"><a class="fn n url" href="http://www.elizzza.net/" title="eliZZZa.net" rel="contact external"><span class="given-name">Elisabeth</span> <span class="family-name">Wetsch</span></a></li> 
     661                                        <li class="vcard"><a class="fn n url" href="http://www.jonathanwold.com/" title="Jonathan Wold" rel="contact external"><span class="given-name">Jonathan</span> <span class="family-name">Wold</span></a></li> 
     662                                        <li class="vcard"><a class="fn n url" href="http://thedesigncanopy.com/" title="The Design Canopy" rel="contact external"><span class="given-name">David</span> <span class="family-name">Yeiser</span></a></li> 
     663                                </ul> 
     664                        </li><!-- #extra --> 
     665                        <li id="license"> 
     666                                <h2>License</h2> 
     667                                <p>The Sandbox &copy; 2006&ndash;2008 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> 
     668                                <blockquote title="How to use the GPL or LPGL" cite="http://www.gnu.org/licenses/gpl-howto.html"> 
     669                                        <p>This program is free software; you can redistribute it and/or modify it under the terms of the <abbr title="GNU is Not Unix">GNU</abbr> General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version.</p> 
     670                                        <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 <abbr title="GNU is Not Unix">GNU</abbr> General Public License for more details.</p> 
     671                                        <p>You should have received a copy of the <abbr title="GNU is Not Unix">GNU</abbr> 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> 
     672                                </blockquote> 
     673                        </li><!-- #license --> 
     674                </ol><!-- #readme .xoxo --> 
     675                <div id="footer"> 
     676                        <p>Last updated 10 November 2007</p> 
     677                </div><!-- #footer --> 
     678        </div><!-- #readme --> 
     679</body> 
     680</html> 
     681 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 -200px 0 0; 
     8        width: 100%; 
     9} 
     10div#content { 
     11        margin: 0 200px 0 0; 
     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        float: left; 
     7        width: 100%; 
     8} 
     9div#content { 
     10        margin: 0 200px; 
     11} 
     12div.sidebar { 
     13        float: left; 
     14        overflow: hidden; 
     15        width: 180px; 
     16} 
     17div#primary { 
     18        margin: 0 0 0 -100%; 
     19} 
     20* html div#primary { 
     21        left: 20px; 
     22        position: relative; 
     23} 
     24div#secondary { 
     25        margin: 0 0 0 -200px; 
     26} 
     27div#footer {  
     28        clear: left; 
     29        width: 100%; 
     30} 
     31 No newline at end of file 
  • wp-content/themes/sandbox/sandbox-layouts/3c-r.css

     
     1/* 
     2LAYOUT: Three-Column (Right) 
     3DESCRIPTION: Three-column fluid layout with two sidebars right of content 
     4*/ 
     5div#container { 
     6        float: left; 
     7        width: 100%; 
     8} 
     9div#content { 
     10        margin: 0 400px 0 0; 
     11} 
     12div.sidebar { 
     13        float: left; 
     14        overflow: hidden; 
     15        width: 180px; 
     16} 
     17div#primary { 
     18        margin: 0 0 0 -400px; 
     19} 
     20div#secondary { 
     21        margin: 0 0 0 -200px; 
     22} 
     23div#footer { 
     24        clear: left; 
     25        width: 100% 
     26} 
     27 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/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/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 -200px 0 0; 
     8        width: 100%; 
     9} 
     10div#content { 
     11        margin: 0 200px 0 0; 
     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        float: left; 
     7        width: 100%; 
     8} 
     9div#content { 
     10        margin: 0 200px; 
     11} 
     12div.sidebar { 
     13        float: left; 
     14        overflow: hidden; 
     15        width: 180px; 
     16} 
     17div#primary { 
     18        margin: 0 0 0 -100%; 
     19} 
     20* html div#primary { 
     21        left: 20px; 
     22        position: relative; 
     23} 
     24div#secondary { 
     25        margin: 0 0 0 -200px; 
     26} 
     27div#footer {  
     28        clear: left; 
     29        width: 100%; 
     30} 
     31 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/3c-r.css

     
     1/* 
     2LAYOUT: Three-Column (Right) 
     3DESCRIPTION: Three-column fluid layout with two sidebars right of content 
     4*/ 
     5div#container { 
     6        float: left; 
     7        width: 100%; 
     8} 
     9div#content { 
     10        margin: 0 400px 0 0; 
     11} 
     12div.sidebar { 
     13        float: left; 
     14        overflow: hidden; 
     15        width: 180px; 
     16} 
     17div#primary { 
     18        margin: 0 0 0 -400px; 
     19} 
     20div#secondary { 
     21        margin: 0 0 0 -200px; 
     22} 
     23div#footer { 
     24        clear: left; 
     25        width: 100% 
     26} 
     27 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/search.php

    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<?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                                        <span class="tag-links"><?php the_tags(__('Tagged ', 'sandbox'), ', ') ?></span> 
     30                                        <span class="meta-sep">|</span> 
     31<?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"); ?> 
     32                                        <span class="comments-link"><?php comments_popup_link(__('Comments (0)', 'sandbox'), __('Comments (1)', 'sandbox'), __('Comments (%)', 'sandbox')) ?></span> 
     33                                </div> 
     34                        </div><!-- .post --> 
     35 
     36<?php endwhile; ?> 
     37 
     38                        <div id="nav-below" class="navigation"> 
     39                                <div class="nav-previous"><?php next_posts_link(__('<span class="meta-nav">&laquo;</span> Older posts', 'sandbox')) ?></div> 
     40                                <div class="nav-next"><?php previous_posts_link(__('Newer posts <span class="meta-nav">&raquo;</span>', 'sandbox')) ?></div> 
     41                        </div> 
     42 
     43<?php else : ?> 
     44 
     45                        <div id="post-0" class="post noresults"> 
     46                                <h2 class="entry-title"><?php _e('Nothing Found', 'sandbox') ?></h2> 
     47                                <div class="entry-content"> 
     48                                        <p><?php _e('Sorry, but nothing matched your search criteria. Please try again with some different keywords.', 'sandbox') ?></p> 
     49                                </div> 
     50                                <form id="noresults-searchform" method="get" action="<?php bloginfo('home') ?>"> 
     51                                        <div> 
     52                                                <input id="noresults-s" name="s" type="text" value="<?php echo wp_specialchars(stripslashes($_GET['s']), true) ?>" size="40" /> 
     53                                                <input id="noresults-searchsubmit" name="searchsubmit" type="submit" value="<?php _e('Find', 'sandbox') ?>" /> 
     54                                        </div> 
     55                                </form> 
     56                        </div><!-- .post --> 
     57 
     58<?php endif; ?> 
     59 
     60                </div><!-- #content --> 
     61        </div><!-- #container --> 
     62 
     63<?php get_sidebar() ?> 
     64<?php get_footer() ?> 
     65 No newline at end of file 
  • 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_categories('title_li=&show_count=0&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 wp_list_bookmarks('title_before=<h3>&title_after=</h3>&show_images=1') ?> 
     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  &nb