Ticket #4517: 4517-add-sandbox-0.9.5-theme.diff
File 4517-add-sandbox-0.9.5-theme.diff, 237.2 KB (added by , 18 years ago) |
---|
-
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 /* 2 THEME NAME: Sandbox 3 THEME URI: http://www.plaintxt.org/themes/sandbox/ 4 DESCRIPTION: A theme rich with powerful and dynamic semantic class selectors; a canvas for CSS artists 5 VERSION: 0.9.5 6 AUTHOR: <a href="http://andy.wordpress.com/">Andy Skelton</a> & <a href="http://www.plaintxt.org/">Scott Allan Wallick</a> 7 AUTHOR 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 */ 14 div#header{text-align:center;margin-bottom:2em;} 15 div#access div.skip-link{position:absolute;top:1em;right:1em;} 16 div#menu{font-size:0.9em;height:1.5em;padding-top:0.3em;background:#eee;width:100%;} 17 div#menu ul a{font-weight:700;text-decoration:none;} 18 div#menu ul,div#menu ul ul,div#menu ul li{list-style:none;margin:0;padding:0;} 19 div#menu ul li{float:left;} 20 div#menu ul li a{background:#eee;padding:0.3em 0.5em;} 21 div#menu ul ul{display:none;} 22 div#menu ul ul li{float:none;} 23 div#menu ul ul li a{margin:0;padding:0;} 24 div#menu ul li:hover ul{display:block;font-size:0.9em;padding-top:0.5em;position:absolute;} 25 div#menu ul li:hover ul li a{background:#f5f5f5;border:none;display:block;padding:0.1em;width:10em;} 26 27 .entry-title{clear:both;} 28 div#container,div.sidebar{margin-top:2em;} 29 div#nav-above,div#nav-below{width:100%;height:1em;} 30 div#nav-above{margin-bottom:1em;} 31 div#nav-below{margin-top:1em;} 32 .alignleft,div.nav-previous{float: left;} 33 .alignright,div.nav-next{float: right;} 34 form#commentform .form-label{margin:1em 0 0;} 35 form#commentform span.req-field{background:#fff;color:red;} 36 form#commentform,form#commentform p{padding:0;} 37 input#author,input#email,input#url{width:50%;} 38 input#author,input#email,input#url,textarea#comment{padding:0.2em;} 39 div.comments ol li{margin:0 0 3.5em;} 40 textarea#comment{height:13em;margin:0 0 0.5em;overflow:auto;width:66%;} 41 42 div.sidebar div,div.sidebar h3,div.sidebar ul,div.sidebar li{margin:0;padding:0;} 43 div.sidebar h3{font-size:1.2em;} 44 div.sidebar input#s{width:7em;} 45 div.sidebar li{list-style:none;margin:0 0 1em;} 46 div.sidebar li form{margin:0.2em 0 0;padding:0;} 47 div.sidebar ul ul{margin:0 0 0 1em;} 48 div.sidebar ul ul li{list-style:disc;margin:0;} 49 div.sidebar ul ul ul{margin:0 0 0 0.5em;} 50 div.sidebar ul ul ul li{list-style:circle;} 51 52 div#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">«</span> Older posts', 'sandbox')) ?></div> 13 <div class="nav-next"><?php previous_posts_link(__('Newer posts <span class="meta-nav">»</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 – %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">»</span>', 'sandbox').'') ?> 23 24 </div> 25 <div class="entry-meta"> 26 <span class="cat-links"><?php printf(__('Posted in %s', 'sandbox'), get_the_category_list(', ')) ?></span> 27 <span class="meta-sep">|</span> 28 <?php edit_post_link(__('Edit', 'sandbox'), "\t\t\t\t\t<span class=\"edit-link\">", "</span>\n\t\t\t\t\t<span class=\"meta-sep\">|</span>\n"); ?> 29 <span class="comments-link"><?php comments_popup_link(__('Comments (0)', 'sandbox'), __('Comments (1)', 'sandbox'), __('Comments (%)', 'sandbox')) ?></span> 30 </div> 31 </div><!-- .post --> 32 33 <?php endwhile ?> 34 35 <div id="nav-below" class="navigation"> 36 <div class="nav-previous"><?php next_posts_link(__('<span class="meta-nav">«</span> Older posts', 'sandbox')) ?></div> 37 <div class="nav-next"><?php previous_posts_link(__('Newer posts <span class="meta-nav">»</span>', 'sandbox')) ?></div> 38 </div> 39 40 </div><!-- #content --> 41 </div><!-- #container --> 42 43 <?php get_sidebar() ?> 44 <?php get_footer() ?> 45 No newline at end of file -
wp-content/themes/sandbox/archives.php
1 <?php 2 /* 3 Template 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">«</span> Older posts', 'sandbox')) ?></div> 12 <div class="nav-next"><?php previous_posts_link(__('Newer posts <span class="meta-nav">»</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 – %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">»</span>', 'sandbox').'') ?> 22 23 </div> 24 <div class="entry-meta"> 25 <span class="author vcard"><?php printf(__('By %s', 'sandbox'), '<a class="url fn n" href="'.get_author_link(false, $authordata->ID, $authordata->user_nicename).'" title="' . sprintf(__('View all posts by %s', 'sandbox'), $authordata->display_name) . '">'.get_the_author().'</a>') ?></span> 26 <span class="meta-sep">|</span> 27 <span class="cat-links"><?php printf(__('Posted in %s', 'sandbox'), get_the_category_list(', ')) ?></span> 28 <span class="meta-sep">|</span> 29 <?php edit_post_link(__('Edit', 'sandbox'), "\t\t\t\t\t<span class=\"edit-link\">", "</span>\n\t\t\t\t\t<span class=\"meta-sep\">|</span>\n"); ?> 30 <span class="comments-link"><?php comments_popup_link(__('Comments (0)', 'sandbox'), __('Comments (1)', 'sandbox'), __('Comments (%)', 'sandbox')) ?></span> 31 </div> 32 </div><!-- .post --> 33 34 <?php endwhile; ?> 35 36 <div id="nav-below" class="navigation"> 37 <div class="nav-previous"><?php next_posts_link(__('<span class="meta-nav">«</span> Older posts', 'sandbox')) ?></div> 38 <div class="nav-next"><?php previous_posts_link(__('Newer posts <span class="meta-nav">»</span>', 'sandbox')) ?></div> 39 </div> 40 41 <?php else : ?> 42 43 <div id="post-0" class="post noresults"> 44 <h2 class="entry-title"><?php _e('Nothing Found', 'sandbox') ?></h2> 45 <div class="entry-content"> 46 <p><?php _e('Sorry, but nothing matched your search criteria. Please try again with some different keywords.', 'sandbox') ?></p> 47 </div> 48 <form id="searchform" method="get" action="<?php bloginfo('home') ?>"> 49 <div> 50 <input id="s" name="s" type="text" value="<?php echo wp_specialchars(stripslashes($_GET['s']), true) ?>" size="40" /> 51 <input id="searchsubmit" name="searchsubmit" type="submit" value="<?php _e('Find', 'sandbox') ?>" /> 52 </div> 53 </form> 54 </div><!-- .post --> 55 56 <?php endif; ?> 57 58 </div><!-- #content --> 59 </div><!-- #container --> 60 61 <?php get_sidebar() ?> 62 <?php get_footer() ?> 63 No newline at end of file -
wp-content/themes/sandbox/index.php
1 <?php get_header() ?> 2 3 <div id="container"> 4 <div id="content"> 5 6 <div id="nav-above" class="navigation"> 7 <div class="nav-previous"><?php next_posts_link(__('<span class="meta-nav">«</span> Older posts', 'sandbox')) ?></div> 8 <div class="nav-next"><?php previous_posts_link(__('Newer posts <span class="meta-nav">»</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 – %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">»</span>', 'sandbox').''); ?> 17 18 <?php link_pages("\t\t\t\t\t<div class='page-link'>".__('Pages: ', 'sandbox'), "</div>\n", 'number'); ?> 19 </div> 20 <div class="entry-meta"> 21 <span class="author vcard"><?php printf(__('By %s', 'sandbox'), '<a class="url fn n" href="'.get_author_link(false, $authordata->ID, $authordata->user_nicename).'" title="' . sprintf(__('View all posts by %s', 'sandbox'), $authordata->display_name) . '">'.get_the_author().'</a>') ?></span> 22 <span class="meta-sep">|</span> 23 <span class="cat-links"><?php printf(__('Posted in %s', 'sandbox'), get_the_category_list(', ')) ?></span> 24 <span class="meta-sep">|</span> 25 <?php edit_post_link(__('Edit', 'sandbox'), "\t\t\t\t\t<span class=\"edit-link\">", "</span>\n\t\t\t\t\t<span class=\"meta-sep\">|</span>\n"); ?> 26 <span class="comments-link"><?php comments_popup_link(__('Comments (0)', 'sandbox'), __('Comments (1)', 'sandbox'), __('Comments (%)', 'sandbox')) ?></span> 27 </div> 28 </div><!-- .post --> 29 30 <?php comments_template() ?> 31 <?php endwhile ?> 32 33 <div id="nav-below" class="navigation"> 34 <div class="nav-previous"><?php next_posts_link(__('<span class="meta-nav">«</span> Older posts', 'sandbox')) ?></div> 35 <div class="nav-next"><?php previous_posts_link(__('Newer posts <span class="meta-nav">»</span>', 'sandbox')) ?></div> 36 </div> 37 38 </div><!-- #content --> 39 </div><!-- #container --> 40 41 <?php get_sidebar() ?> 42 <?php get_footer() ?> 43 No newline at end of file -
wp-content/themes/sandbox/404.php
1 <?php get_header() ?> 2 3 <div id="container"> 4 <div id="content"> 5 6 <div id="post-0" class="post error404"> 7 <h2 class="entry-title"><?php _e('Not Found', 'sandbox') ?></h2> 8 <div class="entry-content"> 9 <p><?php _e('Apologies, but we were unable to find what you were looking for. Perhaps searching will help.', 'sandbox') ?></p> 10 </div> 11 <form id="searchform" method="get" action="<?php bloginfo('home') ?>"> 12 <div> 13 <input id="s" name="s" type="text" value="<?php echo wp_specialchars(stripslashes($_GET['s']), true) ?>" size="40" /> 14 <input id="searchsubmit" name="searchsubmit" type="submit" value="<?php _e('Find', 'sandbox') ?>" /> 15 </div> 16 </form> 17 </div><!-- .post --> 18 19 </div><!-- #content --> 20 </div><!-- #container --> 21 22 <?php get_sidebar() ?> 23 <?php get_footer() ?> 24 No newline at end of file -
wp-content/themes/sandbox/functions.php
1 <?php 2 // Produces a list of pages in the header without whitespace -- er, I mean negative space. 3 function sandbox_globalnav() { 4 echo '<div id="menu"><ul>'; 5 $menu = wp_list_pages('title_li=&sort_column=post_title&echo=0'); // Params for the page list in header.php 6 echo str_replace(array("\r", "\n", "\t"), '', $menu); 7 echo "</ul></div>\n"; 8 } 9 10 // Checks for WP 2.1.x language_attributes() function 11 function sandbox_blog_lang() { 12 if ( function_exists('language_attributes') ) 13 return language_attributes(); 14 } 15 16 // Generates semantic classes for BODY element 17 function sandbox_body_class( $print = true ) { 18 global $wp_query, $current_user; 19 20 // It's surely a WordPress blog, right? 21 $c = array('wordpress'); 22 23 // Applies the time- and date-based classes (below) to BODY element 24 sandbox_date_classes(time(), $c); 25 26 // Generic semantic classes for what type of content is displayed 27 is_home() ? $c[] = 'home' : null; 28 is_archive() ? $c[] = 'archive' : null; 29 is_date() ? $c[] = 'date' : null; 30 is_search() ? $c[] = 'search' : null; 31 is_paged() ? $c[] = 'paged' : null; 32 is_attachment() ? $c[] = 'attachment' : null; 33 is_404() ? $c[] = 'four04' : null; // CSS does not allow a digit as first character 34 35 // Special classes for BODY element when a single post 36 if ( is_single() ) { 37 $postID = $wp_query->post->ID; 38 the_post(); 39 $c[] = 'single postid-' . $postID; 40 if ( isset($wp_query->post->post_date) ) 41 sandbox_date_classes(mysql2date('U', $wp_query->post->post_date), $c, 's-'); 42 foreach ( (array) get_the_category() as $cat ) 43 $c[] = 's-category-' . $cat->category_nicename; 44 $c[] = 's-author-' . sanitize_title_with_dashes(strtolower(get_the_author('login'))); 45 rewind_posts(); 46 } 47 48 // Author name classes for BODY on author archives 49 else if ( is_author() ) { 50 $author = $wp_query->get_queried_object(); 51 $c[] = 'author'; 52 $c[] = 'author-' . $author->user_nicename; 53 } 54 55 // Category name classes for BODY on category archvies 56 else if ( is_category() ) { 57 $cat = $wp_query->get_queried_object(); 58 $c[] = 'category'; 59 $c[] = 'category-' . $cat->category_nicename; 60 } 61 62 // Page author for BODY on 'pages' 63 else if ( is_page() ) { 64 $pageID = $wp_query->post->ID; 65 the_post(); 66 $c[] = 'page pageid-' . $pageID; 67 $c[] = 'page-author-' . sanitize_title_with_dashes(strtolower(get_the_author('login'))); 68 rewind_posts(); 69 } 70 71 // For when a visitor is logged in while browsing 72 if ( $current_user->ID ) 73 $c[] = 'loggedin'; 74 75 // Paged classes; for 'page X' classes of index, single, etc. 76 if ( ( ( $page = $wp_query->get("paged") ) || ( $page = $wp_query->get("page") ) ) && $page > 1 ) { 77 $c[] = 'paged-'.$page.''; 78 if ( is_single() ) { 79 $c[] = 'single-paged-'.$page.''; 80 } else if ( is_page() ) { 81 $c[] = 'page-paged-'.$page.''; 82 } else if ( is_category() ) { 83 $c[] = 'category-paged-'.$page.''; 84 } else if ( is_date() ) { 85 $c[] = 'date-paged-'.$page.''; 86 } else if ( is_author() ) { 87 $c[] = 'author-paged-'.$page.''; 88 } else if ( is_search() ) { 89 $c[] = 'search-paged-'.$page.''; 90 } 91 } 92 93 // Separates classes with a single space, collates classes for BODY 94 $c = join(' ', apply_filters('body_class', $c)); 95 96 // And tada! 97 return $print ? print($c) : $c; 98 } 99 100 // Generates semantic classes for each post DIV element 101 function sandbox_post_class( $print = true ) { 102 global $post, $sandbox_post_alt; 103 104 // hentry for hAtom compliace, gets 'alt' for every other post DIV, describes the post type and p[n] 105 $c = array('hentry', "p$sandbox_post_alt", $post->post_type, $post->post_status); 106 107 // Author for the post queried 108 $c[] = 'author-' . sanitize_title_with_dashes(strtolower(get_the_author('login'))); 109 110 // Category for the post queried 111 foreach ( (array) get_the_category() as $cat ) 112 $c[] = 'category-' . $cat->category_nicename; 113 114 // For password-protected posts 115 if ( $post->post_password ) 116 $c[] = 'protected'; 117 118 // Applies the time- and date-based classes (below) to post DIV 119 sandbox_date_classes(mysql2date('U', $post->post_date), $c); 120 121 // If it's the other to the every, then add 'alt' class 122 if ( ++$sandbox_post_alt % 2 ) 123 $c[] = 'alt'; 124 125 // Separates classes with a single space, collates classes for post DIV 126 $c = join(' ', apply_filters('post_class', $c)); 127 128 // And tada! 129 return $print ? print($c) : $c; 130 } 131 132 // Define the num val for 'alt' classes (in post DIV and comment LI) 133 $sandbox_post_alt = 1; 134 135 // Generates semantic classes for each comment LI element 136 function sandbox_comment_class( $print = true ) { 137 global $comment, $post, $sandbox_comment_alt; 138 139 // Collects the comment type (comment, trackback), 140 $c = array($comment->comment_type); 141 142 // Counts trackbacks (t[n]) or comments (c[n]) 143 if ($comment->comment_type == 'trackback') { 144 $c[] = "t$sandbox_comment_alt"; 145 } else { 146 $c[] = "c$sandbox_comment_alt"; 147 } 148 149 // If the comment author has an id (registered), then print the log in name 150 if ( $comment->user_id > 0 ) { 151 $user = get_userdata($comment->user_id); 152 153 // For all registered users, 'byuser'; to specificy the registered user, 'commentauthor+[log in name]' 154 $c[] = "byuser comment-author-".strtolower($user->user_login); 155 156 // For comment authors who are the author of the post 157 if ( $comment->user_id === $post->post_author ) 158 $c[] = 'bypostauthor'; 159 } 160 161 // If it's the other to the every, then add 'alt' class; collects time- and date-based classes 162 sandbox_date_classes(mysql2date('U', $comment->comment_date), $c, 'c-'); 163 if ( ++$sandbox_comment_alt % 2 ) 164 $c[] = 'alt'; 165 166 // Separates classes with a single space, collates classes for comment LI 167 $c = join(' ', apply_filters('comment_class', $c)); 168 169 // Tada again! 170 return $print ? print($c) : $c; 171 } 172 173 // Generates time- and date-based classes for BODY, post DIVs, and comment LIs; relative to GMT (UTC) 174 function sandbox_date_classes($t, &$c, $p = '') { 175 $t = $t + (get_settings('gmt_offset') * 3600); 176 $c[] = $p . 'y' . gmdate('Y', $t); // Year 177 $c[] = $p . 'm' . gmdate('m', $t); // Month 178 $c[] = $p . 'd' . gmdate('d', $t); // Day 179 $c[] = $p . 'h' . gmdate('H', $t); // Hour 180 } 181 182 // For category lists on category archives, returns other categorys except the current one (redundant) 183 function sandbox_cats_meow($glue) { 184 $current_cat = single_cat_title('', false); 185 $separator = "\n"; 186 $cats = explode($separator, get_the_category_list($separator)); 187 188 foreach ( $cats as $i => $str ) { 189 if ( strstr($str, ">$current_cat<") ) { 190 unset($cats[$i]); 191 break; 192 } 193 } 194 195 if ( empty($cats) ) 196 return false; 197 198 return trim(join($glue, $cats)); 199 } 200 201 // Widget: Search; to match the Sandbox style and replace Widget plugin default 202 function widget_sandbox_search($args) { 203 extract($args); 204 if ( empty($title) ) 205 $title = __('Search', 'sandbox'); 206 ?> 207 <?php echo $before_widget ?> 208 <?php echo $before_title ?><label for="s"><?php echo $title ?></label><?php echo $after_title ?> 209 <form id="searchform" method="get" action="<?php bloginfo('home') ?>"> 210 <div> 211 <input id="s" name="s" type="text" value="<?php echo wp_specialchars(stripslashes($_GET['s']), true) ?>" size="10" tabindex="1" /> 212 <input id="searchsubmit" name="searchsubmit" type="submit" value="<?php _e('Find', 'sandbox') ?>" tabindex="2" /> 213 </div> 214 </form> 215 <?php echo $after_widget ?> 216 217 <?php 218 } 219 220 // Widget: Meta; to match the Sandbox style and replace Widget plugin default 221 function widget_sandbox_meta($args) { 222 extract($args); 223 if ( empty($title) ) 224 $title = __('Meta', 'sandbox'); 225 ?> 226 <?php echo $before_widget; ?> 227 <?php echo $before_title . $title . $after_title; ?> 228 <ul> 229 <?php wp_register() ?> 230 <li><?php wp_loginout() ?></li> 231 <?php wp_meta() ?> 232 </ul> 233 <?php echo $after_widget; ?> 234 <?php 235 } 236 237 // Widget: RSS links; to match the Sandbox style 238 function widget_sandbox_rsslinks($args) { 239 extract($args); 240 $options = get_option('widget_sandbox_rsslinks'); 241 $title = empty($options['title']) ? __('RSS Links', 'sandbox') : $options['title']; 242 ?> 243 <?php echo $before_widget; ?> 244 <?php echo $before_title . $title . $after_title; ?> 245 <ul> 246 <li><a href="<?php bloginfo('rss2_url') ?>" title="<?php echo wp_specialchars(get_bloginfo('name'), 1) ?> <?php _e('Posts RSS feed', 'sandbox'); ?>" rel="alternate" type="application/rss+xml"><?php _e('All posts', 'sandbox') ?></a></li> 247 <li><a href="<?php bloginfo('comments_rss2_url') ?>" title="<?php echo wp_specialchars(bloginfo('name'), 1) ?> <?php _e('Comments RSS feed', 'sandbox'); ?>" rel="alternate" type="application/rss+xml"><?php _e('All comments', 'sandbox') ?></a></li> 248 </ul> 249 <?php echo $after_widget; ?> 250 <?php 251 } 252 253 // Widget: RSS links; element controls for customizing text within Widget plugin 254 function widget_sandbox_rsslinks_control() { 255 $options = $newoptions = get_option('widget_sandbox_rsslinks'); 256 if ( $_POST["rsslinks-submit"] ) { 257 $newoptions['title'] = strip_tags(stripslashes($_POST["rsslinks-title"])); 258 } 259 if ( $options != $newoptions ) { 260 $options = $newoptions; 261 update_option('widget_sandbox_rsslinks', $options); 262 } 263 $title = htmlspecialchars($options['title'], ENT_QUOTES); 264 ?> 265 <p><label for="rsslinks-title"><?php _e('Title:'); ?> <input style="width: 250px;" id="rsslinks-title" name="rsslinks-title" type="text" value="<?php echo $title; ?>" /></label></p> 266 <input type="hidden" id="rsslinks-submit" name="rsslinks-submit" value="1" /> 267 <?php 268 } 269 270 // Widget and Sandbox function: creates bookmark links (blogrolls) for WP 2.0.x or WP 2.1.x 271 function widget_sandbox_links() { 272 // Checks for WP 2.1.x bookmarks function 273 if ( function_exists('wp_list_bookmarks') ) { 274 wp_list_bookmarks(array('title_before'=>'<h3>', 'title_after'=>'</h3>', 'show_images'=>true)); 275 } else { 276 // If not WP 2.1.x, then on the database . . . 277 global $wpdb; 278 279 // Nasty bit of code to make pretty WP 2.0.x blogrolls 280 $cats = $wpdb->get_results(" 281 SELECT DISTINCT link_category, cat_name, show_images, 282 show_description, show_rating, show_updated, sort_order, 283 sort_desc, list_limit 284 FROM `$wpdb->links` 285 LEFT JOIN `$wpdb->linkcategories` ON (link_category = cat_id) 286 WHERE link_visible = 'Y' 287 AND list_limit <> 0 288 ORDER BY cat_name ASC", ARRAY_A); 289 290 // Sorts blogroll categorys by name 291 if ($cats) { 292 foreach ($cats as $cat) { 293 $orderby = $cat['sort_order']; 294 $orderby = (bool_from_yn($cat['sort_desc'])?'_':'') . $orderby; 295 296 // Display the category name 297 echo ' <li id="linkcat-' . $cat['link_category'] . '"><h3>' . $cat['cat_name'] . "</h3>\n\t<ul>\n"; 298 299 // Call get_links() with all the appropriate params 300 get_links($cat['link_category'], 301 '<li>',"</li>","\n", 302 bool_from_yn($cat['show_images']), 303 $orderby, 304 bool_from_yn($cat['show_description']), 305 bool_from_yn($cat['show_rating']), 306 $cat['list_limit'], 307 bool_from_yn($cat['show_updated'])); 308 309 // Closes any oustanding accounts 310 echo "\n\t</ul>\n</li>\n"; 311 } 312 } 313 } 314 } 315 316 // Widgets plugin: intializes the plugin after the widgets above have passed snuff 317 function sandbox_widgets_init() { 318 if ( !function_exists('register_sidebars') ) 319 return; 320 321 // Uses H3-level headings with all widgets to match Sandbox style 322 $p = array( 323 'before_title' => "<h3 class='widgettitle'>", 324 'after_title' => "</h3>\n", 325 ); 326 327 // Table for how many? Two? This way, please. 328 register_sidebars(2, $p); 329 330 // Finished intializing Widgets plugin, now let's load the Sandbox default widgets 331 register_sidebar_widget(__('Search', 'sandbox'), 'widget_sandbox_search', null, 'search'); 332 unregister_widget_control('search'); 333 register_sidebar_widget(__('Meta', 'sandbox'), 'widget_sandbox_meta', null, 'meta'); 334 unregister_widget_control('meta'); 335 register_sidebar_widget(__('Links', 'sandbox'), 'widget_sandbox_links', null, 'links'); 336 unregister_widget_control('links'); 337 register_sidebar_widget(array(__('RSS Links', 'sandbox'), 'widgets'), 'widget_sandbox_rsslinks'); 338 register_widget_control(array(__('RSS Links', 'sandbox'), 'widgets'), 'widget_sandbox_rsslinks_control', 300, 90); 339 } 340 341 // Translate, if applicable 342 load_theme_textdomain('sandbox'); 343 344 // Runs our code at the end to check that everything needed has loaded 345 add_action('init', 'sandbox_widgets_init'); 346 347 // Adds filters so that things run smoothly 348 add_filter('archive_meta', 'wptexturize'); 349 add_filter('archive_meta', 'convert_smilies'); 350 add_filter('archive_meta', 'convert_chars'); 351 add_filter('archive_meta', 'wpautop'); 352 353 // Remember: a Sandbox is for play. 354 ?> -
wp-content/themes/sandbox/sidebar.php
1 <div id="primary" class="sidebar"> 2 <ul class="xoxo"> 3 <?php if (!function_exists('dynamic_sidebar') || !dynamic_sidebar(1) ) : // begin primary sidebar widgets ?> 4 5 <li id="pages"> 6 <h3><?php _e('Pages', 'sandbox') ?></h3> 7 <ul> 8 <?php wp_list_pages('title_li=&sort_column=post_title' ) ?> 9 </ul> 10 </li> 11 12 <li id="categories"> 13 <h3><?php _e('Categories', 'sandbox'); ?></h3> 14 <ul> 15 <?php wp_list_cats('sort_column=name&hierarchical=1') ?> 16 17 </ul> 18 </li> 19 20 <li id="archives"> 21 <h3><?php _e('Archives', 'sandbox') ?></h3> 22 <ul> 23 <?php wp_get_archives('type=monthly') ?> 24 25 </ul> 26 </li> 27 <?php endif; // end primary sidebar widgets ?> 28 </ul> 29 </div><!-- #primary .sidebar --> 30 31 <div id="secondary" class="sidebar"> 32 <ul class="xoxo"> 33 <?php if (!function_exists('dynamic_sidebar') || !dynamic_sidebar(2) ) : // begin secondary sidebar widgets ?> 34 <li id="search"> 35 <h3><label for="s"><?php _e('Search', 'sandbox') ?></label></h3> 36 <form id="searchform" method="get" action="<?php bloginfo('home') ?>"> 37 <div> 38 <input id="s" name="s" type="text" value="<?php echo wp_specialchars(stripslashes($_GET['s']), true) ?>" size="10" tabindex="1" /> 39 <input id="searchsubmit" name="searchsubmit" type="submit" value="<?php _e('Find', 'sandbox') ?>" tabindex="2" /> 40 </div> 41 </form> 42 </li> 43 44 <?php widget_sandbox_links() ?> 45 46 <li id="rss-links"> 47 <h3><?php _e('RSS Feeds', 'sandbox') ?></h3> 48 <ul> 49 <li><a href="<?php bloginfo('rss2_url') ?>" title="<?php echo wp_specialchars(get_bloginfo('name'), 1) ?> <?php _e('Posts RSS feed', 'sandbox'); ?>" rel="alternate" type="application/rss+xml"><?php _e('All posts', 'sandbox') ?></a></li> 50 <li><a href="<?php bloginfo('comments_rss2_url') ?>" title="<?php echo wp_specialchars(bloginfo('name'), 1) ?> <?php _e('Comments RSS feed', 'sandbox'); ?>" rel="alternate" type="application/rss+xml"><?php _e('All comments', 'sandbox') ?></a></li> 51 </ul> 52 </li> 53 54 <li id="meta"> 55 <h3><?php _e('Meta', 'sandbox') ?></h3> 56 <ul> 57 <?php wp_register() ?> 58 59 <li><?php wp_loginout() ?></li> 60 <?php wp_meta() ?> 61 62 </ul> 63 </li> 64 <?php endif; // end secondary sidebar widgets ?> 65 </ul> 66 </div><!-- #secondary .sidebar --> -
wp-content/themes/sandbox/readme.html
Cannot display: file marked as a binary type. svn:mime-type = application/octet-stream Property changes on: wp-content\themes\sandbox\screenshot.png ___________________________________________________________________ Name: svn:mime-type + application/octet-stream
1 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> 2 <html xmlns="http://www.w3.org/1999/xhtml"> 3 <head profile="http://gmpg.org/xfn/11"> 4 <title>The Sandbox · An explanation</title> 5 <meta http-equiv="content-type" content="text/html; charset=UTF-8" /> 6 <meta http-equiv="content-language" content="en-us" /> 7 <meta name="description" content="Sandbox: a highly semantic theme with powerful, dynamic class selectors" /> 8 <meta name="keywords" content="sandbox,xhtml,hatom,hcard,microformats,semantics,css,wordpress" /> 9 <style type="text/css" media="all"> 10 /*<![CDATA[*/ 11 body{background:#fcfcfc;color:#444;font:normal 70%/150% verdana,geneva,sans-serif;margin:0;padding:0;} 12 body blockquote{border-left:5px solid #f6f6f6;padding-left:0.5em;} 13 body code,body pre{font:1em/150% consolas,"courier new",courier,monospace;} 14 body div#readme{background:#fff;border-left:3px solid #f9f9f9;border-right:3px solid #f9f9f9;color:#444;margin:0 auto;padding:1em 2em;width:50em;} 15 body div#readme div#footer{margin:3em auto 1em;text-align:center;} 16 body div#readme div#footer p{background:#ffd;color:#666;display:inline;padding:0.2em 0.5em;} 17 body div#readme div#header{margin:0 auto;text-align:center;} 18 body div#readme div#header div.readme-version{font-size:0.9em;margin:0 0 0.5em;text-transform:uppercase;letter-spacing:0.1em;} 19 body h1{font-size:3.2em;} 20 body h1,body h2,body h3{font-family:garamond,georgia,times,serif;font-weight:400;} 21 body h2{font-size:2em;margin-top:3em;} 22 body h3{font-size:1.6em;margin-top:2em;} 23 body ol li ol li,body ol li#features ol li ol li{list-style:decimal;} 24 body ol li#functions h3{font-size:1.5em;} 25 body ol li#functions ol{list-style:lower-alpha;margin:0 0 0 2em;padding:0;} 26 body ol li#license blockquote a{color:#222;text-decoration:none;} 27 body ol li#license blockquote strong{font-size:0.9em;font-weight:400;text-transform:uppercase;} 28 body ol li,body ol#menu li ol li{list-style:upper-roman;} 29 body ol ul li{list-style:square;} 30 body ol#menu li{list-style:none;} 31 body ol#menu li ol li ol li,body ol li#functions ol li,body ol li#features ol li{list-style:lower-roman;} 32 body pre span,body span.bold{font-weight:700;} 33 body span.vcard span.family-name,body span.vcard span.additional-name{display:none;} 34 table{border-collapse:separate;border-color:#aaa;border-spacing:0;border-style:solid;border-width:1px;padding:0 0.5em;} 35 table tbody td{border-collapse:separate;border-color:#aaa;border-style:solid;border-width:0.5px 0;padding:0.2em 0.5em;} 36 table tbody th{border-bottom:1px solid #aaa;font-size:0.8em;text-align:left;text-transform:uppercase;} 37 table tbody tr.alt{background:#f5f5f5;} 38 table tfoot th{font-size:0.8em;padding-top:1em;text-align:left;text-transform:uppercase;} 39 table thead th{padding:0.5em;} 40 /*]]>*/ 41 </style> 42 </head> 43 <body> 44 <div id="readme"> 45 46 <div id="header"> 47 <h1 id="title">The Sandbox</h1> 48 <div class="readme-version">Version 0.9.5</div> 49 <div class="readme-subtitle">A theme rich with powerful and dynamic semantic class selectors</div> 50 </div><!-- #header --> 51 52 <ol id="menu" class="xoxo"> 53 <li> 54 <h2>Table of contents</h2> 55 <ol> 56 <li><a href="#introduction" title="Skip to Introduction">Introduction</a></li> 57 <li><a href="#installing" title="Skip to Installing">Installing</a></li> 58 <li><a href="#functions" title="Skip to Class functions">Class functions</a> 59 <ol> 60 <li><a href="#body-class" title="Skip to Class functions: sandbox_body_class()"><code>sandbox_body_class()</code></a></li> 61 <li><a href="#post-class" title="Skip to Class functions: sandbox_post_class()"><code>sandbox_post_class()</code></a></li> 62 <li><a href="#comment-class" title="Skip to Class functions: sandbox_comment_class()"><code>sandbox_comment_class()</code></a></li> 63 </ol> 64 </li> 65 <li><a href="#standards" title="Skip to Web standards">Web standards</a></li> 66 <li><a href="#microformats" title="Skip to Microformats">Microformats</a></li> 67 <li><a href="#features" title="Skip to Other features">Other features</a> 68 <ol> 69 <li><a href="#comments" title="Skip to Other features: Comments on pages">Comments on pages</a></li> 70 <li><a href="#templates" title="Skip to Other features: Page templates">Page templates</a></li> 71 </ol> 72 </li> 73 <li><a href="#license" title="Skip to License">License</a></li> 74 </ol> 75 </li> 76 </ol><!-- #menu .xoxo --> 77 78 <ol id="content" class="xoxo"> 79 <li id="introduction"> 80 <h2>Introduction</h2> 81 <p>The Sandbox is a lot of things:</p> 82 <ul> 83 <li>Beautiful on the inside</li> 84 <li>For WordPress 2.0.2 through 2.2.x</li> 85 <li>Valid <abbr title="eXtensible HyperText Markup Language">XHTML</abbr> 1.0 Transitional</li> 86 <li>Widgets plugin-friendly</li> 87 <li>The basis for your new, <abbr title="GNU Public Licence">GPL</abbr>-licensed theme</li> 88 </ul> 89 <p>More importantly, the Sandbox <em>can be</em> a lot of things.</p> 90 <p>What began as <span class="vcard"><a class="url fn n" href="http://www.plaintxt.org/" title="Scott, plaintxt.org" rel="me"><span class="given-name">Scott</span><span class="additional-name"> Allan</span><span class="family-name"> Wallick</span></a></span>'s leftovers has become an advanced, semantics-based theme. <span class="vcard"><a class="url fn n" href="http://andy.wordpress.com/" title="Andy, WordPress.com"><span class="given-name">Andy</span><span class="family-name"> Skelton</span></a></span> added his innovative semantic class-generating functions and Scott edited it to oblivion.</p> 91 <p>So what can you do with the Sandbox?</p> 92 <ul> 93 <li>You can just use it as-is and have a super-cool, truly minimalist theme.</li> 94 <li>You can totally cusotmize it with <abbr title="Cascading Style Sheets">CSS</abbr> alone—no need to bother with other files.</li> 95 <li>You can use the functions, theme files, et al, as pleases you—even for your own theme.</li> 96 <li>You can use it as a good place to learn a few things about CSS, XHTML, and <abbr title="Hypertext Preprocessor">PHP</abbr>, perhaps.</li> 97 </ul> 98 <p>The real feature of the Sandbox is its markup. The use of class-generating functions in the <code>body</code>, post <code>div</code>, and comment/trackback <code>li</code> elements create an exceptionally extensible foundation. As Andy said, <q cite="http://andy.wordpress.com/2006/07/20/generated-semantic-classes-2/" title="Generated Semantic Classes 2">Given straightforward markup with plenty of selectors, there isn't much that can't be accomplished with CSS and a decent browser.</q></p> 99 <p>And the implementation of the hAtom and hCard microformats means we're looking forward (and pleasing the barons at Technorati). You might be able to improve on our markup, but, well, who wants to work that hard?</p> 100 </li><!-- #introduction --> 101 102 <li id="installing"> 103 <h2>Installing</h2> 104 <p>The Sandbox theme is installed just like any other WordPress theme. To install this theme:</p> 105 <ol> 106 <li>Download the <a href="http://www.plaintxt.org/themes/sandbox/" title="The Sandbox for WordPress" rel="me">Sandbox</a></li> 107 <li>Extract the <code>/sandbox/</code> folder from the archive</li> 108 <li>Upload this folder to the <code>/wp-contents/themes/</code> directory</li> 109 <li>Activate the theme in the <i>Dashboard › Presentation</i> menu</li> 110 <li>Enjoy</li> 111 </ol> 112 <p>You can read more detailed installation instructions on the <a href="http://codex.wordpress.org/Using_Themes#Adding_New_Themes" title="Adding new themes - WordPress Codex" rel="external">WordPress Codex</a>.</p> 113 <p>Developers interested in <a href="http://en.wikipedia.org/wiki/Subversion_(software)" title="Subersion - Wikipedia" rel="external">Subversion</a> access to the Sandbox repository may visit <a href="http://code.google.com/p/sandbox-theme" title="Sandbox theme on Google Code" rel="external">code.google.com/p/sandbox-theme</a>. Please ignore this if you are not familiar with Subversion.</p> 114 </li><!-- #installing --> 115 116 <li id="functions"> 117 <h2>Class functions</h2> 118 <p>The three semantic class-generating functions used in the Sandbox are charted below, outlining what semantic classes are generated (“Class”), any related WordPress function (“WP Tag”), and the usage of these classes (“Usage”). For more on the WP Tag aspect, read the <a href="http://codex.wordpress.org/Template_Tags" title="Template tags « WordPress Codex" rel="external">Template Tags</a> and <a href="http://codex.wordpress.org/Conditional_Tags" title="Conditional Tags « WordPress Codex" rel="external">Conditional Tags</a> articles on the WordPress Codex.</p> 119 120 <ol> 121 <li id="body-class"> 122 <h3><code>sandbox_body_class()</code></h3> 123 <p>The <code>sandbox_body_class()</code> function is definied in the <code>functions.php</code> file. It has no parameters. It adds semantic classes to the <code>body</code> element relative to the content of the page that is being displayed.</p> 124 <pre><body class="<span><?php sandbox_body_class() ?></span>"></pre> 125 <p>The chart below lists the semantic classes added to the <code>body</code> tag by this function.</p> 126 <table id="body-class-table" summary="Classes given to the body element sandbody_body_class()"> 127 <thead> 128 <tr> 129 <th colspan="3" scope="colgroup"><code>sandbox_body_class()</code></th> 130 </tr> 131 </thead> 132 <tfoot> 133 <tr> 134 <th colspan="3" scope="colgroup">CSS example</th> 135 </tr> 136 <tr> 137 <td colspan="3" scope="row" abbr="CSS example"><code>body.single div.sidebar { display: none; }</code></td> 138 </tr> 139 </tfoot> 140 <tbody> 141 <tr> 142 <th scope="col" abbr="class">Class</th> 143 <th scope="col" abbr="tag">WP Tag</th> 144 <th scope="col" abbr="use">Usage</th> 145 </tr> 146 <tr class="alt"> 147 <td scope="row">archive</td> 148 <td><code>is_archive()</code></td> 149 <td>When <em>any</em> archive page is displayed, i.e., applies to category-, date-, and author-based archive pages</td> 150 </tr> 151 <tr> 152 <td scope="row">attachment</td> 153 <td><code>is_attachment()</code></td> 154 <td>When the post subpage containing an attachment is displayed, as set with "Linked to Page" in the post editor</td> 155 </tr> 156 <tr class="alt"> 157 <td scope="row">author</td> 158 <td><code>is_author()</code></td> 159 <td>When a author archive page is displayed</td> 160 </tr> 161 <tr> 162 <td scope="row">author-[name]</td> 163 <td><code>is_author()</code></td> 164 <td>When a specific author archive page is displayed, where <i>[name]</i> is the author's login name, e.g., author-admin</td> 165 </tr> 166 <tr class="alt"> 167 <td scope="row">author-paged-[n]</td> 168 <td><code>is_author()</code> & <code>is_paged()</code></td> 169 <td>Displays the "paged" number of author archive, where <i>[n]</i> is the paginated number</td> 170 </tr> 171 <tr> 172 <td scope="row">category</td> 173 <td><code>is_category()</code></td> 174 <td>When a category archive page is displayed</td> 175 </tr> 176 <tr class="alt"> 177 <td scope="row">category-[name]</td> 178 <td><code>is_category()</code></td> 179 <td>For a specific category, where <i>[name]</i> is the category slug, e.g., category-useful-links</td> 180 </tr> 181 <tr> 182 <td scope="row">category-paged-[n]</td> 183 <td><code>is_category()</code> & <code>is_paged()</code></td> 184 <td>Displays the "paged" number of category archive, where <i>[n]</i> is the paginated number</td> 185 </tr> 186 <tr class="alt"> 187 <td scope="row">d01–31</td> 188 <td><code>gmdate('d')</code></td> 189 <td>The current day of when the page is displayed (Offset to GMT)</td> 190 </tr> 191 <tr> 192 <td scope="row">date</td> 193 <td><code>is_date()</code></td> 194 <td>When a date archive page is displayed, e.g., by month, by year</td> 195 </tr> 196 <tr class="alt"> 197 <td scope="row">date-paged-[n]</td> 198 <td><code>is_date()</code> & <code>is_paged()</code></td> 199 <td>Displays the "paged" number of date-based archive, where <i>[n]</i> is the paginated number</td> 200 </tr> 201 <tr> 202 <td scope="row">h00–24</td> 203 <td><code>gmdate('h')</code></td> 204 <td>The current hour of when the page is displayed (Offset to GMT)</td> 205 </tr> 206 <tr class="alt"> 207 <td scope="row">four04</td> 208 <td><code>is_404()</code></td> 209 <td>When a request results in zero posts, i.e., a 404 error page</td> 210 </tr> 211 <tr> 212 <td scope="row">home</td> 213 <td><code>is_home()</code></td> 214 <td>When the home page is displayed</td> 215 </tr> 216 <tr class="alt"> 217 <td scope="row">m00–12</td> 218 <td><code>gmdate('m')</code></td> 219 <td>The current month of when the page is displayed (Offset to GMT)</td> 220 </tr> 221 <tr> 222 <td scope="row">loggedin</td> 223 <td>n/a</td> 224 <td>When the page is displayed by a logged-in user</td> 225 </tr> 226 <tr class="alt"> 227 <td scope="row">page</td> 228 <td><code>is_page()</code></td> 229 <td>When a page is displayed</td> 230 </tr> 231 <tr> 232 <td scope="row">page-author-[name]</td> 233 <td><code>is_page()</code></td> 234 <td>For a page by a specific author, where <i>[name]</i> is the user's login name, e.g., page-author-admin</td> 235 </tr> 236 <tr class="alt"> 237 <td scope="row">page-paged-[n]</td> 238 <td><code>is_page()</code> & <code>is_paged()</code></td> 239 <td>Displays the "paged" number of pages, where <i>[n]</i> is the paginated number</td> 240 </tr> 241 <tr> 242 <td scope="row">paged</td> 243 <td><code>is_paged()</code></td> 244 <td>When whatever is displayed is "paged," e.g., page 2 of the index</td> 245 </tr> 246 <tr class="alt"> 247 <td scope="row">paged-[n]</td> 248 <td><code>is_paged()</code></td> 249 <td>Displays the "paged" number, where <i>[n]</i> is the paginated number, e.g., paged-3 for third page of index</td> 250 </tr> 251 <tr> 252 <td scope="row">pageid-[n]</td> 253 <td><code>is_page()</code></td> 254 <td>Displays the page ID number of queried page, where <i>[n]</i> is the page ID, e.g., pageid-20</td> 255 </tr> 256 <tr class="alt"> 257 <td scope="row">postid-[n]</td> 258 <td><code>is_single()</code></td> 259 <td>Displays the post ID number of queried post, where <i>[n]</i> is the post ID, e.g., postid-20</td> 260 </tr> 261 <tr> 262 <td scope="row">search</td> 263 <td><code>is_search()</code></td> 264 <td>When the results of a search are displayed</td> 265 </tr> 266 <tr class="alt"> 267 <td scope="row">single</td> 268 <td><code>is_single()</code></td> 269 <td>When a single post is displayed</td> 270 </tr> 271 <tr> 272 <td scope="row">s-author-[name]</td> 273 <td><code>is_single()</code> & <code>is_author()</code></td> 274 <td>For a single post published by a specific author, where <i>[name]</i> is the user's login name, e.g., s-author-admin</td> 275 </tr> 276 <tr class="alt"> 277 <td scope="row">s-category-[name]</td> 278 <td><code>is_single()</code> & <code>is_category()</code></td> 279 <td>For a single post published in a specific category, where <i>[name]</i> is the category slug, e.g., s-category-news</td> 280 </tr> 281 <tr> 282 <td scope="row">s-d01–31</td> 283 <td><code>gmdate('d')</code></td> 284 <td>For a single post published on a specific day (Offset to GMT)</td> 285 </tr> 286 <tr class="alt"> 287 <td scope="row">s-h00–24</td> 288 <td><code>gmdate('h')</code></td> 289 <td>For a single post published at a specific hour (Offset to GMT)</td> 290 </tr> 291 <tr> 292 <td scope="row">s-m00–12</td> 293 <td><code>gmdate('m')</code></td> 294 <td>For a single post published in a specific month (Offset to GMT)</td> 295 </tr> 296 <tr class="alt"> 297 <td scope="row">s-y2007</td> 298 <td><code>gmdate('Y')</code></td> 299 <td>For a single post published in a specific year (Offset to GMT)</td> 300 </tr> 301 <tr> 302 <td scope="row">wordpress</td> 303 <td>n/a</td> 304 <td>When anything is displayed; a class that is always applied</td> 305 </tr> 306 <tr class="alt"> 307 <td scope="row">y2007</td> 308 <td><code>gmdate('Y')</code></td> 309 <td>The current year of when the page is display (Offset to GMT)</td> 310 </tr> 311 </tbody> 312 </table><!-- #body-class-table --> 313 </li><!-- #body-class --> 314 315 <li id="post-class"> 316 <h3><code>sandbox_post_class()</code></h3> 317 <p>The <code>sandbox_post_class()</code> function is definied in the <code>functions.php</code> file. It has no parameters. It adds semantic classes to each post <code>div</code> element, relative to the actual post it contains.</p> 318 <pre><div id="post-<?php the_ID(); ?>" class="<span><?php sandbox_post_class() ?></span>"></pre> 319 <p>The chart below lists the semantic classes added to each post <code>div</code> element by this function.</p> 320 <table id="post-class-table" summary="Classes given to individual posts by sandbody_post_class()"> 321 <thead> 322 <tr> 323 <th colspan="3" scope="colgroup"><code>sandbox_post_class()</code></th> 324 </tr> 325 </thead> 326 <tfoot> 327 <tr> 328 <th colspan="3" scope="colgroup">CSS example</th> 329 </tr> 330 <tr> 331 <td colspan="3" scope="row" abbr="CSS example"><code>div.category-news .entry-title { background: url('images/news.png'); }</code></td> 332 </tr> 333 </tfoot> 334 <tbody> 335 <tr> 336 <th scope="col" abbr="class">Class</th> 337 <th scope="col" abbr="tag">WP Tag</th> 338 <th scope="col" abbr="use">Usage</th> 339 </tr> 340 <tr class="alt"> 341 <td scope="row">alt</td> 342 <td>n/a</td> 343 <td>For odd-numbered posts, e.g., 1<sup>st</sup>, 3<sup>rd</sup>, 5<sup>th</sup></td> 344 </tr> 345 <tr> 346 <td scope="row">author-[name]</td> 347 <td><code>is_author()</code></td> 348 <td>For any specific author, where <i>[name]</i> is the user's login name, e.g., author-admin</td> 349 </tr> 350 <tr class="alt"> 351 <td scope="row">category-[name]</td> 352 <td><code>is_category()</code></td> 353 <td>For any specific category, where <i>[name]</i> is the category slug, e.g., category-news</td> 354 </tr> 355 <tr> 356 <td scope="row">draft</td> 357 <td>n/a</td> 358 <td>For a post saved as a draft, as contrasted with an published post</td> 359 </tr> 360 <tr class="alt"> 361 <td scope="row">hentry</td> 362 <td>n/a</td> 363 <td>For the hAtom 0.1 specification, applied every post</td> 364 </tr> 365 <tr> 366 <td scope="row">p[n]</td> 367 <td>n/a</td> 368 <td>For counting posts relative to the top of the page, where <i>[n]</i> is the number, e.g., p1 for the first post, p2 for the second, p3 for the third</td> 369 </tr> 370 <tr class="alt"> 371 <td scope="row">page</td> 372 <td>n/a</td> 373 <td>A general class, applied to every page</td> 374 </tr> 375 <tr> 376 <td scope="row">post</td> 377 <td>n/a</td> 378 <td>A general class, applied to every post</td> 379 </tr> 380 <tr class="alt"> 381 <td scope="row">private</td> 382 <td>n/a</td> 383 <td>For a post that has been saved as "private"</td> 384 </tr> 385 <tr> 386 <td scope="row">protected</td> 387 <td>n/a</td> 388 <td>For a post that has been password-protected</td> 389 </tr> 390 <tr class="alt"> 391 <td scope="row">publish</td> 392 <td>n/a</td> 393 <td>For any published post, as contrasted with an unpublished draft</td> 394 </tr> 395 <tr> 396 <td scope="row">h00–24</td> 397 <td><code>gmdate('h')</code></td> 398 <td>For a post published at a specific hour (Offset to GMT)</td> 399 </tr> 400 <tr class="alt"> 401 <td scope="row">d01–31</td> 402 <td><code>gmdate('d')</code></td> 403 <td>For a post published on a specific day (Offset to GMT)</td> 404 </tr> 405 <tr> 406 <td scope="row">m00–12</td> 407 <td><code>gmdate('m')</code></td> 408 <td>For a post published in a specific month (Offset to GMT)</td> 409 </tr> 410 <tr class="alt"> 411 <td scope="row">y2007</td> 412 <td><code>gmdate('Y')</code></td> 413 <td>For a post published in a certain year (Offset to GMT)</td> 414 </tr> 415 </tbody> 416 </table><!-- #post-class-table --> 417 </li><!-- #post-class --> 418 419 <li id="comment-class"> 420 <h3><code>sandbox_comment_class()</code></h3> 421 <p>The <code>sandbox_comment_class()</code> function is definied in the <code>functions.php</code> file. It has no parameters. It adds semantic classes to the each comment <code>li</code> element (“comment” here meaning comments, trackbacks, and pingbacks).</p> 422 <pre><li id="comment-<?php comment_ID(); ?>" class="<span><?php sandbox_comment_class() ?></span>"></pre> 423 <p>The chart below lists the semantic classes added to each comment <code>li</code> element by this function.</p> 424 <table id="comment-class-table" summary="Classes given to individual comments by sandbody_comment_class()"> 425 <thead> 426 <tr> 427 <th colspan="3" scope="colgroup"><code>sandbox_comment_class()</code></th> 428 </tr> 429 </thead> 430 <tfoot> 431 <tr> 432 <th colspan="3" scope="colgroup">CSS example</th> 433 </tr> 434 <tr> 435 <td colspan="3" scope="row" abbr="CSS example"><code>div.comments li.bypostauthor { border: 1px solid red; }</code></td> 436 </tr> 437 </tfoot> 438 <tbody> 439 <tr> 440 <th scope="col" abbr="class">Class</th> 441 <th scope="col" abbr="tag">WP Tag</th> 442 <th scope="col" abbr="use">Usage</th> 443 </tr> 444 <tr class="alt"> 445 <td scope="row">alt</td> 446 <td>n/a</td> 447 <td>For odd-numbered comments, e.g., 1<sup>st</sup>, 3<sup>rd</sup>, 5<sup>th</sup></td> 448 </tr> 449 <tr> 450 <td scope="row">bypostauthor</td> 451 <td>n/a</td> 452 <td>When the comment author is also the post author</td> 453 </tr> 454 <tr class="alt"> 455 <td scope="row">byuser</td> 456 <td>n/a</td> 457 <td>For <em>any</em> comment by a registered user</td> 458 </tr> 459 <tr> 460 <td scope="row">c-h00–24</td> 461 <td><code>gmdate('h')</code></td> 462 <td>For a comment posted at a specific hour (Offset to GMT)</td> 463 </tr> 464 <tr class="alt"> 465 <td scope="row">c[n]</td> 466 <td>n/a</td> 467 <td>For counting comments relative to the first, where <i>[n]</i> is the number, e.g., c1 for the first comment, c2 for the second, c3 for the third</td> 468 </tr> 469 <tr> 470 <td scope="row">c-d01–31</td> 471 <td><code>gmdate('d')</code></td> 472 <td>For a comment posted on a specific date (Offset to GMT)</td> 473 </tr> 474 <tr class="alt"> 475 <td scope="row">c-m00–12</td> 476 <td><code>gmdate('m')</code></td> 477 <td>For a comment posted in a specific month (Offset to GMT)</td> 478 </tr> 479 <tr> 480 <td scope="row">c-y2007</td> 481 <td><code>gmdate('Y')</code></td> 482 <td>For a comment posted in a specific year (Offset to GMT)</td> 483 </tr> 484 <tr class="alt"> 485 <td scope="row">comment</td> 486 <td>n/a</td> 487 <td>A general class, applied to every comment</td> 488 </tr> 489 <tr> 490 <td scope="row">comment-author-[name]</td> 491 <td>n/a</td> 492 <td>For a comment by a specific registered user, where <i>[name]</i> is the user's login name, e.g., comment-author-john</td> 493 </tr> 494 <tr class="alt"> 495 <td scope="row">t[n]</td> 496 <td>n/a</td> 497 <td>For counting trackbacks relative to the first, where <i>[n]</i> is the number, e.g., t1 for the first trackback, t2 for the second, t3 for the third</td> 498 </tr> 499 <tr> 500 <td scope="row">trackback</td> 501 <td>is_trackback()</td> 502 <td>When a comment is a trackback/pingback</td> 503 </tr> 504 </tbody> 505 </table><!-- #comment-class-table --> 506 </li><!-- #comment-class --> 507 </ol> 508 </li><!-- #functions --> 509 510 <li id="standards"> 511 <h2>Web standards</h2> 512 <p>The Sandbox is compliant with both XHTML and CSS standards. What does this mean? An explanation of web standards from <a href="http://webstandards.org" title="Web Standards Project" rel="external">The Web Standards Project</a>:</p> 513 <blockquote cite="http://webstandards.org/learn/faq/" title="What are web standards and why should I use them?"> 514 <p>Complying with web standards can give your web pages greater visibility in web searches. The structural information present in compliant documents makes it easy for search engines to access and evaluate the information in those documents, and they get indexed more accurately.</p> 515 <p>Accessibility is an important idea behind many web standards. Not only does this mean allowing the web to be used by people with disabilities, but also allowing web pages to be understood by people using browsers other than the usual ones—including voice browsers that read web pages aloud to people with sight impairments, Braille browsers, hand-held browsers, teletext displays, and other unusual output devices.</p> 516 </blockquote> 517 <p>You can read more about developing with web standards at <a href="http://www.456bereastreet.com/lab/developing_with_web_standards/webstandards/" title="Developing with web standards" rel="external">456 Berea Street</a>.</p> 518 </li><!-- #standards--> 519 520 <li id="microformats"> 521 <h2>Microformats</h2> 522 <p><a href="http://microformats.org/" title="Microformats.org" rel="external">Microformats</a> are markup that express semantic information in your blog. People and machines can extract information from webpages marked up in a microformat much like feed readers extract information from Atom or <abbr title="Rich Site Summary">RSS</abbr> syndicated feeds. Essentially it's about making content more accessible.</p> 523 <p>Microformats that have been implemented in the Sandbox theme include (less <a href="http://gmpg.org/xfn/" title="XHTML Friends Network" rel="external"><abbr title="XHTML Friends Network">XFN</abbr></a>, which is built into WordPress):</p> 524 <ul> 525 <li><a href="http://microformats.org/wiki/hatom" title="hAtom - Microformats" rel="external">hAtom</a>: For all blog posts and pages</li> 526 <li><a href="http://microformats.org/wiki/hcard" title="hCard - Microformats" rel="external">hCard</a>: For all post and comment authors</li> 527 <li><a href="http://microformats.org/wiki/rel-home" title="rel-home - Microformats" rel="external">rel="home"</a>: For marking links pointing to the blog home page</li> 528 <li><a href="http://microformats.org/wiki/xoxo" title="XOXO - Microformats" rel="external">XOXO</a>: For menu, blogroll, archive, and sidebar lists</li> 529 </ul> 530 <p>Microformats help the Sandbox be an especially <abbr title="Plain old semantic HTML">POSH</abbr> WordPress theme. POSH stands for "plain old semantic HTML." It is a term used to refer to best practices of semantic HTML development. The Microformats Wiki <a href="http://microformats.org/wiki/posh" title="POSH - Microformats" rel="external">POSH article</a> has a working copy of these best practices:</p> 531 <ol> 532 <li>Validate your markup, meaning it should <em>be</em> valid, not just validated</li> 533 <li>No use of tables for presentational purposes—only for tabular data</li> 534 <li>Correct any "<span class="bold">B</span>ed and <span class="bold">BR</span>eakfast" markup, i.e., no presentational elements like <code>b</code>, and no <code><br /></code></li> 535 <li>Correct any "<span class="bold">A</span>norexic anchors," e.g., an <code>a</code> element with only a <code>name</code> attribute</li> 536 <li>Use well-formed, semantic class names (Sandbox does this for you)</li> 537 </ol> 538 <p>So the Sandbox can be highly POSH, but the semantic use of HTML elements is completely up to you, the end user. To learn more about writing semantic HTML, visit <a href="http://www.mezzoblue.com/downloads/markupguide/" title="mezzoblue § Markup Guide">Mezzoblue</a>.</p> 539 </li><!-- #microformats --> 540 541 <li id="features"> 542 <h2>Other features</h2> 543 <p>In addition to the more advanced, code-related features of the Sandbox, there are at least two other features that make the Sandbox a highly viable choice as a base theme.</p> 544 <ol> 545 <li id="comments"> 546 <h3>Comments on pages</h3> 547 <p>Comments are not displayed on pages by default, but are displayed on posts, per the current convention. You can enable comments on a per page basis by adding a custom key/value with only the text <code>comments</code>.</p> 548 <p>To enable comments on a page:</p> 549 <ol> 550 <li>In the <i>Write › Page</i> menu, expand the <a href="http://codex.wordpress.org/Using_Custom_Fields" title="Custom Fields - WordPress Codex" rel="external">Custom Fields</a> box</li> 551 <li>In the <i>Custom Fields</i> box, add a new key with the exact text: <code>comments</code></li> 552 <li>Add any text for a value (some text must be included for the key to save)</li> 553 <li>Click <i>Add Custom Field</i> to save the key/value</li> 554 <li>Comments should now be enabled on that page</li> 555 </ol> 556 <p>Enabling comments simply includes the <code>comments.php</code> file with the page. You can turn off comments on a page by deleting the <code>comments</code> key/value. This does not delete any exisiting comments, but simply disables <code>comments.php</code> from loading with the page.</p> 557 </li><!-- #comments --> 558 559 <li id="templates"> 560 <h3>Page templates</h3> 561 <p>There are two <a href="http://codex.wordpress.org/Pages#Page_Templates" title="Page templates - WordPress Codex" rel="external">page templates</a> included: Links Page (<code>links.php</code>) and Archives Page (<code>archives.php</code>). You can add a title, text, and enable comments (see above) with both of these page templates.</p> 562 <p>To use the page templates:</p> 563 <ol> 564 <li>In the <i>Write › Page</i> menu, expand the <i>Page Templates</i> box</li> 565 <li>From the drop-down, select the page template to use</li> 566 <li>Add a title and text (optional) for the page</li> 567 <li>Click <i>Create New Page / Save</i> to publish the page</li> 568 </ol> 569 <p>The Archive Page template displays archives by month and by category. The Links Page displays links by link category.</p> 570 </li><!-- #templates --> 571 </ol> 572 </li><!-- #features --> 573 574 <li id="license"> 575 <h2>License</h2> 576 <p>The Sandbox © 2006–2007 is licensed under the <a href="http://www.gnu.org/licenses/gpl.html" title="GNU General Public License" rel="license"><abbr title="GNU is Not Unix">GNU</abbr> General Public License</a>:</p> 577 <blockquote title="How to use the GPL or LPGL" cite="http://www.gnu.org/licenses/gpl-howto.html"> 578 <p>This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version.</p> 579 <p>This program is distributed in the hope that it will be useful, but <strong>without any warranty</strong>; without even the implied warranty of <strong>merchantability</strong> or <strong>fitness for a particular purpose</strong>. See the GNU General Public License for more details.</p> 580 <p>You should have received a copy of the GNU General Public License along with this program; if not, write to the <span class="vcard"><a class="url fn org" href="http://www.fsf.org/" rel="external">Free Software Foundation, Inc</a>, <span class="adr"><span class="street-address">51 Franklin Street, Fifth Floor</span>, <span class="locality">Boston</span>, <span class="region">MA</span> <span class="postal-code">02110-1301</span>, <span class="country-name">USA</span></span></span>.</p> 581 </blockquote> 582 </li><!-- #license --> 583 584 </ol><!-- #readme .xoxo --> 585 586 <div id="footer"> 587 <p>Last updated 25 May 2007</p> 588 </div><!-- #footer --> 589 590 591 </div><!-- #readme --> 592 593 </body> 594 </html> 595 No newline at end of file -
wp-content/themes/sandbox/page.php
1 <?php get_header() ?> 2 3 <div id="container"> 4 <div id="content"> 5 6 <?php the_post() ?> 7 <div id="post-<?php the_ID(); ?>" class="<?php sandbox_post_class() ?>"> 8 <h2 class="entry-title"><?php the_title(); ?></h2> 9 <div class="entry-content"> 10 <?php the_content() ?> 11 12 <?php link_pages("\t\t\t\t\t<div class='page-link'>".__('Pages: ', 'sandbox'), "</div>\n", 'number'); ?> 13 14 <?php edit_post_link(__('Edit', 'sandbox'),'<span class="edit-link">','</span>') ?> 15 16 </div> 17 </div><!-- .post --> 18 19 <?php if ( get_post_custom_values('comments') ) comments_template() // Add a key+value of "comments" to enable comments on this page ?> 20 21 </div><!-- #content --> 22 </div><!-- #container --> 23 24 <?php get_sidebar() ?> 25 <?php get_footer() ?> 26 No newline at end of file -
wp-content/themes/sandbox/category.php
1 <?php get_header() ?> 2 3 <div id="container"> 4 <div id="content"> 5 6 <h2 class="page-title"><?php _e('Category Archives:', 'sandbox') ?> <span><?php echo single_cat_title(); ?></span></h2> 7 <div class="archive-meta"><?php if ( !(''== category_description()) ) : echo apply_filters('archive_meta', category_description()); endif; ?></div> 8 9 <div id="nav-above" class="navigation"> 10 <div class="nav-previous"><?php next_posts_link(__('<span class="meta-nav">«</span> Older posts', 'sandbox')) ?></div> 11 <div class="nav-next"><?php previous_posts_link(__('Newer posts <span class="meta-nav">»</span>', 'sandbox')) ?></div> 12 </div> 13 14 <?php while (have_posts()) : the_post(); ?> 15 16 <div id="post-<?php the_ID(); ?>" class="<?php sandbox_post_class(); ?>"> 17 <h3 class="entry-title"><a href="<?php the_permalink() ?>" title="<?php printf(__('Permalink to %s', 'sandbox'), get_the_title()) ?>" rel="bookmark"><?php the_title() ?></a></h3> 18 <div class="entry-date"><abbr class="published" title="<?php the_time('Y-m-d\TH:i:sO'); ?>"><?php unset($previousday); printf(__('%1$s – %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">»</span>', 'sandbox').'') ?> 21 22 </div> 23 <div class="entry-meta"> 24 <span class="author vcard"><?php printf(__('By %s', 'sandbox'), '<a class="url fn n" href="'.get_author_link(false, $authordata->ID, $authordata->user_nicename).'" title="' . sprintf(__('View all posts by %s', 'sandbox'), $authordata->display_name) . '">'.get_the_author().'</a>') ?></span> 25 <span class="meta-sep">|</span> 26 <?php if ( $cats_meow = sandbox_cats_meow(', ') ) : /* only show categories other than the one queried */ ?> 27 <span class="cat-links"><?php printf(__('Also posted in %s', 'sandbox'), $cats_meow) ?></span> 28 <span class="meta-sep">|</span> 29 <?php endif ?> 30 <?php edit_post_link(__('Edit', 'sandbox'), "\t\t\t\t\t<span class=\"edit-link\">", "</span>\n\t\t\t\t\t<span class=\"meta-sep\">|</span>\n"); ?> 31 <span class="comments-link"><?php comments_popup_link(__('Comments (0)', 'sandbox'), __('Comments (1)', 'sandbox'), __('Comments (%)', 'sandbox')) ?></span> 32 </div> 33 </div><!-- .post --> 34 35 <?php endwhile; ?> 36 37 <div id="nav-below" class="navigation"> 38 <div class="nav-previous"><?php next_posts_link(__('<span class="meta-nav">«</span> Older posts', 'sandbox')) ?></div> 39 <div class="nav-next"><?php previous_posts_link(__('Newer posts <span class="meta-nav">»</span>', 'sandbox')) ?></div> 40 </div> 41 42 </div><!-- #content --> 43 </div><!-- #container --> 44 45 <?php get_sidebar() ?> 46 <?php get_footer() ?> 47 No newline at end of file -
wp-content/themes/sandbox/links.php
1 <?php 2 /* 3 Template Name: Links Page 4 */ 5 ?> 6 <?php get_header() ?> 7 8 <div id="container"> 9 <div id="content"> 10 11 <?php the_post() ?> 12 <div id="post-<?php the_ID(); ?>" class="<?php sandbox_post_class() ?>"> 13 <h2 class="entry-title"><?php the_title() ?></h2> 14 <div class="entry-content"> 15 <?php the_content() ?> 16 17 <ul id="links-page" class="xoxo"> 18 <?php if ( function_exists('wp_list_bookmarks') ) : wp_list_bookmarks('title_before=<h3>&title_after=</h3>'); else : ?> 19 <?php 20 $link_cats = $wpdb->get_results("SELECT cat_id, cat_name FROM $wpdb->linkcategories"); 21 foreach ($link_cats as $link_cat) : 22 ?> 23 <li id="linkcat-<?php echo $link_cat->cat_id; ?>"> 24 <h3><?php echo $link_cat->cat_name; ?></h3> 25 <ul> 26 <?php wp_get_links($link_cat->cat_id); ?> 27 </ul> 28 </li> 29 <?php endforeach ?> 30 <?php endif ?> 31 </ul> 32 <?php edit_post_link(__('Edit', 'sandbox'),'<span class="edit-link">','</span>') ?> 33 34 </div> 35 </div><!-- .post --> 36 37 <?php if ( get_post_custom_values('comments') ) comments_template() // Add a key/value of "comments" to enable comments on pages! ?> 38 39 </div><!-- #content --> 40 </div><!-- #container --> 41 42 <?php get_sidebar() ?> 43 <?php get_footer() ?> 44 No newline at end of file -
wp-content/themes/sandbox/archive.php
1 <?php get_header() ?> 2 3 <div id="container"> 4 <div id="content"> 5 6 <?php the_post() ?> 7 8 <?php if ( is_day() ) : ?> 9 <h2 class="page-title"><?php printf(__('Daily Archives: <span>%s</span>', 'sandbox'), get_the_time(get_settings('date_format'))) ?></h2> 10 <?php elseif ( is_month() ) : ?> 11 <h2 class="page-title"><?php printf(__('Monthly Archives: <span>%s</span>', 'sandbox'), get_the_time('F Y')) ?></h2> 12 <?php elseif ( is_year() ) : ?> 13 <h2 class="page-title"><?php printf(__('Yearly Archives: <span>%s</span>', 'sandbox'), get_the_time('Y')) ?></h2> 14 <?php elseif ( isset($_GET['paged']) && !empty($_GET['paged']) ) : ?> 15 <h2 class="page-title"><?php _e('Blog Archives', 'sandbox') ?></h2> 16 <?php endif; ?> 17 18 <?php rewind_posts() ?> 19 20 <div id="nav-above" class="navigation"> 21 <div class="nav-previous"><?php next_posts_link(__('<span class="meta-nav">«</span> Older posts', 'sandbox')) ?></div> 22 <div class="nav-next"><?php previous_posts_link(__('Newer posts <span class="meta-nav">»</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 – %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">»</span>', 'sandbox').'') ?> 32 33 </div> 34 <div class="entry-meta"> 35 <span class="author vcard"><?php printf(__('By %s', 'sandbox'), '<a class="url fn n" href="'.get_author_link(false, $authordata->ID, $authordata->user_nicename).'" title="' . sprintf(__('View all posts by %s', 'sandbox'), $authordata->display_name) . '">'.get_the_author().'</a>') ?></span> 36 <span class="meta-sep">|</span> 37 <span class="cat-links"><?php printf(__('Posted in %s', 'sandbox'), get_the_category_list(', ')) ?></span> 38 <span class="meta-sep">|</span> 39 <?php edit_post_link(__('Edit', 'sandbox'), "\t\t\t\t\t<span class=\"edit-link\">", "</span>\n\t\t\t\t\t<span class=\"meta-sep\">|</span>\n"); ?> 40 <span class="comments-link"><?php comments_popup_link(__('Comments (0)', 'sandbox'), __('Comments (1)', 'sandbox'), __('Comments (%)', 'sandbox')) ?></span> 41 </div> 42 </div><!-- .post --> 43 44 <?php endwhile ?> 45 46 <div id="nav-below" class="navigation"> 47 <div class="nav-previous"><?php next_posts_link(__('<span class="meta-nav">«</span> Older posts', 'sandbox')) ?></div> 48 <div class="nav-next"><?php previous_posts_link(__('Newer posts <span class="meta-nav">»</span>', 'sandbox')) ?></div> 49 </div> 50 51 </div><!-- #content .hfeed --> 52 </div><!-- #container --> 53 54 <?php get_sidebar() ?> 55 <?php get_footer() ?> 56 No newline at end of file -
wp-content/themes/sandbox/single.php
1 <?php get_header() ?> 2 3 <div id="container"> 4 <div id="content"> 5 6 <?php the_post(); ?> 7 <div id="nav-above" class="navigation"> 8 <div class="nav-previous"><?php previous_post_link('<span class="meta-nav">«</span> %link') ?></div> 9 <div class="nav-next"><?php next_post_link('%link <span class="meta-nav">»</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">»</span>', 'sandbox').''); ?> 16 17 <?php link_pages("\t\t\t\t\t<div class='page-link'>".__('Pages: ', 'sandbox'), "</div>\n", 'number'); ?> 18 </div> 19 <div class="entry-meta"> 20 <?php printf(__('This entry was written by %1$s and posted on <abbr class="published" title="%2$sT%3$s">%4$s at %5$s</abbr> and filed under %6$s. Bookmark the <a href="%7$s" title="Permalink to %8$s" rel="bookmark">permalink</a>. Follow any comments here with the <a href="%9$s" title="Comments RSS to %8$s" rel="alternate" type="application/rss+xml">RSS feed for this post</a>.', 'sandbox'), 21 '<span class="author vcard"><a class="url fn n" href="'.get_author_link(false, $authordata->ID, $authordata->user_nicename).'" title="' . sprintf(__('View all posts by %s', 'sandbox'), $authordata->display_name) . '">'.get_the_author().'</a></span>', 22 get_the_time('Y-m-d'), 23 get_the_time('H:i:sO'), 24 the_date('', '', '', false), 25 get_the_time(), 26 get_the_category_list(', '), 27 get_permalink(), 28 wp_specialchars(get_the_title(), 'double'), 29 comments_rss() ) ?> 30 31 <?php if (('open' == $post-> comment_status) && ('open' == $post->ping_status)) : // Comments and trackbacks open ?> 32 <?php printf(__('<a class="comment-link" href="#respond" title="Post a comment">Post a comment</a> or leave a trackback: <a class="trackback-link" href="%s" title="Trackback URL for your post" rel="trackback">Trackback URL</a>.', 'sandbox'), get_trackback_url()) ?> 33 <?php elseif (!('open' == $post-> comment_status) && ('open' == $post->ping_status)) : // Only trackbacks open ?> 34 <?php printf(__('Comments are closed, but you can leave a trackback: <a class="trackback-link" href="%s" title="Trackback URL for your post" rel="trackback">Trackback URL</a>.', 'sandbox'), get_trackback_url()) ?> 35 <?php elseif (('open' == $post-> comment_status) && !('open' == $post->ping_status)) : // Only comments open ?> 36 <?php printf(__('Trackbacks are closed, but you can <a class="comment-link" href="#respond" title="Post a comment">post a comment</a>.', 'sandbox')) ?> 37 <?php elseif (!('open' == $post-> comment_status) && !('open' == $post->ping_status)) : // Comments and trackbacks closed ?> 38 <?php _e('Both comments and trackbacks are currently closed.') ?> 39 <?php endif; ?> 40 <?php edit_post_link(__('Edit', 'sandbox'), "\n\t\t\t\t\t<span class=\"edit-link\">", "</span>"); ?> 41 42 </div> 43 </div><!-- .post --> 44 45 <div id="nav-below" class="navigation"> 46 <div class="nav-previous"><?php previous_post_link('<span class="meta-nav">«</span> %link') ?></div> 47 <div class="nav-next"><?php next_post_link('%link <span class="meta-nav">»</span>') ?></div> 48 </div> 49 50 <?php comments_template(); ?> 51 52 </div><!-- #content --> 53 </div><!-- #container --> 54 55 <?php get_sidebar() ?> 56 <?php get_footer() ?> 57 No newline at end of file -
wp-content/themes/sandbox/comments.php
1 <div id="comments"> 2 <?php 3 $req = get_settings('require_name_email'); // Checks if fields are required. Thanks, Adam. ;-) 4 if ( 'comments.php' == basename($_SERVER['SCRIPT_FILENAME']) ) 5 die ( 'Please do not load this page directly. Thanks!' ); 6 if ( ! empty($post->post_password) ) : 7 if ( $_COOKIE['wp-postpass_' . COOKIEHASH] != $post->post_password ) : 8 ?> 9 <div class="nopassword"><?php _e('This post is password protected. Enter the password to view any comments.', 'sandbox') ?></div> 10 </div><!-- .comments --> 11 <?php 12 return; 13 endif; 14 endif; 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; 21 foreach ( $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&redirect_to=' . get_permalink() ) ?></p> 94 95 <?php else : ?> 96 97 <p id="comment-notes"><?php _e('Your email is <em>never</em> published nor shared.', 'sandbox') ?> <?php if ($req) _e('Required fields are marked <span class="required">*</span>', 'sandbox') ?></p> 98 99 <div class="form-label"><label for="author"><?php _e('Name', 'sandbox') ?></label> <?php if ($req) _e('<span class="required">*</span>', 'sandbox') ?></div> 100 <div class="form-input"><input id="author" name="author" type="text" value="<?php echo $comment_author ?>" size="30" maxlength="20" tabindex="3" /></div> 101 102 <div class="form-label"><label for="email"><?php _e('Email', 'sandbox') ?></label> <?php if ($req) _e('<span class="required">*</span>', 'sandbox') ?></div> 103 <div class="form-input"><input id="email" name="email" type="text" value="<?php echo $comment_author_email ?>" size="30" maxlength="50" tabindex="4" /></div> 104 105 <div class="form-label"><label for="url"><?php _e('Website', 'sandbox') ?></label></div> 106 <div class="form-input"><input id="url" name="url" type="text" value="<?php echo $comment_author_url ?>" size="30" maxlength="50" tabindex="5" /></div> 107 108 <?php endif /* if ( $user_ID ) */ ?> 109 110 <div class="form-label"><label for="comment"><?php _e('Comment', 'sandbox') ?></label></div> 111 <div class="form-textarea"><textarea id="comment" name="comment" cols="45" rows="8" tabindex="6"></textarea></div> 112 113 <div class="form-submit"><input id="submit" name="submit" type="submit" value="<?php _e('Post Comment', 'sandbox') ?>" tabindex="7" /><input type="hidden" name="comment_post_ID" value="<?php echo $id; ?>" /></div> 114 115 <?php do_action('comment_form', $post->ID); ?> 116 117 </form><!-- #commentform --> 118 </div><!-- .formcontainer --> 119 <?php endif /* if ( get_option('comment_registration') && !$user_ID ) */ ?> 120 121 </div><!-- #respond --> 122 <?php endif /* if ( 'open' == $post->comment_status ) */ ?> 123 124 </div><!-- #comments --> -
wp-content/themes/sandbox/attachment.php
1 <?php get_header() ?> 2 3 <div id="container"> 4 <div id="content"> 5 6 <?php the_post() ?> 7 8 <?php $attachment_link = get_the_attachment_link($post->ID, true, array(600, 800)); // Finds attachment, sizes it ?> 9 <?php $_post = &get_post($post->ID); $classname = ($_post->iconsize[0] <= 128 ? 'small' : '') . 'attachment'; // If it's small, give it 'small' in its class name ?> 10 11 <h2 class="page-title"><a href="<?php echo get_permalink($post->post_parent) ?>" rev="attachment"><?php echo get_the_title($post->post_parent) ?></a></h2> 12 <div id="post-<?php the_ID(); ?>" class="<?php sandbox_post_class() ?>"> 13 <h3 class="entry-title"><?php the_title() ?></h3> 14 <div class="entry-content"> 15 <p class="<?php echo $classname ?>"><?php echo $attachment_link ?></p> 16 <p class="<?php echo $classname ?>-name"><?php echo basename($post->guid) ?></p> 17 <?php the_content(''.__('Read More <span class="meta-nav">»</span>', 'sandbox').''); ?> 18 19 <?php link_pages("\t\t\t\t\t<div class='page-link'>".__('Pages: ', 'sandbox'), "</div>\n", 'number'); ?> 20 21 </div> 22 <div class="entry-meta"> 23 <?php printf(__('This entry was written by %1$s and posted on <abbr class="published" title="%2$sT%3$s">%4$s at %5$s</abbr> and filed under %6$s. Bookmark the <a href="%7$s" title="Permalink to %8$s" rel="bookmark">permalink</a>. Follow any comments here with the <a href="%9$s" title="Comments RSS to %8$s" rel="alternate" type="application/rss+xml">RSS feed for this post</a>.', 'sandbox'), 24 '<span class="author vcard"><a class="url fn n" href="'.get_author_link(false, $authordata->ID, $authordata->user_nicename).'" title="' . sprintf(__('View all posts by %s', 'sandbox'), $authordata->display_name) . '">'.get_the_author().'</a></span>', 25 get_the_time('Y-m-d'), 26 get_the_time('H:i:sO'), 27 the_date('', '', '', false), 28 get_the_time(), 29 get_the_category_list(', '), 30 get_permalink(), 31 wp_specialchars(get_the_title(), 'double'), 32 comments_rss() ) ?> 33 34 <?php if (('open' == $post-> comment_status) && ('open' == $post->ping_status)) : // Comments and trackbacks open ?> 35 <?php printf(__('<a class="comment-link" href="#respond" title="Post a comment">Post a comment</a> or leave a trackback: <a class="trackback-link" href="%s" title="Trackback URL for your post" rel="trackback">Trackback URL</a>.', 'sandbox'), get_trackback_url()) ?> 36 <?php elseif (!('open' == $post-> comment_status) && ('open' == $post->ping_status)) : // Only trackbacks open ?> 37 <?php printf(__('Comments are closed, but you can leave a trackback: <a class="trackback-link" href="%s" title="Trackback URL for your post" rel="trackback">Trackback URL</a>.', 'sandbox'), get_trackback_url()) ?> 38 <?php elseif (('open' == $post-> comment_status) && !('open' == $post->ping_status)) : // Only comments open ?> 39 <?php printf(__('Trackbacks are closed, but you can <a class="comment-link" href="#respond" title="Post a comment">post a comment</a>.', 'sandbox')) ?> 40 <?php elseif (!('open' == $post-> comment_status) && !('open' == $post->ping_status)) : // Comments and trackbacks closed ?> 41 <?php _e('Both comments and trackbacks are currently closed.') ?> 42 <?php endif; ?> 43 <?php edit_post_link(__('Edit', 'sandbox'), "\n\t\t\t\t\t<span class=\"edit-link\">", "</span>"); ?> 44 45 </div> 46 </div><!-- .post --> 47 48 <?php comments_template(); ?> 49 50 </div><!-- #content --> 51 </div><!-- #container --> 52 53 <?php get_sidebar() ?> 54 <?php get_footer() ?> 55 No newline at end of file -
wp-content/themes/sandbox/header.php
1 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> 2 <html xmlns="http://www.w3.org/1999/xhtml" <?php sandbox_blog_lang(); ?>> 3 <head profile="http://gmpg.org/xfn/11"> 4 <title><?php bloginfo('name'); if ( is_404() ) : _e(' » ', 'sandbox'); _e('Not Found', 'sandbox'); elseif ( is_home() ) : _e(' » ', 'sandbox'); bloginfo('description'); else : wp_title(); endif; ?></title> 5 <meta http-equiv="content-type" content="<?php bloginfo('html_type') ?>; charset=<?php bloginfo('charset') ?>" /> 6 <meta name="description" content="<?php bloginfo('description') ?>" /> 7 <meta name="generator" content="WordPress <?php bloginfo('version') ?>" /><!-- Please leave for stats --> 8 <link rel="stylesheet" type="text/css" href="<?php bloginfo('stylesheet_url'); ?>" /> 9 <link rel="alternate" type="application/rss+xml" href="<?php bloginfo('rss2_url') ?>" title="<?php echo wp_specialchars(get_bloginfo('name'), 1) ?> <?php _e('Posts RSS feed', 'sandbox'); ?>" /> 10 <link rel="alternate" type="application/rss+xml" href="<?php bloginfo('comments_rss2_url') ?>" title="<?php echo wp_specialchars(get_bloginfo('name'), 1) ?> <?php _e('Comments RSS feed', 'sandbox'); ?>" /> 11 <link rel="pingback" href="<?php bloginfo('pingback_url') ?>" /> 12 <?php wp_head() ?> 13 14 </head> 15 16 <body class="<?php sandbox_body_class() ?>"> 17 18 <div id="wrapper" class="hfeed"> 19 20 <div id="header"> 21 <h1 id="blog-title"><a href="<?php echo get_settings('home') ?>/" title="<?php bloginfo('name') ?>" rel="home"><?php bloginfo('name') ?></a></h1> 22 <div id="blog-description"><?php bloginfo('description') ?></div> 23 </div><!-- #header --> 24 25 <div id="access"> 26 <div class="skip-link"><a href="#content" title="<?php _e('Skip navigation to the content', 'sandbox'); ?>"><?php _e('Skip to content', 'sandbox'); ?></a></div> 27 <?php sandbox_globalnav() ?> 28 </div><!-- #access --> -
wp-content/themes/sandbox/404.php
1 <?php get_header() ?> 2 3 <div id="container"> 4 <div id="content"> 5 6 <div id="post-0" class="post error404"> 7 <h2 class="entry-title"><?php _e('Not Found', 'sandbox') ?></h2> 8 <div class="entry-content"> 9 <p><?php _e('Apologies, but we were unable to find what you were looking for. Perhaps searching will help.', 'sandbox') ?></p> 10 </div> 11 <form id="searchform" method="get" action="<?php bloginfo('home') ?>"> 12 <div> 13 <input id="s" name="s" type="text" value="<?php echo wp_specialchars(stripslashes($_GET['s']), true) ?>" size="40" /> 14 <input id="searchsubmit" name="searchsubmit" type="submit" value="<?php _e('Find', 'sandbox') ?>" /> 15 </div> 16 </form> 17 </div><!-- .post --> 18 19 </div><!-- #content --> 20 </div><!-- #container --> 21 22 <?php get_sidebar() ?> 23 <?php get_footer() ?> 24 No newline at end of file -
wp-content/themes/sandbox/archive.php
1 <?php get_header() ?> 2 3 <div id="container"> 4 <div id="content"> 5 6 <?php the_post() ?> 7 8 <?php if ( is_day() ) : ?> 9 <h2 class="page-title"><?php printf(__('Daily Archives: <span>%s</span>', 'sandbox'), get_the_time(get_settings('date_format'))) ?></h2> 10 <?php elseif ( is_month() ) : ?> 11 <h2 class="page-title"><?php printf(__('Monthly Archives: <span>%s</span>', 'sandbox'), get_the_time('F Y')) ?></h2> 12 <?php elseif ( is_year() ) : ?> 13 <h2 class="page-title"><?php printf(__('Yearly Archives: <span>%s</span>', 'sandbox'), get_the_time('Y')) ?></h2> 14 <?php elseif ( isset($_GET['paged']) && !empty($_GET['paged']) ) : ?> 15 <h2 class="page-title"><?php _e('Blog Archives', 'sandbox') ?></h2> 16 <?php endif; ?> 17 18 <?php rewind_posts() ?> 19 20 <div id="nav-above" class="navigation"> 21 <div class="nav-previous"><?php next_posts_link(__('<span class="meta-nav">«</span> Older posts', 'sandbox')) ?></div> 22 <div class="nav-next"><?php previous_posts_link(__('Newer posts <span class="meta-nav">»</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 – %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">»</span>', 'sandbox').'') ?> 32 33 </div> 34 <div class="entry-meta"> 35 <span class="author vcard"><?php printf(__('By %s', 'sandbox'), '<a class="url fn n" href="'.get_author_link(false, $authordata->ID, $authordata->user_nicename).'" title="' . sprintf(__('View all posts by %s', 'sandbox'), $authordata->display_name) . '">'.get_the_author().'</a>') ?></span> 36 <span class="meta-sep">|</span> 37 <span class="cat-links"><?php printf(__('Posted in %s', 'sandbox'), get_the_category_list(', ')) ?></span> 38 <span class="meta-sep">|</span> 39 <?php edit_post_link(__('Edit', 'sandbox'), "\t\t\t\t\t<span class=\"edit-link\">", "</span>\n\t\t\t\t\t<span class=\"meta-sep\">|</span>\n"); ?> 40 <span class="comments-link"><?php comments_popup_link(__('Comments (0)', 'sandbox'), __('Comments (1)', 'sandbox'), __('Comments (%)', 'sandbox')) ?></span> 41 </div> 42 </div><!-- .post --> 43 44 <?php endwhile ?> 45 46 <div id="nav-below" class="navigation"> 47 <div class="nav-previous"><?php next_posts_link(__('<span class="meta-nav">«</span> Older posts', 'sandbox')) ?></div> 48 <div class="nav-next"><?php previous_posts_link(__('Newer posts <span class="meta-nav">»</span>', 'sandbox')) ?></div> 49 </div> 50 51 </div><!-- #content .hfeed --> 52 </div><!-- #container --> 53 54 <?php get_sidebar() ?> 55 <?php get_footer() ?> 56 No newline at end of file -
wp-content/themes/sandbox/archives.php
1 <?php 2 /* 3 Template Name: Archives Page 4 */ 5 ?> 6 <?php get_header() ?> 7 8 <div id="container"> 9 <div id="content"> 10 11 <?php the_post() ?> 12 13 <div id="post-<?php the_ID() ?>" class="<?php sandbox_post_class() ?>"> 14 <h2 class="entry-title"><?php the_title() ?></h2> 15 <div class="entry-content"> 16 <?php the_content(); ?> 17 18 <ul id="archives-page" class="xoxo"> 19 <li id="category-archives" class="content-column"> 20 <h3><?php _e('Archives by Category', 'sandbox') ?></h3> 21 <ul> 22 <?php wp_list_cats('sort_column=name&optioncount=1&feed=RSS') ?> 23 </ul> 24 </li> 25 <li id="monthly-archives" class="content-column"> 26 <h3><?php _e('Archives by Month', 'sandbox') ?></h3> 27 <ul> 28 <?php wp_get_archives('type=monthly&show_post_count=1') ?> 29 </ul> 30 </li> 31 </ul> 32 <?php edit_post_link(__('Edit', 'sandbox'),'<span class="edit-link">','</span>') ?> 33 34 </div> 35 </div><!-- .post --> 36 37 <?php if ( get_post_custom_values('comments') ) comments_template() // Add a key/value of "comments" to enable comments on pages! ?> 38 39 </div><!-- #content --> 40 </div><!-- #container --> 41 42 <?php get_sidebar() ?> 43 <?php get_footer() ?> 44 No newline at end of file -
wp-content/themes/sandbox/attachment.php
1 <?php get_header() ?> 2 3 <div id="container"> 4 <div id="content"> 5 6 <?php the_post() ?> 7 8 <?php $attachment_link = get_the_attachment_link($post->ID, true, array(600, 800)); // Finds attachment, sizes it ?> 9 <?php $_post = &get_post($post->ID); $classname = ($_post->iconsize[0] <= 128 ? 'small' : '') . 'attachment'; // If it's small, give it 'small' in its class name ?> 10 11 <h2 class="page-title"><a href="<?php echo get_permalink($post->post_parent) ?>" rev="attachment"><?php echo get_the_title($post->post_parent) ?></a></h2> 12 <div id="post-<?php the_ID(); ?>" class="<?php sandbox_post_class() ?>"> 13 <h3 class="entry-title"><?php the_title() ?></h3> 14 <div class="entry-content"> 15 <p class="<?php echo $classname ?>"><?php echo $attachment_link ?></p> 16 <p class="<?php echo $classname ?>-name"><?php echo basename($post->guid) ?></p> 17 <?php the_content(''.__('Read More <span class="meta-nav">»</span>', 'sandbox').''); ?> 18 19 <?php link_pages("\t\t\t\t\t<div class='page-link'>".__('Pages: ', 'sandbox'), "</div>\n", 'number'); ?> 20 21 </div> 22 <div class="entry-meta"> 23 <?php printf(__('This entry was written by %1$s and posted on <abbr class="published" title="%2$sT%3$s">%4$s at %5$s</abbr> and filed under %6$s. Bookmark the <a href="%7$s" title="Permalink to %8$s" rel="bookmark">permalink</a>. Follow any comments here with the <a href="%9$s" title="Comments RSS to %8$s" rel="alternate" type="application/rss+xml">RSS feed for this post</a>.', 'sandbox'), 24 '<span class="author vcard"><a class="url fn n" href="'.get_author_link(false, $authordata->ID, $authordata->user_nicename).'" title="' . sprintf(__('View all posts by %s', 'sandbox'), $authordata->display_name) . '">'.get_the_author().'</a></span>', 25 get_the_time('Y-m-d'), 26 get_the_time('H:i:sO'), 27 the_date('', '', '', false), 28 get_the_time(), 29 get_the_category_list(', '), 30 get_permalink(), 31 wp_specialchars(get_the_title(), 'double'), 32 comments_rss() ) ?> 33 34 <?php if (('open' == $post-> comment_status) && ('open' == $post->ping_status)) : // Comments and trackbacks open ?> 35 <?php printf(__('<a class="comment-link" href="#respond" title="Post a comment">Post a comment</a> or leave a trackback: <a class="trackback-link" href="%s" title="Trackback URL for your post" rel="trackback">Trackback URL</a>.', 'sandbox'), get_trackback_url()) ?> 36 <?php elseif (!('open' == $post-> comment_status) && ('open' == $post->ping_status)) : // Only trackbacks open ?> 37 <?php printf(__('Comments are closed, but you can leave a trackback: <a class="trackback-link" href="%s" title="Trackback URL for your post" rel="trackback">Trackback URL</a>.', 'sandbox'), get_trackback_url()) ?> 38 <?php elseif (('open' == $post-> comment_status) && !('open' == $post->ping_status)) : // Only comments open ?> 39 <?php printf(__('Trackbacks are closed, but you can <a class="comment-link" href="#respond" title="Post a comment">post a comment</a>.', 'sandbox')) ?> 40 <?php elseif (!('open' == $post-> comment_status) && !('open' == $post->ping_status)) : // Comments and trackbacks closed ?> 41 <?php _e('Both comments and trackbacks are currently closed.') ?> 42 <?php endif; ?> 43 <?php edit_post_link(__('Edit', 'sandbox'), "\n\t\t\t\t\t<span class=\"edit-link\">", "</span>"); ?> 44 45 </div> 46 </div><!-- .post --> 47 48 <?php comments_template(); ?> 49 50 </div><!-- #content --> 51 </div><!-- #container --> 52 53 <?php get_sidebar() ?> 54 <?php get_footer() ?> 55 No newline at end of file -
wp-content/themes/sandbox/author.php
1 <?php get_header() ?> 2 3 <div id="container"> 4 <div id="content"> 5 6 <?php the_post() ?> 7 8 <h2 class="page-title author"><?php printf(__('Author Archives: <span class="vcard">%s</span>', 'sandbox'), "<a class='url fn n' href='$authordata->user_url' title='$authordata->display_name' rel='me'>$authordata->display_name</a>") ?></h2> 9 <div class="archive-meta"><?php if ( !(''== $authordata->user_description) ) : echo apply_filters('archive_meta', $authordata->user_description); endif; ?></div> 10 11 <div id="nav-above" class="navigation"> 12 <div class="nav-previous"><?php next_posts_link(__('<span class="meta-nav">«</span> Older posts', 'sandbox')) ?></div> 13 <div class="nav-next"><?php previous_posts_link(__('Newer posts <span class="meta-nav">»</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 – %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">»</span>', 'sandbox').'') ?> 23 24 </div> 25 <div class="entry-meta"> 26 <span class="cat-links"><?php printf(__('Posted in %s', 'sandbox'), get_the_category_list(', ')) ?></span> 27 <span class="meta-sep">|</span> 28 <?php edit_post_link(__('Edit', 'sandbox'), "\t\t\t\t\t<span class=\"edit-link\">", "</span>\n\t\t\t\t\t<span class=\"meta-sep\">|</span>\n"); ?> 29 <span class="comments-link"><?php comments_popup_link(__('Comments (0)', 'sandbox'), __('Comments (1)', 'sandbox'), __('Comments (%)', 'sandbox')) ?></span> 30 </div> 31 </div><!-- .post --> 32 33 <?php endwhile ?> 34 35 <div id="nav-below" class="navigation"> 36 <div class="nav-previous"><?php next_posts_link(__('<span class="meta-nav">«</span> Older posts', 'sandbox')) ?></div> 37 <div class="nav-next"><?php previous_posts_link(__('Newer posts <span class="meta-nav">»</span>', 'sandbox')) ?></div> 38 </div> 39 40 </div><!-- #content --> 41 </div><!-- #container --> 42 43 <?php get_sidebar() ?> 44 <?php get_footer() ?> 45 No newline at end of file -
wp-content/themes/sandbox/category.php
1 <?php get_header() ?> 2 3 <div id="container"> 4 <div id="content"> 5 6 <h2 class="page-title"><?php _e('Category Archives:', 'sandbox') ?> <span><?php echo single_cat_title(); ?></span></h2> 7 <div class="archive-meta"><?php if ( !(''== category_description()) ) : echo apply_filters('archive_meta', category_description()); endif; ?></div> 8 9 <div id="nav-above" class="navigation"> 10 <div class="nav-previous"><?php next_posts_link(__('<span class="meta-nav">«</span> Older posts', 'sandbox')) ?></div> 11 <div class="nav-next"><?php previous_posts_link(__('Newer posts <span class="meta-nav">»</span>', 'sandbox')) ?></div> 12 </div> 13 14 <?php while (have_posts()) : the_post(); ?> 15 16 <div id="post-<?php the_ID(); ?>" class="<?php sandbox_post_class(); ?>"> 17 <h3 class="entry-title"><a href="<?php the_permalink() ?>" title="<?php printf(__('Permalink to %s', 'sandbox'), get_the_title()) ?>" rel="bookmark"><?php the_title() ?></a></h3> 18 <div class="entry-date"><abbr class="published" title="<?php the_time('Y-m-d\TH:i:sO'); ?>"><?php unset($previousday); printf(__('%1$s – %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">»</span>', 'sandbox').'') ?> 21 22 </div> 23 <div class="entry-meta"> 24 <span class="author vcard"><?php printf(__('By %s', 'sandbox'), '<a class="url fn n" href="'.get_author_link(false, $authordata->ID, $authordata->user_nicename).'" title="' . sprintf(__('View all posts by %s', 'sandbox'), $authordata->display_name) . '">'.get_the_author().'</a>') ?></span> 25 <span class="meta-sep">|</span> 26 <?php if ( $cats_meow = sandbox_cats_meow(', ') ) : /* only show categories other than the one queried */ ?> 27 <span class="cat-links"><?php printf(__('Also posted in %s', 'sandbox'), $cats_meow) ?></span> 28 <span class="meta-sep">|</span> 29 <?php endif ?> 30 <?php edit_post_link(__('Edit', 'sandbox'), "\t\t\t\t\t<span class=\"edit-link\">", "</span>\n\t\t\t\t\t<span class=\"meta-sep\">|</span>\n"); ?> 31 <span class="comments-link"><?php comments_popup_link(__('Comments (0)', 'sandbox'), __('Comments (1)', 'sandbox'), __('Comments (%)', 'sandbox')) ?></span> 32 </div> 33 </div><!-- .post --> 34 35 <?php endwhile; ?> 36 37 <div id="nav-below" class="navigation"> 38 <div class="nav-previous"><?php next_posts_link(__('<span class="meta-nav">«</span> Older posts', 'sandbox')) ?></div> 39 <div class="nav-next"><?php previous_posts_link(__('Newer posts <span class="meta-nav">»</span>', 'sandbox')) ?></div> 40 </div> 41 42 </div><!-- #content --> 43 </div><!-- #container --> 44 45 <?php get_sidebar() ?> 46 <?php get_footer() ?> 47 No newline at end of file -
wp-content/themes/sandbox/comments.php
1 <div id="comments"> 2 <?php 3 $req = get_settings('require_name_email'); // Checks if fields are required. Thanks, Adam. ;-) 4 if ( 'comments.php' == basename($_SERVER['SCRIPT_FILENAME']) ) 5 die ( 'Please do not load this page directly. Thanks!' ); 6 if ( ! empty($post->post_password) ) : 7 if ( $_COOKIE['wp-postpass_' . COOKIEHASH] != $post->post_password ) : 8 ?> 9 <div class="nopassword"><?php _e('This post is password protected. Enter the password to view any comments.', 'sandbox') ?></div> 10 </div><!-- .comments --> 11 <?php 12 return; 13 endif; 14 endif; 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; 21 foreach ( $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&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. 3 function sandbox_globalnav() { 4 echo '<div id="menu"><ul>'; 5 $menu = wp_list_pages('title_li=&sort_column=post_title&echo=0'); // Params for the page list in header.php 6 echo str_replace(array("\r", "\n", "\t"), '', $menu); 7 echo "</ul></div>\n"; 8 } 9 10 // Checks for WP 2.1.x language_attributes() function 11 function sandbox_blog_lang() { 12 if ( function_exists('language_attributes') ) 13 return language_attributes(); 14 } 15 16 // Generates semantic classes for BODY element 17 function sandbox_body_class( $print = true ) { 18 global $wp_query, $current_user; 19 20 // It's surely a WordPress blog, right? 21 $c = array('wordpress'); 22 23 // Applies the time- and date-based classes (below) to BODY element 24 sandbox_date_classes(time(), $c); 25 26 // Generic semantic classes for what type of content is displayed 27 is_home() ? $c[] = 'home' : null; 28 is_archive() ? $c[] = 'archive' : null; 29 is_date() ? $c[] = 'date' : null; 30 is_search() ? $c[] = 'search' : null; 31 is_paged() ? $c[] = 'paged' : null; 32 is_attachment() ? $c[] = 'attachment' : null; 33 is_404() ? $c[] = 'four04' : null; // CSS does not allow a digit as first character 34 35 // Special classes for BODY element when a single post 36 if ( is_single() ) { 37 $postID = $wp_query->post->ID; 38 the_post(); 39 $c[] = 'single postid-' . $postID; 40 if ( isset($wp_query->post->post_date) ) 41 sandbox_date_classes(mysql2date('U', $wp_query->post->post_date), $c, 's-'); 42 foreach ( (array) get_the_category() as $cat ) 43 $c[] = 's-category-' . $cat->category_nicename; 44 $c[] = 's-author-' . sanitize_title_with_dashes(strtolower(get_the_author('login'))); 45 rewind_posts(); 46 } 47 48 // Author name classes for BODY on author archives 49 else if ( is_author() ) { 50 $author = $wp_query->get_queried_object(); 51 $c[] = 'author'; 52 $c[] = 'author-' . $author->user_nicename; 53 } 54 55 // Category name classes for BODY on category archvies 56 else if ( is_category() ) { 57 $cat = $wp_query->get_queried_object(); 58 $c[] = 'category'; 59 $c[] = 'category-' . $cat->category_nicename; 60 } 61 62 // Page author for BODY on 'pages' 63 else if ( is_page() ) { 64 $pageID = $wp_query->post->ID; 65 the_post(); 66 $c[] = 'page pageid-' . $pageID; 67 $c[] = 'page-author-' . sanitize_title_with_dashes(strtolower(get_the_author('login'))); 68 rewind_posts(); 69 } 70 71 // For when a visitor is logged in while browsing 72 if ( $current_user->ID ) 73 $c[] = 'loggedin'; 74 75 // Paged classes; for 'page X' classes of index, single, etc. 76 if ( ( ( $page = $wp_query->get("paged") ) || ( $page = $wp_query->get("page") ) ) && $page > 1 ) { 77 $c[] = 'paged-'.$page.''; 78 if ( is_single() ) { 79 $c[] = 'single-paged-'.$page.''; 80 } else if ( is_page() ) { 81 $c[] = 'page-paged-'.$page.''; 82 } else if ( is_category() ) { 83 $c[] = 'category-paged-'.$page.''; 84 } else if ( is_date() ) { 85 $c[] = 'date-paged-'.$page.''; 86 } else if ( is_author() ) { 87 $c[] = 'author-paged-'.$page.''; 88 } else if ( is_search() ) { 89 $c[] = 'search-paged-'.$page.''; 90 } 91 } 92 93 // Separates classes with a single space, collates classes for BODY 94 $c = join(' ', apply_filters('body_class', $c)); 95 96 // And tada! 97 return $print ? print($c) : $c; 98 } 99 100 // Generates semantic classes for each post DIV element 101 function sandbox_post_class( $print = true ) { 102 global $post, $sandbox_post_alt; 103 104 // hentry for hAtom compliace, gets 'alt' for every other post DIV, describes the post type and p[n] 105 $c = array('hentry', "p$sandbox_post_alt", $post->post_type, $post->post_status); 106 107 // Author for the post queried 108 $c[] = 'author-' . sanitize_title_with_dashes(strtolower(get_the_author('login'))); 109 110 // Category for the post queried 111 foreach ( (array) get_the_category() as $cat ) 112 $c[] = 'category-' . $cat->category_nicename; 113 114 // For password-protected posts 115 if ( $post->post_password ) 116 $c[] = 'protected'; 117 118 // Applies the time- and date-based classes (below) to post DIV 119 sandbox_date_classes(mysql2date('U', $post->post_date), $c); 120 121 // If it's the other to the every, then add 'alt' class 122 if ( ++$sandbox_post_alt % 2 ) 123 $c[] = 'alt'; 124 125 // Separates classes with a single space, collates classes for post DIV 126 $c = join(' ', apply_filters('post_class', $c)); 127 128 // And tada! 129 return $print ? print($c) : $c; 130 } 131 132 // Define the num val for 'alt' classes (in post DIV and comment LI) 133 $sandbox_post_alt = 1; 134 135 // Generates semantic classes for each comment LI element 136 function sandbox_comment_class( $print = true ) { 137 global $comment, $post, $sandbox_comment_alt; 138 139 // Collects the comment type (comment, trackback), 140 $c = array($comment->comment_type); 141 142 // Counts trackbacks (t[n]) or comments (c[n]) 143 if ($comment->comment_type == 'trackback') { 144 $c[] = "t$sandbox_comment_alt"; 145 } else { 146 $c[] = "c$sandbox_comment_alt"; 147 } 148 149 // If the comment author has an id (registered), then print the log in name 150 if ( $comment->user_id > 0 ) { 151 $user = get_userdata($comment->user_id); 152 153 // For all registered users, 'byuser'; to specificy the registered user, 'commentauthor+[log in name]' 154 $c[] = "byuser comment-author-".strtolower($user->user_login); 155 156 // For comment authors who are the author of the post 157 if ( $comment->user_id === $post->post_author ) 158 $c[] = 'bypostauthor'; 159 } 160 161 // If it's the other to the every, then add 'alt' class; collects time- and date-based classes 162 sandbox_date_classes(mysql2date('U', $comment->comment_date), $c, 'c-'); 163 if ( ++$sandbox_comment_alt % 2 ) 164 $c[] = 'alt'; 165 166 // Separates classes with a single space, collates classes for comment LI 167 $c = join(' ', apply_filters('comment_class', $c)); 168 169 // Tada again! 170 return $print ? print($c) : $c; 171 } 172 173 // Generates time- and date-based classes for BODY, post DIVs, and comment LIs; relative to GMT (UTC) 174 function sandbox_date_classes($t, &$c, $p = '') { 175 $t = $t + (get_settings('gmt_offset') * 3600); 176 $c[] = $p . 'y' . gmdate('Y', $t); // Year 177 $c[] = $p . 'm' . gmdate('m', $t); // Month 178 $c[] = $p . 'd' . gmdate('d', $t); // Day 179 $c[] = $p . 'h' . gmdate('H', $t); // Hour 180 } 181 182 // For category lists on category archives, returns other categorys except the current one (redundant) 183 function sandbox_cats_meow($glue) { 184 $current_cat = single_cat_title('', false); 185 $separator = "\n"; 186 $cats = explode($separator, get_the_category_list($separator)); 187 188 foreach ( $cats as $i => $str ) { 189 if ( strstr($str, ">$current_cat<") ) { 190 unset($cats[$i]); 191 break; 192 } 193 } 194 195 if ( empty($cats) ) 196 return false; 197 198 return trim(join($glue, $cats)); 199 } 200 201 // Widget: Search; to match the Sandbox style and replace Widget plugin default 202 function widget_sandbox_search($args) { 203 extract($args); 204 if ( empty($title) ) 205 $title = __('Search', 'sandbox'); 206 ?> 207 <?php echo $before_widget ?> 208 <?php echo $before_title ?><label for="s"><?php echo $title ?></label><?php echo $after_title ?> 209 <form id="searchform" method="get" action="<?php bloginfo('home') ?>"> 210 <div> 211 <input id="s" name="s" type="text" value="<?php echo wp_specialchars(stripslashes($_GET['s']), true) ?>" size="10" tabindex="1" /> 212 <input id="searchsubmit" name="searchsubmit" type="submit" value="<?php _e('Find', 'sandbox') ?>" tabindex="2" /> 213 </div> 214 </form> 215 <?php echo $after_widget ?> 216 217 <?php 218 } 219 220 // Widget: Meta; to match the Sandbox style and replace Widget plugin default 221 function widget_sandbox_meta($args) { 222 extract($args); 223 if ( empty($title) ) 224 $title = __('Meta', 'sandbox'); 225 ?> 226 <?php echo $before_widget; ?> 227 <?php echo $before_title . $title . $after_title; ?> 228 <ul> 229 <?php wp_register() ?> 230 <li><?php wp_loginout() ?></li> 231 <?php wp_meta() ?> 232 </ul> 233 <?php echo $after_widget; ?> 234 <?php 235 } 236 237 // Widget: RSS links; to match the Sandbox style 238 function widget_sandbox_rsslinks($args) { 239 extract($args); 240 $options = get_option('widget_sandbox_rsslinks'); 241 $title = empty($options['title']) ? __('RSS Links', 'sandbox') : $options['title']; 242 ?> 243 <?php echo $before_widget; ?> 244 <?php echo $before_title . $title . $after_title; ?> 245 <ul> 246 <li><a href="<?php bloginfo('rss2_url') ?>" title="<?php echo wp_specialchars(get_bloginfo('name'), 1) ?> <?php _e('Posts RSS feed', 'sandbox'); ?>" rel="alternate" type="application/rss+xml"><?php _e('All posts', 'sandbox') ?></a></li> 247 <li><a href="<?php bloginfo('comments_rss2_url') ?>" title="<?php echo wp_specialchars(bloginfo('name'), 1) ?> <?php _e('Comments RSS feed', 'sandbox'); ?>" rel="alternate" type="application/rss+xml"><?php _e('All comments', 'sandbox') ?></a></li> 248 </ul> 249 <?php echo $after_widget; ?> 250 <?php 251 } 252 253 // Widget: RSS links; element controls for customizing text within Widget plugin 254 function widget_sandbox_rsslinks_control() { 255 $options = $newoptions = get_option('widget_sandbox_rsslinks'); 256 if ( $_POST["rsslinks-submit"] ) { 257 $newoptions['title'] = strip_tags(stripslashes($_POST["rsslinks-title"])); 258 } 259 if ( $options != $newoptions ) { 260 $options = $newoptions; 261 update_option('widget_sandbox_rsslinks', $options); 262 } 263 $title = htmlspecialchars($options['title'], ENT_QUOTES); 264 ?> 265 <p><label for="rsslinks-title"><?php _e('Title:'); ?> <input style="width: 250px;" id="rsslinks-title" name="rsslinks-title" type="text" value="<?php echo $title; ?>" /></label></p> 266 <input type="hidden" id="rsslinks-submit" name="rsslinks-submit" value="1" /> 267 <?php 268 } 269 270 // Widget and Sandbox function: creates bookmark links (blogrolls) for WP 2.0.x or WP 2.1.x 271 function widget_sandbox_links() { 272 // Checks for WP 2.1.x bookmarks function 273 if ( function_exists('wp_list_bookmarks') ) { 274 wp_list_bookmarks(array('title_before'=>'<h3>', 'title_after'=>'</h3>', 'show_images'=>true)); 275 } else { 276 // If not WP 2.1.x, then on the database . . . 277 global $wpdb; 278 279 // Nasty bit of code to make pretty WP 2.0.x blogrolls 280 $cats = $wpdb->get_results(" 281 SELECT DISTINCT link_category, cat_name, show_images, 282 show_description, show_rating, show_updated, sort_order, 283 sort_desc, list_limit 284 FROM `$wpdb->links` 285 LEFT JOIN `$wpdb->linkcategories` ON (link_category = cat_id) 286 WHERE link_visible = 'Y' 287 AND list_limit <> 0 288 ORDER BY cat_name ASC", ARRAY_A); 289 290 // Sorts blogroll categorys by name 291 if ($cats) { 292 foreach ($cats as $cat) { 293 $orderby = $cat['sort_order']; 294 $orderby = (bool_from_yn($cat['sort_desc'])?'_':'') . $orderby; 295 296 // Display the category name 297 echo ' <li id="linkcat-' . $cat['link_category'] . '"><h3>' . $cat['cat_name'] . "</h3>\n\t<ul>\n"; 298 299 // Call get_links() with all the appropriate params 300 get_links($cat['link_category'], 301 '<li>',"</li>","\n", 302 bool_from_yn($cat['show_images']), 303 $orderby, 304 bool_from_yn($cat['show_description']), 305 bool_from_yn($cat['show_rating']), 306 $cat['list_limit'], 307 bool_from_yn($cat['show_updated'])); 308 309 // Closes any oustanding accounts 310 echo "\n\t</ul>\n</li>\n"; 311 } 312 } 313 } 314 } 315 316 // Widgets plugin: intializes the plugin after the widgets above have passed snuff 317 function sandbox_widgets_init() { 318 if ( !function_exists('register_sidebars') ) 319 return; 320 321 // Uses H3-level headings with all widgets to match Sandbox style 322 $p = array( 323 'before_title' => "<h3 class='widgettitle'>", 324 'after_title' => "</h3>\n", 325 ); 326 327 // Table for how many? Two? This way, please. 328 register_sidebars(2, $p); 329 330 // Finished intializing Widgets plugin, now let's load the Sandbox default widgets 331 register_sidebar_widget(__('Search', 'sandbox'), 'widget_sandbox_search', null, 'search'); 332 unregister_widget_control('search'); 333 register_sidebar_widget(__('Meta', 'sandbox'), 'widget_sandbox_meta', null, 'meta'); 334 unregister_widget_control('meta'); 335 register_sidebar_widget(__('Links', 'sandbox'), 'widget_sandbox_links', null, 'links'); 336 unregister_widget_control('links'); 337 register_sidebar_widget(array(__('RSS Links', 'sandbox'), 'widgets'), 'widget_sandbox_rsslinks'); 338 register_widget_control(array(__('RSS Links', 'sandbox'), 'widgets'), 'widget_sandbox_rsslinks_control', 300, 90); 339 } 340 341 // Translate, if applicable 342 load_theme_textdomain('sandbox'); 343 344 // Runs our code at the end to check that everything needed has loaded 345 add_action('init', 'sandbox_widgets_init'); 346 347 // Adds filters so that things run smoothly 348 add_filter('archive_meta', 'wptexturize'); 349 add_filter('archive_meta', 'convert_smilies'); 350 add_filter('archive_meta', 'convert_chars'); 351 add_filter('archive_meta', 'wpautop'); 352 353 // Remember: a Sandbox is for play. 354 ?> -
wp-content/themes/sandbox/header.php
1 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> 2 <html xmlns="http://www.w3.org/1999/xhtml" <?php sandbox_blog_lang(); ?>> 3 <head profile="http://gmpg.org/xfn/11"> 4 <title><?php bloginfo('name'); if ( is_404() ) : _e(' » ', 'sandbox'); _e('Not Found', 'sandbox'); elseif ( is_home() ) : _e(' » ', 'sandbox'); bloginfo('description'); else : wp_title(); endif; ?></title> 5 <meta http-equiv="content-type" content="<?php bloginfo('html_type') ?>; charset=<?php bloginfo('charset') ?>" /> 6 <meta name="description" content="<?php bloginfo('description') ?>" /> 7 <meta name="generator" content="WordPress <?php bloginfo('version') ?>" /><!-- Please leave for stats --> 8 <link rel="stylesheet" type="text/css" href="<?php bloginfo('stylesheet_url'); ?>" /> 9 <link rel="alternate" type="application/rss+xml" href="<?php bloginfo('rss2_url') ?>" title="<?php echo wp_specialchars(get_bloginfo('name'), 1) ?> <?php _e('Posts RSS feed', 'sandbox'); ?>" /> 10 <link rel="alternate" type="application/rss+xml" href="<?php bloginfo('comments_rss2_url') ?>" title="<?php echo wp_specialchars(get_bloginfo('name'), 1) ?> <?php _e('Comments RSS feed', 'sandbox'); ?>" /> 11 <link rel="pingback" href="<?php bloginfo('pingback_url') ?>" /> 12 <?php wp_head() ?> 13 14 </head> 15 16 <body class="<?php sandbox_body_class() ?>"> 17 18 <div id="wrapper" class="hfeed"> 19 20 <div id="header"> 21 <h1 id="blog-title"><a href="<?php echo get_settings('home') ?>/" title="<?php bloginfo('name') ?>" rel="home"><?php bloginfo('name') ?></a></h1> 22 <div id="blog-description"><?php bloginfo('description') ?></div> 23 </div><!-- #header --> 24 25 <div id="access"> 26 <div class="skip-link"><a href="#content" title="<?php _e('Skip navigation to the content', 'sandbox'); ?>"><?php _e('Skip to content', 'sandbox'); ?></a></div> 27 <?php sandbox_globalnav() ?> 28 </div><!-- #access --> -
wp-content/themes/sandbox/index.php
1 <?php get_header() ?> 2 3 <div id="container"> 4 <div id="content"> 5 6 <div id="nav-above" class="navigation"> 7 <div class="nav-previous"><?php next_posts_link(__('<span class="meta-nav">«</span> Older posts', 'sandbox')) ?></div> 8 <div class="nav-next"><?php previous_posts_link(__('Newer posts <span class="meta-nav">»</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 – %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">»</span>', 'sandbox').''); ?> 17 18 <?php link_pages("\t\t\t\t\t<div class='page-link'>".__('Pages: ', 'sandbox'), "</div>\n", 'number'); ?> 19 </div> 20 <div class="entry-meta"> 21 <span class="author vcard"><?php printf(__('By %s', 'sandbox'), '<a class="url fn n" href="'.get_author_link(false, $authordata->ID, $authordata->user_nicename).'" title="' . sprintf(__('View all posts by %s', 'sandbox'), $authordata->display_name) . '">'.get_the_author().'</a>') ?></span> 22 <span class="meta-sep">|</span> 23 <span class="cat-links"><?php printf(__('Posted in %s', 'sandbox'), get_the_category_list(', ')) ?></span> 24 <span class="meta-sep">|</span> 25 <?php edit_post_link(__('Edit', 'sandbox'), "\t\t\t\t\t<span class=\"edit-link\">", "</span>\n\t\t\t\t\t<span class=\"meta-sep\">|</span>\n"); ?> 26 <span class="comments-link"><?php comments_popup_link(__('Comments (0)', 'sandbox'), __('Comments (1)', 'sandbox'), __('Comments (%)', 'sandbox')) ?></span> 27 </div> 28 </div><!-- .post --> 29 30 <?php comments_template() ?> 31 <?php endwhile ?> 32 33 <div id="nav-below" class="navigation"> 34 <div class="nav-previous"><?php next_posts_link(__('<span class="meta-nav">«</span> Older posts', 'sandbox')) ?></div> 35 <div class="nav-next"><?php previous_posts_link(__('Newer posts <span class="meta-nav">»</span>', 'sandbox')) ?></div> 36 </div> 37 38 </div><!-- #content --> 39 </div><!-- #container --> 40 41 <?php get_sidebar() ?> 42 <?php get_footer() ?> 43 No newline at end of file -
wp-content/themes/sandbox/links.php
1 <?php 2 /* 3 Template Name: Links Page 4 */ 5 ?> 6 <?php get_header() ?> 7 8 <div id="container"> 9 <div id="content"> 10 11 <?php the_post() ?> 12 <div id="post-<?php the_ID(); ?>" class="<?php sandbox_post_class() ?>"> 13 <h2 class="entry-title"><?php the_title() ?></h2> 14 <div class="entry-content"> 15 <?php the_content() ?> 16 17 <ul id="links-page" class="xoxo"> 18 <?php if ( function_exists('wp_list_bookmarks') ) : wp_list_bookmarks('title_before=<h3>&title_after=</h3>'); else : ?> 19 <?php 20 $link_cats = $wpdb->get_results("SELECT cat_id, cat_name FROM $wpdb->linkcategories"); 21 foreach ($link_cats as $link_cat) : 22 ?> 23 <li id="linkcat-<?php echo $link_cat->cat_id; ?>"> 24 <h3><?php echo $link_cat->cat_name; ?></h3> 25 <ul> 26 <?php wp_get_links($link_cat->cat_id); ?> 27 </ul> 28 </li> 29 <?php endforeach ?> 30 <?php endif ?> 31 </ul> 32 <?php edit_post_link(__('Edit', 'sandbox'),'<span class="edit-link">','</span>') ?> 33 34 </div> 35 </div><!-- .post --> 36 37 <?php if ( get_post_custom_values('comments') ) comments_template() // Add a key/value of "comments" to enable comments on pages! ?> 38 39 </div><!-- #content --> 40 </div><!-- #container --> 41 42 <?php get_sidebar() ?> 43 <?php get_footer() ?> 44 No newline at end of file -
wp-content/themes/sandbox/page.php
1 <?php get_header() ?> 2 3 <div id="container"> 4 <div id="content"> 5 6 <?php the_post() ?> 7 <div id="post-<?php the_ID(); ?>" class="<?php sandbox_post_class() ?>"> 8 <h2 class="entry-title"><?php the_title(); ?></h2> 9 <div class="entry-content"> 10 <?php the_content() ?> 11 12 <?php link_pages("\t\t\t\t\t<div class='page-link'>".__('Pages: ', 'sandbox'), "</div>\n", 'number'); ?> 13 14 <?php edit_post_link(__('Edit', 'sandbox'),'<span class="edit-link">','</span>') ?> 15 16 </div> 17 </div><!-- .post --> 18 19 <?php if ( get_post_custom_values('comments') ) comments_template() // Add a key+value of "comments" to enable comments on this page ?> 20 21 </div><!-- #content --> 22 </div><!-- #container --> 23 24 <?php get_sidebar() ?> 25 <?php get_footer() ?> 26 No newline at end of file -
wp-content/themes/sandbox/readme.html
1 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> 2 <html xmlns="http://www.w3.org/1999/xhtml"> 3 <head profile="http://gmpg.org/xfn/11"> 4 <title>The Sandbox · An explanation</title> 5 <meta http-equiv="content-type" content="text/html; charset=UTF-8" /> 6 <meta http-equiv="content-language" content="en-us" /> 7 <meta name="description" content="Sandbox: a highly semantic theme with powerful, dynamic class selectors" /> 8 <meta name="keywords" content="sandbox,xhtml,hatom,hcard,microformats,semantics,css,wordpress" /> 9 <style type="text/css" media="all"> 10 /*<![CDATA[*/ 11 body{background:#fcfcfc;color:#444;font:normal 70%/150% verdana,geneva,sans-serif;margin:0;padding:0;} 12 body blockquote{border-left:5px solid #f6f6f6;padding-left:0.5em;} 13 body code,body pre{font:1em/150% consolas,"courier new",courier,monospace;} 14 body div#readme{background:#fff;border-left:3px solid #f9f9f9;border-right:3px solid #f9f9f9;color:#444;margin:0 auto;padding:1em 2em;width:50em;} 15 body div#readme div#footer{margin:3em auto 1em;text-align:center;} 16 body div#readme div#footer p{background:#ffd;color:#666;display:inline;padding:0.2em 0.5em;} 17 body div#readme div#header{margin:0 auto;text-align:center;} 18 body div#readme div#header div.readme-version{font-size:0.9em;margin:0 0 0.5em;text-transform:uppercase;letter-spacing:0.1em;} 19 body h1{font-size:3.2em;} 20 body h1,body h2,body h3{font-family:garamond,georgia,times,serif;font-weight:400;} 21 body h2{font-size:2em;margin-top:3em;} 22 body h3{font-size:1.6em;margin-top:2em;} 23 body ol li ol li,body ol li#features ol li ol li{list-style:decimal;} 24 body ol li#functions h3{font-size:1.5em;} 25 body ol li#functions ol{list-style:lower-alpha;margin:0 0 0 2em;padding:0;} 26 body ol li#license blockquote a{color:#222;text-decoration:none;} 27 body ol li#license blockquote strong{font-size:0.9em;font-weight:400;text-transform:uppercase;} 28 body ol li,body ol#menu li ol li{list-style:upper-roman;} 29 body ol ul li{list-style:square;} 30 body ol#menu li{list-style:none;} 31 body ol#menu li ol li ol li,body ol li#functions ol li,body ol li#features ol li{list-style:lower-roman;} 32 body pre span,body span.bold{font-weight:700;} 33 body span.vcard span.family-name,body span.vcard span.additional-name{display:none;} 34 table{border-collapse:separate;border-color:#aaa;border-spacing:0;border-style:solid;border-width:1px;padding:0 0.5em;} 35 table tbody td{border-collapse:separate;border-color:#aaa;border-style:solid;border-width:0.5px 0;padding:0.2em 0.5em;} 36 table tbody th{border-bottom:1px solid #aaa;font-size:0.8em;text-align:left;text-transform:uppercase;} 37 table tbody tr.alt{background:#f5f5f5;} 38 table tfoot th{font-size:0.8em;padding-top:1em;text-align:left;text-transform:uppercase;} 39 table thead th{padding:0.5em;} 40 /*]]>*/ 41 </style> 42 </head> 43 <body> 44 <div id="readme"> 45 46 <div id="header"> 47 <h1 id="title">The Sandbox</h1> 48 <div class="readme-version">Version 0.9.5</div> 49 <div class="readme-subtitle">A theme rich with powerful and dynamic semantic class selectors</div> 50 </div><!-- #header --> 51 52 <ol id="menu" class="xoxo"> 53 <li> 54 <h2>Table of contents</h2> 55 <ol> 56 <li><a href="#introduction" title="Skip to Introduction">Introduction</a></li> 57 <li><a href="#installing" title="Skip to Installing">Installing</a></li> 58 <li><a href="#functions" title="Skip to Class functions">Class functions</a> 59 <ol> 60 <li><a href="#body-class" title="Skip to Class functions: sandbox_body_class()"><code>sandbox_body_class()</code></a></li> 61 <li><a href="#post-class" title="Skip to Class functions: sandbox_post_class()"><code>sandbox_post_class()</code></a></li> 62 <li><a href="#comment-class" title="Skip to Class functions: sandbox_comment_class()"><code>sandbox_comment_class()</code></a></li> 63 </ol> 64 </li> 65 <li><a href="#standards" title="Skip to Web standards">Web standards</a></li> 66 <li><a href="#microformats" title="Skip to Microformats">Microformats</a></li> 67 <li><a href="#features" title="Skip to Other features">Other features</a> 68 <ol> 69 <li><a href="#comments" title="Skip to Other features: Comments on pages">Comments on pages</a></li> 70 <li><a href="#templates" title="Skip to Other features: Page templates">Page templates</a></li> 71 </ol> 72 </li> 73 <li><a href="#license" title="Skip to License">License</a></li> 74 </ol> 75 </li> 76 </ol><!-- #menu .xoxo --> 77 78 <ol id="content" class="xoxo"> 79 <li id="introduction"> 80 <h2>Introduction</h2> 81 <p>The Sandbox is a lot of things:</p> 82 <ul> 83 <li>Beautiful on the inside</li> 84 <li>For WordPress 2.0.2 through 2.2.x</li> 85 <li>Valid <abbr title="eXtensible HyperText Markup Language">XHTML</abbr> 1.0 Transitional</li> 86 <li>Widgets plugin-friendly</li> 87 <li>The basis for your new, <abbr title="GNU Public Licence">GPL</abbr>-licensed theme</li> 88 </ul> 89 <p>More importantly, the Sandbox <em>can be</em> a lot of things.</p> 90 <p>What began as <span class="vcard"><a class="url fn n" href="http://www.plaintxt.org/" title="Scott, plaintxt.org" rel="me"><span class="given-name">Scott</span><span class="additional-name"> Allan</span><span class="family-name"> Wallick</span></a></span>'s leftovers has become an advanced, semantics-based theme. <span class="vcard"><a class="url fn n" href="http://andy.wordpress.com/" title="Andy, WordPress.com"><span class="given-name">Andy</span><span class="family-name"> Skelton</span></a></span> added his innovative semantic class-generating functions and Scott edited it to oblivion.</p> 91 <p>So what can you do with the Sandbox?</p> 92 <ul> 93 <li>You can just use it as-is and have a super-cool, truly minimalist theme.</li> 94 <li>You can totally cusotmize it with <abbr title="Cascading Style Sheets">CSS</abbr> alone—no need to bother with other files.</li> 95 <li>You can use the functions, theme files, et al, as pleases you—even for your own theme.</li> 96 <li>You can use it as a good place to learn a few things about CSS, XHTML, and <abbr title="Hypertext Preprocessor">PHP</abbr>, perhaps.</li> 97 </ul> 98 <p>The real feature of the Sandbox is its markup. The use of class-generating functions in the <code>body</code>, post <code>div</code>, and comment/trackback <code>li</code> elements create an exceptionally extensible foundation. As Andy said, <q cite="http://andy.wordpress.com/2006/07/20/generated-semantic-classes-2/" title="Generated Semantic Classes 2">Given straightforward markup with plenty of selectors, there isn't much that can't be accomplished with CSS and a decent browser.</q></p> 99 <p>And the implementation of the hAtom and hCard microformats means we're looking forward (and pleasing the barons at Technorati). You might be able to improve on our markup, but, well, who wants to work that hard?</p> 100 </li><!-- #introduction --> 101 102 <li id="installing"> 103 <h2>Installing</h2> 104 <p>The Sandbox theme is installed just like any other WordPress theme. To install this theme:</p> 105 <ol> 106 <li>Download the <a href="http://www.plaintxt.org/themes/sandbox/" title="The Sandbox for WordPress" rel="me">Sandbox</a></li> 107 <li>Extract the <code>/sandbox/</code> folder from the archive</li> 108 <li>Upload this folder to the <code>/wp-contents/themes/</code> directory</li> 109 <li>Activate the theme in the <i>Dashboard › Presentation</i> menu</li> 110 <li>Enjoy</li> 111 </ol> 112 <p>You can read more detailed installation instructions on the <a href="http://codex.wordpress.org/Using_Themes#Adding_New_Themes" title="Adding new themes - WordPress Codex" rel="external">WordPress Codex</a>.</p> 113 <p>Developers interested in <a href="http://en.wikipedia.org/wiki/Subversion_(software)" title="Subersion - Wikipedia" rel="external">Subversion</a> access to the Sandbox repository may visit <a href="http://code.google.com/p/sandbox-theme" title="Sandbox theme on Google Code" rel="external">code.google.com/p/sandbox-theme</a>. Please ignore this if you are not familiar with Subversion.</p> 114 </li><!-- #installing --> 115 116 <li id="functions"> 117 <h2>Class functions</h2> 118 <p>The three semantic class-generating functions used in the Sandbox are charted below, outlining what semantic classes are generated (“Class”), any related WordPress function (“WP Tag”), and the usage of these classes (“Usage”). For more on the WP Tag aspect, read the <a href="http://codex.wordpress.org/Template_Tags" title="Template tags « WordPress Codex" rel="external">Template Tags</a> and <a href="http://codex.wordpress.org/Conditional_Tags" title="Conditional Tags « WordPress Codex" rel="external">Conditional Tags</a> articles on the WordPress Codex.</p> 119 120 <ol> 121 <li id="body-class"> 122 <h3><code>sandbox_body_class()</code></h3> 123 <p>The <code>sandbox_body_class()</code> function is definied in the <code>functions.php</code> file. It has no parameters. It adds semantic classes to the <code>body</code> element relative to the content of the page that is being displayed.</p> 124 <pre><body class="<span><?php sandbox_body_class() ?></span>"></pre> 125 <p>The chart below lists the semantic classes added to the <code>body</code> tag by this function.</p> 126 <table id="body-class-table" summary="Classes given to the body element sandbody_body_class()"> 127 <thead> 128 <tr> 129 <th colspan="3" scope="colgroup"><code>sandbox_body_class()</code></th> 130 </tr> 131 </thead> 132 <tfoot> 133 <tr> 134 <th colspan="3" scope="colgroup">CSS example</th> 135 </tr> 136 <tr> 137 <td colspan="3" scope="row" abbr="CSS example"><code>body.single div.sidebar { display: none; }</code></td> 138 </tr> 139 </tfoot> 140 <tbody> 141 <tr> 142 <th scope="col" abbr="class">Class</th> 143 <th scope="col" abbr="tag">WP Tag</th> 144 <th scope="col" abbr="use">Usage</th> 145 </tr> 146 <tr class="alt"> 147 <td scope="row">archive</td> 148 <td><code>is_archive()</code></td> 149 <td>When <em>any</em> archive page is displayed, i.e., applies to category-, date-, and author-based archive pages</td> 150 </tr> 151 <tr> 152 <td scope="row">attachment</td> 153 <td><code>is_attachment()</code></td> 154 <td>When the post subpage containing an attachment is displayed, as set with "Linked to Page" in the post editor</td> 155 </tr> 156 <tr class="alt"> 157 <td scope="row">author</td> 158 <td><code>is_author()</code></td> 159 <td>When a author archive page is displayed</td> 160 </tr> 161 <tr> 162 <td scope="row">author-[name]</td> 163 <td><code>is_author()</code></td> 164 <td>When a specific author archive page is displayed, where <i>[name]</i> is the author's login name, e.g., author-admin</td> 165 </tr> 166 <tr class="alt"> 167 <td scope="row">author-paged-[n]</td> 168 <td><code>is_author()</code> & <code>is_paged()</code></td> 169 <td>Displays the "paged" number of author archive, where <i>[n]</i> is the paginated number</td> 170 </tr> 171 <tr> 172 <td scope="row">category</td> 173 <td><code>is_category()</code></td> 174 <td>When a category archive page is displayed</td> 175 </tr> 176 <tr class="alt"> 177 <td scope="row">category-[name]</td> 178 <td><code>is_category()</code></td> 179 <td>For a specific category, where <i>[name]</i> is the category slug, e.g., category-useful-links</td> 180 </tr> 181 <tr> 182 <td scope="row">category-paged-[n]</td> 183 <td><code>is_category()</code> & <code>is_paged()</code></td> 184 <td>Displays the "paged" number of category archive, where <i>[n]</i> is the paginated number</td> 185 </tr> 186 <tr class="alt"> 187 <td scope="row">d01–31</td> 188 <td><code>gmdate('d')</code></td> 189 <td>The current day of when the page is displayed (Offset to GMT)</td> 190 </tr> 191 <tr> 192 <td scope="row">date</td> 193 <td><code>is_date()</code></td> 194 <td>When a date archive page is displayed, e.g., by month, by year</td> 195 </tr> 196 <tr class="alt"> 197 <td scope="row">date-paged-[n]</td> 198 <td><code>is_date()</code> & <code>is_paged()</code></td> 199 <td>Displays the "paged" number of date-based archive, where <i>[n]</i> is the paginated number</td> 200 </tr> 201 <tr> 202 <td scope="row">h00–24</td> 203 <td><code>gmdate('h')</code></td> 204 <td>The current hour of when the page is displayed (Offset to GMT)</td> 205 </tr> 206 <tr class="alt"> 207 <td scope="row">four04</td> 208 <td><code>is_404()</code></td> 209 <td>When a request results in zero posts, i.e., a 404 error page</td> 210 </tr> 211 <tr> 212 <td scope="row">home</td> 213 <td><code>is_home()</code></td> 214 <td>When the home page is displayed</td> 215 </tr> 216 <tr class="alt"> 217 <td scope="row">m00–12</td> 218 <td><code>gmdate('m')</code></td> 219 <td>The current month of when the page is displayed (Offset to GMT)</td> 220 </tr> 221 <tr> 222 <td scope="row">loggedin</td> 223 <td>n/a</td> 224 <td>When the page is displayed by a logged-in user</td> 225 </tr> 226 <tr class="alt"> 227 <td scope="row">page</td> 228 <td><code>is_page()</code></td> 229 <td>When a page is displayed</td> 230 </tr> 231 <tr> 232 <td scope="row">page-author-[name]</td> 233 <td><code>is_page()</code></td> 234 <td>For a page by a specific author, where <i>[name]</i> is the user's login name, e.g., page-author-admin</td> 235 </tr> 236 <tr class="alt"> 237 <td scope="row">page-paged-[n]</td> 238 <td><code>is_page()</code> & <code>is_paged()</code></td> 239 <td>Displays the "paged" number of pages, where <i>[n]</i> is the paginated number</td> 240 </tr> 241 <tr> 242 <td scope="row">paged</td> 243 <td><code>is_paged()</code></td> 244 <td>When whatever is displayed is "paged," e.g., page 2 of the index</td> 245 </tr> 246 <tr class="alt"> 247 <td scope="row">paged-[n]</td> 248 <td><code>is_paged()</code></td> 249 <td>Displays the "paged" number, where <i>[n]</i> is the paginated number, e.g., paged-3 for third page of index</td> 250 </tr> 251 <tr> 252 <td scope="row">pageid-[n]</td> 253 <td><code>is_page()</code></td> 254 <td>Displays the page ID number of queried page, where <i>[n]</i> is the page ID, e.g., pageid-20</td> 255 </tr> 256 <tr class="alt"> 257 <td scope="row">postid-[n]</td> 258 <td><code>is_single()</code></td> 259 <td>Displays the post ID number of queried post, where <i>[n]</i> is the post ID, e.g., postid-20</td> 260 </tr> 261 <tr> 262 <td scope="row">search</td> 263 <td><code>is_search()</code></td> 264 <td>When the results of a search are displayed</td> 265 </tr> 266 <tr class="alt"> 267 <td scope="row">single</td> 268 <td><code>is_single()</code></td> 269 <td>When a single post is displayed</td> 270 </tr> 271 <tr> 272 <td scope="row">s-author-[name]</td> 273 <td><code>is_single()</code> & <code>is_author()</code></td> 274 <td>For a single post published by a specific author, where <i>[name]</i> is the user's login name, e.g., s-author-admin</td> 275 </tr> 276 <tr class="alt"> 277 <td scope="row">s-category-[name]</td> 278 <td><code>is_single()</code> & <code>is_category()</code></td> 279 <td>For a single post published in a specific category, where <i>[name]</i> is the category slug, e.g., s-category-news</td> 280 </tr> 281 <tr> 282 <td scope="row">s-d01–31</td> 283 <td><code>gmdate('d')</code></td> 284 <td>For a single post published on a specific day (Offset to GMT)</td> 285 </tr> 286 <tr class="alt"> 287 <td scope="row">s-h00–24</td> 288 <td><code>gmdate('h')</code></td> 289 <td>For a single post published at a specific hour (Offset to GMT)</td> 290 </tr> 291 <tr> 292 <td scope="row">s-m00–12</td> 293 <td><code>gmdate('m')</code></td> 294 <td>For a single post published in a specific month (Offset to GMT)</td> 295 </tr> 296 <tr class="alt"> 297 <td scope="row">s-y2007</td> 298 <td><code>gmdate('Y')</code></td> 299 <td>For a single post published in a specific year (Offset to GMT)</td> 300 </tr> 301 <tr> 302 <td scope="row">wordpress</td> 303 <td>n/a</td> 304 <td>When anything is displayed; a class that is always applied</td> 305 </tr> 306 <tr class="alt"> 307 <td scope="row">y2007</td> 308 <td><code>gmdate('Y')</code></td> 309 <td>The current year of when the page is display (Offset to GMT)</td> 310 </tr> 311 </tbody> 312 </table><!-- #body-class-table --> 313 </li><!-- #body-class --> 314 315 <li id="post-class"> 316 <h3><code>sandbox_post_class()</code></h3> 317 <p>The <code>sandbox_post_class()</code> function is definied in the <code>functions.php</code> file. It has no parameters. It adds semantic classes to each post <code>div</code> element, relative to the actual post it contains.</p> 318 <pre><div id="post-<?php the_ID(); ?>" class="<span><?php sandbox_post_class() ?></span>"></pre> 319 <p>The chart below lists the semantic classes added to each post <code>div</code> element by this function.</p> 320 <table id="post-class-table" summary="Classes given to individual posts by sandbody_post_class()"> 321 <thead> 322 <tr> 323 <th colspan="3" scope="colgroup"><code>sandbox_post_class()</code></th> 324 </tr> 325 </thead> 326 <tfoot> 327 <tr> 328 <th colspan="3" scope="colgroup">CSS example</th> 329 </tr> 330 <tr> 331 <td colspan="3" scope="row" abbr="CSS example"><code>div.category-news .entry-title { background: url('images/news.png'); }</code></td> 332 </tr> 333 </tfoot> 334 <tbody> 335 <tr> 336 <th scope="col" abbr="class">Class</th> 337 <th scope="col" abbr="tag">WP Tag</th> 338 <th scope="col" abbr="use">Usage</th> 339 </tr> 340 <tr class="alt"> 341 <td scope="row">alt</td> 342 <td>n/a</td> 343 <td>For odd-numbered posts, e.g., 1<sup>st</sup>, 3<sup>rd</sup>, 5<sup>th</sup></td> 344 </tr> 345 <tr> 346 <td scope="row">author-[name]</td> 347 <td><code>is_author()</code></td> 348 <td>For any specific author, where <i>[name]</i> is the user's login name, e.g., author-admin</td> 349 </tr> 350 <tr class="alt"> 351 <td scope="row">category-[name]</td> 352 <td><code>is_category()</code></td> 353 <td>For any specific category, where <i>[name]</i> is the category slug, e.g., category-news</td> 354 </tr> 355 <tr> 356 <td scope="row">draft</td> 357 <td>n/a</td> 358 <td>For a post saved as a draft, as contrasted with an published post</td> 359 </tr> 360 <tr class="alt"> 361 <td scope="row">hentry</td> 362 <td>n/a</td> 363 <td>For the hAtom 0.1 specification, applied every post</td> 364 </tr> 365 <tr> 366 <td scope="row">p[n]</td> 367 <td>n/a</td> 368 <td>For counting posts relative to the top of the page, where <i>[n]</i> is the number, e.g., p1 for the first post, p2 for the second, p3 for the third</td> 369 </tr> 370 <tr class="alt"> 371 <td scope="row">page</td> 372 <td>n/a</td> 373 <td>A general class, applied to every page</td> 374 </tr> 375 <tr> 376 <td scope="row">post</td> 377 <td>n/a</td> 378 <td>A general class, applied to every post</td> 379 </tr> 380 <tr class="alt"> 381 <td scope="row">private</td> 382 <td>n/a</td> 383 <td>For a post that has been saved as "private"</td> 384 </tr> 385 <tr> 386 <td scope="row">protected</td> 387 <td>n/a</td> 388 <td>For a post that has been password-protected</td> 389 </tr> 390 <tr class="alt"> 391 <td scope="row">publish</td> 392 <td>n/a</td> 393 <td>For any published post, as contrasted with an unpublished draft</td> 394 </tr> 395 <tr> 396 <td scope="row">h00–24</td> 397 <td><code>gmdate('h')</code></td> 398 <td>For a post published at a specific hour (Offset to GMT)</td> 399 </tr> 400 <tr class="alt"> 401 <td scope="row">d01–31</td> 402 <td><code>gmdate('d')</code></td> 403 <td>For a post published on a specific day (Offset to GMT)</td> 404 </tr> 405 <tr> 406 <td scope="row">m00–12</td> 407 <td><code>gmdate('m')</code></td> 408 <td>For a post published in a specific month (Offset to GMT)</td> 409 </tr> 410 <tr class="alt"> 411 <td scope="row">y2007</td> 412 <td><code>gmdate('Y')</code></td> 413 <td>For a post published in a certain year (Offset to GMT)</td> 414 </tr> 415 </tbody> 416 </table><!-- #post-class-table --> 417 </li><!-- #post-class --> 418 419 <li id="comment-class"> 420 <h3><code>sandbox_comment_class()</code></h3> 421 <p>The <code>sandbox_comment_class()</code> function is definied in the <code>functions.php</code> file. It has no parameters. It adds semantic classes to the each comment <code>li</code> element (“comment” here meaning comments, trackbacks, and pingbacks).</p> 422 <pre><li id="comment-<?php comment_ID(); ?>" class="<span><?php sandbox_comment_class() ?></span>"></pre> 423 <p>The chart below lists the semantic classes added to each comment <code>li</code> element by this function.</p> 424 <table id="comment-class-table" summary="Classes given to individual comments by sandbody_comment_class()"> 425 <thead> 426 <tr> 427 <th colspan="3" scope="colgroup"><code>sandbox_comment_class()</code></th> 428 </tr> 429 </thead> 430 <tfoot> 431 <tr> 432 <th colspan="3" scope="colgroup">CSS example</th> 433 </tr> 434 <tr> 435 <td colspan="3" scope="row" abbr="CSS example"><code>div.comments li.bypostauthor { border: 1px solid red; }</code></td> 436 </tr> 437 </tfoot> 438 <tbody> 439 <tr> 440 <th scope="col" abbr="class">Class</th> 441 <th scope="col" abbr="tag">WP Tag</th> 442 <th scope="col" abbr="use">Usage</th> 443 </tr> 444 <tr class="alt"> 445 <td scope="row">alt</td> 446 <td>n/a</td> 447 <td>For odd-numbered comments, e.g., 1<sup>st</sup>, 3<sup>rd</sup>, 5<sup>th</sup></td> 448 </tr> 449 <tr> 450 <td scope="row">bypostauthor</td> 451 <td>n/a</td> 452 <td>When the comment author is also the post author</td> 453 </tr> 454 <tr class="alt"> 455 <td scope="row">byuser</td> 456 <td>n/a</td> 457 <td>For <em>any</em> comment by a registered user</td> 458 </tr> 459 <tr> 460 <td scope="row">c-h00–24</td> 461 <td><code>gmdate('h')</code></td> 462 <td>For a comment posted at a specific hour (Offset to GMT)</td> 463 </tr> 464 <tr class="alt"> 465 <td scope="row">c[n]</td> 466 <td>n/a</td> 467 <td>For counting comments relative to the first, where <i>[n]</i> is the number, e.g., c1 for the first comment, c2 for the second, c3 for the third</td> 468 </tr> 469 <tr> 470 <td scope="row">c-d01–31</td> 471 <td><code>gmdate('d')</code></td> 472 <td>For a comment posted on a specific date (Offset to GMT)</td> 473 </tr> 474 <tr class="alt"> 475 <td scope="row">c-m00–12</td> 476 <td><code>gmdate('m')</code></td> 477 <td>For a comment posted in a specific month (Offset to GMT)</td> 478 </tr> 479 <tr> 480 <td scope="row">c-y2007</td> 481 <td><code>gmdate('Y')</code></td> 482 <td>For a comment posted in a specific year (Offset to GMT)</td> 483 </tr> 484 <tr class="alt"> 485 <td scope="row">comment</td> 486 <td>n/a</td> 487 <td>A general class, applied to every comment</td> 488 </tr> 489 <tr> 490 <td scope="row">comment-author-[name]</td> 491 <td>n/a</td> 492 <td>For a comment by a specific registered user, where <i>[name]</i> is the user's login name, e.g., comment-author-john</td> 493 </tr> 494 <tr class="alt"> 495 <td scope="row">t[n]</td> 496 <td>n/a</td> 497 <td>For counting trackbacks relative to the first, where <i>[n]</i> is the number, e.g., t1 for the first trackback, t2 for the second, t3 for the third</td> 498 </tr> 499 <tr> 500 <td scope="row">trackback</td> 501 <td>is_trackback()</td> 502 <td>When a comment is a trackback/pingback</td> 503 </tr> 504 </tbody> 505 </table><!-- #comment-class-table --> 506 </li><!-- #comment-class --> 507 </ol> 508 </li><!-- #functions --> 509 510 <li id="standards"> 511 <h2>Web standards</h2> 512 <p>The Sandbox is compliant with both XHTML and CSS standards. What does this mean? An explanation of web standards from <a href="http://webstandards.org" title="Web Standards Project" rel="external">The Web Standards Project</a>:</p> 513 <blockquote cite="http://webstandards.org/learn/faq/" title="What are web standards and why should I use them?"> 514 <p>Complying with web standards can give your web pages greater visibility in web searches. The structural information present in compliant documents makes it easy for search engines to access and evaluate the information in those documents, and they get indexed more accurately.</p> 515 <p>Accessibility is an important idea behind many web standards. Not only does this mean allowing the web to be used by people with disabilities, but also allowing web pages to be understood by people using browsers other than the usual ones—including voice browsers that read web pages aloud to people with sight impairments, Braille browsers, hand-held browsers, teletext displays, and other unusual output devices.</p> 516 </blockquote> 517 <p>You can read more about developing with web standards at <a href="http://www.456bereastreet.com/lab/developing_with_web_standards/webstandards/" title="Developing with web standards" rel="external">456 Berea Street</a>.</p> 518 </li><!-- #standards--> 519 520 <li id="microformats"> 521 <h2>Microformats</h2> 522 <p><a href="http://microformats.org/" title="Microformats.org" rel="external">Microformats</a> are markup that express semantic information in your blog. People and machines can extract information from webpages marked up in a microformat much like feed readers extract information from Atom or <abbr title="Rich Site Summary">RSS</abbr> syndicated feeds. Essentially it's about making content more accessible.</p> 523 <p>Microformats that have been implemented in the Sandbox theme include (less <a href="http://gmpg.org/xfn/" title="XHTML Friends Network" rel="external"><abbr title="XHTML Friends Network">XFN</abbr></a>, which is built into WordPress):</p> 524 <ul> 525 <li><a href="http://microformats.org/wiki/hatom" title="hAtom - Microformats" rel="external">hAtom</a>: For all blog posts and pages</li> 526 <li><a href="http://microformats.org/wiki/hcard" title="hCard - Microformats" rel="external">hCard</a>: For all post and comment authors</li> 527 <li><a href="http://microformats.org/wiki/rel-home" title="rel-home - Microformats" rel="external">rel="home"</a>: For marking links pointing to the blog home page</li> 528 <li><a href="http://microformats.org/wiki/xoxo" title="XOXO - Microformats" rel="external">XOXO</a>: For menu, blogroll, archive, and sidebar lists</li> 529 </ul> 530 <p>Microformats help the Sandbox be an especially <abbr title="Plain old semantic HTML">POSH</abbr> WordPress theme. POSH stands for "plain old semantic HTML." It is a term used to refer to best practices of semantic HTML development. The Microformats Wiki <a href="http://microformats.org/wiki/posh" title="POSH - Microformats" rel="external">POSH article</a> has a working copy of these best practices:</p> 531 <ol> 532 <li>Validate your markup, meaning it should <em>be</em> valid, not just validated</li> 533 <li>No use of tables for presentational purposes—only for tabular data</li> 534 <li>Correct any "<span class="bold">B</span>ed and <span class="bold">BR</span>eakfast" markup, i.e., no presentational elements like <code>b</code>, and no <code><br /></code></li> 535 <li>Correct any "<span class="bold">A</span>norexic anchors," e.g., an <code>a</code> element with only a <code>name</code> attribute</li> 536 <li>Use well-formed, semantic class names (Sandbox does this for you)</li> 537 </ol> 538 <p>So the Sandbox can be highly POSH, but the semantic use of HTML elements is completely up to you, the end user. To learn more about writing semantic HTML, visit <a href="http://www.mezzoblue.com/downloads/markupguide/" title="mezzoblue § Markup Guide">Mezzoblue</a>.</p> 539 </li><!-- #microformats --> 540 541 <li id="features"> 542 <h2>Other features</h2> 543 <p>In addition to the more advanced, code-related features of the Sandbox, there are at least two other features that make the Sandbox a highly viable choice as a base theme.</p> 544 <ol> 545 <li id="comments"> 546 <h3>Comments on pages</h3> 547 <p>Comments are not displayed on pages by default, but are displayed on posts, per the current convention. You can enable comments on a per page basis by adding a custom key/value with only the text <code>comments</code>.</p> 548 <p>To enable comments on a page:</p> 549 <ol> 550 <li>In the <i>Write › Page</i> menu, expand the <a href="http://codex.wordpress.org/Using_Custom_Fields" title="Custom Fields - WordPress Codex" rel="external">Custom Fields</a> box</li> 551 <li>In the <i>Custom Fields</i> box, add a new key with the exact text: <code>comments</code></li> 552 <li>Add any text for a value (some text must be included for the key to save)</li> 553 <li>Click <i>Add Custom Field</i> to save the key/value</li> 554 <li>Comments should now be enabled on that page</li> 555 </ol> 556 <p>Enabling comments simply includes the <code>comments.php</code> file with the page. You can turn off comments on a page by deleting the <code>comments</code> key/value. This does not delete any exisiting comments, but simply disables <code>comments.php</code> from loading with the page.</p> 557 </li><!-- #comments --> 558 559 <li id="templates"> 560 <h3>Page templates</h3> 561 <p>There are two <a href="http://codex.wordpress.org/Pages#Page_Templates" title="Page templates - WordPress Codex" rel="external">page templates</a> included: Links Page (<code>links.php</code>) and Archives Page (<code>archives.php</code>). You can add a title, text, and enable comments (see above) with both of these page templates.</p> 562 <p>To use the page templates:</p> 563 <ol> 564 <li>In the <i>Write › Page</i> menu, expand the <i>Page Templates</i> box</li> 565 <li>From the drop-down, select the page template to use</li> 566 <li>Add a title and text (optional) for the page</li> 567 <li>Click <i>Create New Page / Save</i> to publish the page</li> 568 </ol> 569 <p>The Archive Page template displays archives by month and by category. The Links Page displays links by link category.</p> 570 </li><!-- #templates --> 571 </ol> 572 </li><!-- #features --> 573 574 <li id="license"> 575 <h2>License</h2> 576 <p>The Sandbox © 2006–2007 is licensed under the <a href="http://www.gnu.org/licenses/gpl.html" title="GNU General Public License" rel="license"><abbr title="GNU is Not Unix">GNU</abbr> General Public License</a>:</p> 577 <blockquote title="How to use the GPL or LPGL" cite="http://www.gnu.org/licenses/gpl-howto.html"> 578 <p>This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version.</p> 579 <p>This program is distributed in the hope that it will be useful, but <strong>without any warranty</strong>; without even the implied warranty of <strong>merchantability</strong> or <strong>fitness for a particular purpose</strong>. See the GNU General Public License for more details.</p> 580 <p>You should have received a copy of the GNU General Public License along with this program; if not, write to the <span class="vcard"><a class="url fn org" href="http://www.fsf.org/" rel="external">Free Software Foundation, Inc</a>, <span class="adr"><span class="street-address">51 Franklin Street, Fifth Floor</span>, <span class="locality">Boston</span>, <span class="region">MA</span> <span class="postal-code">02110-1301</span>, <span class="country-name">USA</span></span></span>.</p> 581 </blockquote> 582 </li><!-- #license --> 583 584 </ol><!-- #readme .xoxo --> 585 586 <div id="footer"> 587 <p>Last updated 25 May 2007</p> 588 </div><!-- #footer --> 589 590 591 </div><!-- #readme --> 592 593 </body> 594 </html> 595 No newline at end of file -
wp-content/themes/sandbox/sandbox-kubrick/kubrick-style.css
1 body { 2 background: #d5d6d7 url('../../default/images/kubrickbgcolor.jpg'); 3 color: #333; 4 font-family: "lucida grande", verdana, arial, sans-serif; 5 font-size: 62.5%; 6 margin: 0 0 20px; 7 padding: 0; 8 text-align: center; 9 } 10 div.clearer { 11 clear: both; 12 } 13 div#menu ul { 14 margin:-20px 0 0 30px; 15 padding:0; 16 } 17 * html div#menu { 18 margin-bottom: 20px; 19 } 20 div#menu ul li { 21 display:inline; 22 margin:0; 23 padding:0; 24 } 25 div#menu ul a,div#menu ul a:visited { 26 color:white; 27 display:block; 28 float:left; 29 font-size:1.2em; 30 height:18px; 31 margin:0 5px; 32 padding:2px 5px 0; 33 text-decoration:none; 34 } 35 div#menu ul li a:hover,div#menu ul li.current_page_item a,div#menu ul li.current_page_item a:visited { 36 background:#fff; 37 color:#06c; 38 } 39 div#wrapper { 40 background: #dfdfff url('../../default/images/kubrickbg-ltr.jpg') repeat-y top left; 41 margin: 20px auto; 42 padding: 0; 43 text-align: left; 44 width: 760px; 45 } 46 body.single #wrapper { 47 background: #fff url('../../default/images/kubrickbgwide.jpg') repeat-y top left; 48 } 49 div#header { 50 background: #73a0c5 url('../../default/images/kubrickheader.jpg') no-repeat bottom center; 51 height: 200px; 52 margin: 0; 53 padding: 0; 54 width: 760px; 55 } 56 div#container { 57 clear: left; 58 margin-top:20px; 59 } 60 div#content { 61 float: left; 62 font-size: 1.2em; 63 line-height: 1.4em; 64 margin: 0; 65 overflow: hidden; 66 padding: 0 0 20px 45px; 67 width: 450px; 68 } 69 body.single div#content { 70 float: none; 71 line-height: 1.6em; 72 margin: 5px 0 0 150px; 73 padding: 10px 0 20px; 74 } 75 div.entry-content p { 76 line-height: 1.4em; 77 } 78 div.entry-meta { 79 clear: left; 80 font-size: 90%; 81 line-height: 1.4em; 82 padding-top: 5px; 83 text-align: center; 84 } 85 body.single .entry-meta { 86 margin: 30px 0; 87 text-align: justify; 88 } 89 body.archive .entry-meta { 90 text-align: left; 91 } 92 div.comments ol li.alt, body.single .entry-meta { 93 background: #f8f8f8; 94 border-bottom: 1px solid #ddd; 95 border-top: 1px solid #ddd; 96 margin: 0; 97 padding: 10px; 98 } 99 div#footer { 100 background: #e7e7e7 url('../../default/images/kubrickfooter.jpg') no-repeat top; 101 border: none; 102 clear: both; 103 height: 38px; 104 margin: 0 auto; 105 padding: 25px 0 0; 106 text-align: center; 107 width: 760px; 108 overflow: hidden; 109 } 110 div#footer span.meta-sep { 111 color: #777; 112 } 113 small, abbr.published { 114 border: none; 115 color: #777; 116 cursor: default; 117 font-family: arial, helvetica, sans-serif; 118 font-size: 0.9em; 119 line-height: 1.5em; 120 } 121 h1, h2, h3 { 122 font-family: "trebuchet ms", "lucida grande", verdana, sans-serif; 123 font-weight: bold; 124 } 125 h1 { 126 font-size: 4em; 127 margin: 0; 128 padding-top: 70px; 129 text-align: center; 130 } 131 div#blog-description { 132 font-size: 1.2em; 133 text-align: center; 134 } 135 h2 { 136 font-size: 1.6em; 137 margin: 30px 0 0; 138 } 139 body.page h2.entry-title { 140 margin-top: 30px; 141 text-align: center; 142 } 143 body.single h2.entry-title { 144 clear: both; 145 } 146 h3 { 147 font-size: 1.3em; 148 margin: 30px 0 0; 149 padding: 0; 150 } 151 div.sidebar h3 { 152 font-family: "lucida grande", verdana, arial, sans-serif; 153 font-size: 1.2em; 154 margin: 5px 0 0; 155 padding: 0; 156 } 157 h1, h1 a, h1 a:hover, h1 a:visited, div#blog-description { 158 color: #fff; 159 text-decoration: none; 160 } 161 h2, h2 a, h2 a:visited, h3, h3 a, h3 a:visited { 162 color: #333; 163 line-height: 110%; 164 } 165 h2, h2 a, h2 a:hover, h2 a:visited, h3, h3 a, h3 a:hover, h3 a:visited, .sidebar h3, #wp-calendar caption, cite { 166 text-decoration: none; 167 } 168 div.entry-content p a:visited { 169 color: #b85b5a; 170 } 171 div.comments ol li, form#commentform input, form#commentform textarea { 172 font: 0.9em "lucida grande", verdana, arial, sans-serif; 173 } 174 div.comments ol .comment-author { 175 font-weight: bold; 176 font-size:110%; 177 } 178 div#trackbacks-list ol .comment-author { 179 font-weight: normal; 180 font-size:100%; 181 } 182 div#trackbacks-list ol .comment-author a{ 183 font-weight:bold; 184 } 185 div.comments ol li, div.comments-list ol li.alt { 186 list-style: none; 187 margin: 0; 188 padding: 15px 10px 6px; 189 } 190 div.comments ol li.bypostauthor { 191 background:#dbe8f2; 192 margin: 0; 193 padding: 15px 10px 6px; 194 } 195 div.comments ol cite, div.comments ol cite a { 196 font-weight: bold; 197 font-style: normal; 198 font-size: 1.1em; 199 } 200 div.comments ol p { 201 line-height: 1.5em; 202 margin: 10px 5px 10px 0; 203 text-transform: none; 204 } 205 form#commentform p { 206 font-family: "lucida grande", verdana, arial, sans-serif; 207 margin: 5px 0; 208 } 209 span.required { 210 color:#c30; 211 } 212 .comment-meta { 213 display: block; 214 font-weight: normal; 215 margin: 3px 0 0 0; 216 } 217 div.sidebar { 218 font: 1em "lucida grande", verdana, arial, sans-serif; 219 margin-left: 535px; 220 padding: 0 0 0 10px; 221 width: 200px; 222 } 223 .widget { 224 width: 100%; 225 overflow: hidden; 226 } 227 div#primary { 228 margin-top: 50px; 229 } 230 small, div.sidebar ul ul li, div.sidebar ul ol li, .nocomments, .entry-meta, blockquote, strike { 231 color: #777; 232 } 233 code, pre { 234 font: 1em/140% "courier new", courier, monospace; 235 } 236 acronym, abbr, span.caps { 237 cursor: help; 238 font-size: 0.9em; 239 letter-spacing: .07em; 240 } 241 a, h2 a:hover, h3 a:hover { 242 color: #06c; 243 text-decoration: none; 244 } 245 a:hover { 246 color: #147; 247 text-decoration: underline; 248 } 249 #wp-calendar #prev a { 250 font-size: 9pt; 251 padding-left: 10px; 252 text-align: left; 253 } 254 #wp-calendar a { 255 text-decoration: none; 256 display: block; 257 } 258 #wp-calendar caption { 259 font: bold 1.3em "lucida grande", verdana, arial, sans-serif; 260 text-align: center; 261 width: 100%; 262 } 263 #wp-calendar th { 264 font-style: normal; 265 text-transform: capitalize; 266 } 267 div.post { 268 margin: 0 0 40px; 269 text-align: justify; 270 } 271 body.attachment p.smallattachment { 272 float: left; 273 margin: 5px 5px 5px 0; 274 text-align: center; 275 width: 128px; 276 } 277 body.attachment h3.entry-title,body.attachment p.attachment-name{ 278 text-align:center; 279 } 280 body.attachment p.attachment { 281 margin: 5px 0 -5px 0; 282 text-align: center; 283 } 284 body.single div.protected input { 285 width: 150px; 286 margin: 5px 0 0 0; 287 } 288 div.protected .entry-content,.nopassword { 289 margin:10px 0 0 0; 290 color: #777; 291 font-size:0.9em; 292 text-align:center; 293 } 294 div.comments h3 { 295 margin: 40px auto 20px; 296 padding: 0; 297 } 298 p img { 299 max-width: 100%; 300 padding: 0; 301 } 302 div.page-link { 303 font-weight:bold; 304 } 305 .centered { 306 display: block; 307 margin: 0 auto; 308 } 309 .alignright { 310 display: inline; 311 margin: 0 0 2px 7px; 312 padding: 4px; 313 } 314 .alignleft { 315 display: inline; 316 margin: 0 7px 2px 0; 317 padding: 4px; 318 } 319 html>body div.entry-content ul { 320 list-style: none; 321 margin-left: 0; 322 padding: 0 0 0 10px; 323 text-indent: -10px; 324 } 325 html>body div.entry-content li { 326 margin: 7px 0 8px 10px; 327 } 328 div.entry-content ul li:before, div.sidebar ul ul li:before,div.entry-content ul#archives-page li ul li:before,div.entry-content ul#links-page li ul li:before { 329 content: "\00BB \0020"; 330 } 331 div.entry-content ul#archives-page li:before,div.entry-content ul#links-page li:before { 332 content:""; 333 } 334 div.entry-content ol { 335 margin: 0; 336 padding: 0 0 0 35px; 337 } 338 div.entry-meta ul, div.entry-meta li { 339 display: inline; 340 list-style: none; 341 } 342 div.sidebar ul li { 343 list-style: none; 344 margin-bottom: 15px; 345 } 346 div.sidebar ul p, div.sidebar ul select { 347 margin: 5px 0 8px; 348 } 349 div.sidebar ul ul, div.sidebar ul ol { 350 margin: 5px 0 0 10px; 351 } 352 div.sidebar ul ul ul, div.sidebar ul ol { 353 margin: 0 0 0 10px; 354 } 355 ol li, div.sidebar ul ol li { 356 list-style: decimal outside; 357 } 358 div.sidebar ul ul li, div.sidebar ul ol li { 359 margin: 3px 0 0; 360 padding: 0; 361 } 362 form#searchform { 363 margin: 0 0 10px 0; 364 padding: 5px 3px; 365 text-align: center; 366 } 367 div.sidebar form#searchform #s { 368 width: 100px; 369 padding: 2px; 370 } 371 div.sidebar form#searchsubmit { 372 padding: 1px; 373 } 374 select { 375 width: 130px; 376 } 377 form#commentform input { 378 margin: 5px 5px 1px 0; 379 padding: 2px; 380 width: 170px; 381 } 382 form#commentform textarea { 383 padding: 2px; 384 width: 98%; 385 } 386 form#commentform #submit { 387 float: right; 388 margin: 5px 0 0 0; 389 } 390 div.comments ol { 391 padding: 0; 392 text-align: justify; 393 } 394 .nocomments { 395 margin: 0; 396 padding: 0; 397 text-align: center; 398 } 399 #wp-calendar { 400 empty-cells: show; 401 margin: 10px auto 0; 402 width: 155px; 403 } 404 #wp-calendar #next a { 405 padding-right: 10px; 406 text-align: right; 407 } 408 #wp-calendar td { 409 text-align: center; 410 padding: 3px 0; 411 } 412 #wp-calendar td.pad:hover { 413 background: #fff; 414 } 415 acronym,abbr { 416 border-bottom: 1px dashed #999; 417 } 418 blockquote { 419 border-left: 5px solid #ddd; 420 margin: 15px 30px 0 10px; 421 padding-left: 20px; 422 } 423 blockquote cite { 424 display: block; 425 margin: 5px 0 0; 426 } 427 a img { 428 border: none; 429 } 430 div.navigation { 431 display: block; 432 margin: 50px 0 10px 0; 433 text-align: center; 434 } 435 body.single div.navigation { 436 margin: 15px 0 50px 0; 437 height:1em; 438 } 439 div#nav-above, body.single div#nav-below { 440 display: none; 441 } 442 body.single div#nav-above { 443 display: block; 444 } 445 body.single .post, div.sidebar form { 446 margin: 0; 447 } 448 div.entry-content ol li, div.sidebar ul, div.sidebar ul ol { 449 margin: 0; 450 padding: 0; 451 } 452 div.entry-content form, .center { 453 text-align: center; 454 } 455 .alignright, .nav-next { 456 float: right; 457 } 458 .alignleft, .nav-previous { 459 float: left; 460 } 461 div#menu ul ul, div.skip-link, body.single div.sidebar, hr { 462 display: none; 463 } 464 #linkcats>li:before { 465 content: ""; 466 } 467 /* 468 KUBRICK v1.1 for SANDBOX 469 by ANDY SKELTON, http://andy.wordpress.com/ 470 */ 471 No newline at end of file -
wp-content/themes/sandbox/sandbox-kubrick/kubrick-readme.txt
1 = KUBRICK = 2 3 Version 1.1 4 Updated 17 May 2007 5 by ANDY SKELTON, http://andy.wordpress.com/ 6 7 8 == ABOUT == 9 10 Pulled from http://andy.wordpress.com/2006/07/20/generated-semantic-classes-2/ by SCOTT on ANDY's behalf. ;-) 11 12 Although I do consider myself style-blind, I did tackle the problem of creating the first complete Sandbox skin. Actually I dropped in the Kubrick stylesheet and tweaked it to work with Sandbox. It does a very nice job of emulating Kubrick with a few improvements. 13 14 This theme is a modification of the default WordPress theme, also known as Kubrick. Original design by Michael Heilemann, http://binarybonsai.com/wordpress/kubrick/. 15 16 17 == USING THIS DESIGN == 18 19 To use the Kubrick design with the Sandbox, simply replace everything after the commented-out header in the root style.css file with 20 21 @import url('sandbox-kubrick/kubrick-style.css'); 22 23 24 == IMPORTANT FOR WORDPRESS 2.0.X USERS == 25 26 If you intend to use this design with the Sandbox running WordPress 2.0.x, please note you will need to update the name of an image in the design CSS: kubrickbg-ltr.jpg => kubrickbg.jpg. 27 28 This is because of language support introduced in WordPress 2.2 and left-to-right vs. right-to-left variables. 29 30 31 == LICENSE == 32 33 The Kubrick design for Sandbox, by Andy Skelton, is licensed under the GNU General Public License: 34 35 This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version. 36 37 This program is distributed in the hope that it will be useful, but without any warranty; without even the implied warranty of merchantability or fitness for a particular purpose. See the GNU General Public License for more details. 38 39 You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software Foundation, Inc, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. 40 No newline at end of file -
wp-content/themes/sandbox/sandbox-kubrick/kubrick-readme.txt
1 = KUBRICK = 2 3 Version 1.1 4 Updated 17 May 2007 5 by ANDY SKELTON, http://andy.wordpress.com/ 6 7 8 == ABOUT == 9 10 Pulled from http://andy.wordpress.com/2006/07/20/generated-semantic-classes-2/ by SCOTT on ANDY's behalf. ;-) 11 12 Although I do consider myself style-blind, I did tackle the problem of creating the first complete Sandbox skin. Actually I dropped in the Kubrick stylesheet and tweaked it to work with Sandbox. It does a very nice job of emulating Kubrick with a few improvements. 13 14 This theme is a modification of the default WordPress theme, also known as Kubrick. Original design by Michael Heilemann, http://binarybonsai.com/wordpress/kubrick/. 15 16 17 == USING THIS DESIGN == 18 19 To use the Kubrick design with the Sandbox, simply replace everything after the commented-out header in the root style.css file with 20 21 @import url('sandbox-kubrick/kubrick-style.css'); 22 23 24 == IMPORTANT FOR WORDPRESS 2.0.X USERS == 25 26 If you intend to use this design with the Sandbox running WordPress 2.0.x, please note you will need to update the name of an image in the design CSS: kubrickbg-ltr.jpg => kubrickbg.jpg. 27 28 This is because of language support introduced in WordPress 2.2 and left-to-right vs. right-to-left variables. 29 30 31 == LICENSE == 32 33 The Kubrick design for Sandbox, by Andy Skelton, is licensed under the GNU General Public License: 34 35 This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version. 36 37 This program is distributed in the hope that it will be useful, but without any warranty; without even the implied warranty of merchantability or fitness for a particular purpose. See the GNU General Public License for more details. 38 39 You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software Foundation, Inc, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. 40 No newline at end of file -
wp-content/themes/sandbox/sandbox-kubrick/kubrick-style.css
1 body { 2 background: #d5d6d7 url('../../default/images/kubrickbgcolor.jpg'); 3 color: #333; 4 font-family: "lucida grande", verdana, arial, sans-serif; 5 font-size: 62.5%; 6 margin: 0 0 20px; 7 padding: 0; 8 text-align: center; 9 } 10 div.clearer { 11 clear: both; 12 } 13 div#menu ul { 14 margin:-20px 0 0 30px; 15 padding:0; 16 } 17 * html div#menu { 18 margin-bottom: 20px; 19 } 20 div#menu ul li { 21 display:inline; 22 margin:0; 23 padding:0; 24 } 25 div#menu ul a,div#menu ul a:visited { 26 color:white; 27 display:block; 28 float:left; 29 font-size:1.2em; 30 height:18px; 31 margin:0 5px; 32 padding:2px 5px 0; 33 text-decoration:none; 34 } 35 div#menu ul li a:hover,div#menu ul li.current_page_item a,div#menu ul li.current_page_item a:visited { 36 background:#fff; 37 color:#06c; 38 } 39 div#wrapper { 40 background: #dfdfff url('../../default/images/kubrickbg-ltr.jpg') repeat-y top left; 41 margin: 20px auto; 42 padding: 0; 43 text-align: left; 44 width: 760px; 45 } 46 body.single #wrapper { 47 background: #fff url('../../default/images/kubrickbgwide.jpg') repeat-y top left; 48 } 49 div#header { 50 background: #73a0c5 url('../../default/images/kubrickheader.jpg') no-repeat bottom center; 51 height: 200px; 52 margin: 0; 53 padding: 0; 54 width: 760px; 55 } 56 div#container { 57 clear: left; 58 margin-top:20px; 59 } 60 div#content { 61 float: left; 62 font-size: 1.2em; 63 line-height: 1.4em; 64 margin: 0; 65 overflow: hidden; 66 padding: 0 0 20px 45px; 67 width: 450px; 68 } 69 body.single div#content { 70 float: none; 71 line-height: 1.6em; 72 margin: 5px 0 0 150px; 73 padding: 10px 0 20px; 74 } 75 div.entry-content p { 76 line-height: 1.4em; 77 } 78 div.entry-meta { 79 clear: left; 80 font-size: 90%; 81 line-height: 1.4em; 82 padding-top: 5px; 83 text-align: center; 84 } 85 body.single .entry-meta { 86 margin: 30px 0; 87 text-align: justify; 88 } 89 body.archive .entry-meta { 90 text-align: left; 91 } 92 div.comments ol li.alt, body.single .entry-meta { 93 background: #f8f8f8; 94 border-bottom: 1px solid #ddd; 95 border-top: 1px solid #ddd; 96 margin: 0; 97 padding: 10px; 98 } 99 div#footer { 100 background: #e7e7e7 url('../../default/images/kubrickfooter.jpg') no-repeat top; 101 border: none; 102 clear: both; 103 height: 38px; 104 margin: 0 auto; 105 padding: 25px 0 0; 106 text-align: center; 107 width: 760px; 108 overflow: hidden; 109 } 110 div#footer span.meta-sep { 111 color: #777; 112 } 113 small, abbr.published { 114 border: none; 115 color: #777; 116 cursor: default; 117 font-family: arial, helvetica, sans-serif; 118 font-size: 0.9em; 119 line-height: 1.5em; 120 } 121 h1, h2, h3 { 122 font-family: "trebuchet ms", "lucida grande", verdana, sans-serif; 123 font-weight: bold; 124 } 125 h1 { 126 font-size: 4em; 127 margin: 0; 128 padding-top: 70px; 129 text-align: center; 130 } 131 div#blog-description { 132 font-size: 1.2em; 133 text-align: center; 134 } 135 h2 { 136 font-size: 1.6em; 137 margin: 30px 0 0; 138 } 139 body.page h2.entry-title { 140 margin-top: 30px; 141 text-align: center; 142 } 143 body.single h2.entry-title { 144 clear: both; 145 } 146 h3 { 147 font-size: 1.3em; 148 margin: 30px 0 0; 149 padding: 0; 150 } 151 div.sidebar h3 { 152 font-family: "lucida grande", verdana, arial, sans-serif; 153 font-size: 1.2em; 154 margin: 5px 0 0; 155 padding: 0; 156 } 157 h1, h1 a, h1 a:hover, h1 a:visited, div#blog-description { 158 color: #fff; 159 text-decoration: none; 160 } 161 h2, h2 a, h2 a:visited, h3, h3 a, h3 a:visited { 162 color: #333; 163 line-height: 110%; 164 } 165 h2, h2 a, h2 a:hover, h2 a:visited, h3, h3 a, h3 a:hover, h3 a:visited, .sidebar h3, #wp-calendar caption, cite { 166 text-decoration: none; 167 } 168 div.entry-content p a:visited { 169 color: #b85b5a; 170 } 171 div.comments ol li, form#commentform input, form#commentform textarea { 172 font: 0.9em "lucida grande", verdana, arial, sans-serif; 173 } 174 div.comments ol .comment-author { 175 font-weight: bold; 176 font-size:110%; 177 } 178 div#trackbacks-list ol .comment-author { 179 font-weight: normal; 180 font-size:100%; 181 } 182 div#trackbacks-list ol .comment-author a{ 183 font-weight:bold; 184 } 185 div.comments ol li, div.comments-list ol li.alt { 186 list-style: none; 187 margin: 0; 188 padding: 15px 10px 6px; 189 } 190 div.comments ol li.bypostauthor { 191 background:#dbe8f2; 192 margin: 0; 193 padding: 15px 10px 6px; 194 } 195 div.comments ol cite, div.comments ol cite a { 196 font-weight: bold; 197 font-style: normal; 198 font-size: 1.1em; 199 } 200 div.comments ol p { 201 line-height: 1.5em; 202 margin: 10px 5px 10px 0; 203 text-transform: none; 204 } 205 form#commentform p { 206 font-family: "lucida grande", verdana, arial, sans-serif; 207 margin: 5px 0; 208 } 209 span.required { 210 color:#c30; 211 } 212 .comment-meta { 213 display: block; 214 font-weight: normal; 215 margin: 3px 0 0 0; 216 } 217 div.sidebar { 218 font: 1em "lucida grande", verdana, arial, sans-serif; 219 margin-left: 535px; 220 padding: 0 0 0 10px; 221 width: 200px; 222 } 223 .widget { 224 width: 100%; 225 overflow: hidden; 226 } 227 div#primary { 228 margin-top: 50px; 229 } 230 small, div.sidebar ul ul li, div.sidebar ul ol li, .nocomments, .entry-meta, blockquote, strike { 231 color: #777; 232 } 233 code, pre { 234 font: 1em/140% "courier new", courier, monospace; 235 } 236 acronym, abbr, span.caps { 237 cursor: help; 238 font-size: 0.9em; 239 letter-spacing: .07em; 240 } 241 a, h2 a:hover, h3 a:hover { 242 color: #06c; 243 text-decoration: none; 244 } 245 a:hover { 246 color: #147; 247 text-decoration: underline; 248 } 249 #wp-calendar #prev a { 250 font-size: 9pt; 251 padding-left: 10px; 252 text-align: left; 253 } 254 #wp-calendar a { 255 text-decoration: none; 256 display: block; 257 } 258 #wp-calendar caption { 259 font: bold 1.3em "lucida grande", verdana, arial, sans-serif; 260 text-align: center; 261 width: 100%; 262 } 263 #wp-calendar th { 264 font-style: normal; 265 text-transform: capitalize; 266 } 267 div.post { 268 margin: 0 0 40px; 269 text-align: justify; 270 } 271 body.attachment p.smallattachment { 272 float: left; 273 margin: 5px 5px 5px 0; 274 text-align: center; 275 width: 128px; 276 } 277 body.attachment h3.entry-title,body.attachment p.attachment-name{ 278 text-align:center; 279 } 280 body.attachment p.attachment { 281 margin: 5px 0 -5px 0; 282 text-align: center; 283 } 284 body.single div.protected input { 285 width: 150px; 286 margin: 5px 0 0 0; 287 } 288 div.protected .entry-content,.nopassword { 289 margin:10px 0 0 0; 290 color: #777; 291 font-size:0.9em; 292 text-align:center; 293 } 294 div.comments h3 { 295 margin: 40px auto 20px; 296 padding: 0; 297 } 298 p img { 299 max-width: 100%; 300 padding: 0; 301 } 302 div.page-link { 303 font-weight:bold; 304 } 305 .centered { 306 display: block; 307 margin: 0 auto; 308 } 309 .alignright { 310 display: inline; 311 margin: 0 0 2px 7px; 312 padding: 4px; 313 } 314 .alignleft { 315 display: inline; 316 margin: 0 7px 2px 0; 317 padding: 4px; 318 } 319 html>body div.entry-content ul { 320 list-style: none; 321 margin-left: 0; 322 padding: 0 0 0 10px; 323 text-indent: -10px; 324 } 325 html>body div.entry-content li { 326 margin: 7px 0 8px 10px; 327 } 328 div.entry-content ul li:before, div.sidebar ul ul li:before,div.entry-content ul#archives-page li ul li:before,div.entry-content ul#links-page li ul li:before { 329 content: "\00BB \0020"; 330 } 331 div.entry-content ul#archives-page li:before,div.entry-content ul#links-page li:before { 332 content:""; 333 } 334 div.entry-content ol { 335 margin: 0; 336 padding: 0 0 0 35px; 337 } 338 div.entry-meta ul, div.entry-meta li { 339 display: inline; 340 list-style: none; 341 } 342 div.sidebar ul li { 343 list-style: none; 344 margin-bottom: 15px; 345 } 346 div.sidebar ul p, div.sidebar ul select { 347 margin: 5px 0 8px; 348 } 349 div.sidebar ul ul, div.sidebar ul ol { 350 margin: 5px 0 0 10px; 351 } 352 div.sidebar ul ul ul, div.sidebar ul ol { 353 margin: 0 0 0 10px; 354 } 355 ol li, div.sidebar ul ol li { 356 list-style: decimal outside; 357 } 358 div.sidebar ul ul li, div.sidebar ul ol li { 359 margin: 3px 0 0; 360 padding: 0; 361 } 362 form#searchform { 363 margin: 0 0 10px 0; 364 padding: 5px 3px; 365 text-align: center; 366 } 367 div.sidebar form#searchform #s { 368 width: 100px; 369 padding: 2px; 370 } 371 div.sidebar form#searchsubmit { 372 padding: 1px; 373 } 374 select { 375 width: 130px; 376 } 377 form#commentform input { 378 margin: 5px 5px 1px 0; 379 padding: 2px; 380 width: 170px; 381 } 382 form#commentform textarea { 383 padding: 2px; 384 width: 98%; 385 } 386 form#commentform #submit { 387 float: right; 388 margin: 5px 0 0 0; 389 } 390 div.comments ol { 391 padding: 0; 392 text-align: justify; 393 } 394 .nocomments { 395 margin: 0; 396 padding: 0; 397 text-align: center; 398 } 399 #wp-calendar { 400 empty-cells: show; 401 margin: 10px auto 0; 402 width: 155px; 403 } 404 #wp-calendar #next a { 405 padding-right: 10px; 406 text-align: right; 407 } 408 #wp-calendar td { 409 text-align: center; 410 padding: 3px 0; 411 } 412 #wp-calendar td.pad:hover { 413 background: #fff; 414 } 415 acronym,abbr { 416 border-bottom: 1px dashed #999; 417 } 418 blockquote { 419 border-left: 5px solid #ddd; 420 margin: 15px 30px 0 10px; 421 padding-left: 20px; 422 } 423 blockquote cite { 424 display: block; 425 margin: 5px 0 0; 426 } 427 a img { 428 border: none; 429 } 430 div.navigation { 431 display: block; 432 margin: 50px 0 10px 0; 433 text-align: center; 434 } 435 body.single div.navigation { 436 margin: 15px 0 50px 0; 437 height:1em; 438 } 439 div#nav-above, body.single div#nav-below { 440 display: none; 441 } 442 body.single div#nav-above { 443 display: block; 444 } 445 body.single .post, div.sidebar form { 446 margin: 0; 447 } 448 div.entry-content ol li, div.sidebar ul, div.sidebar ul ol { 449 margin: 0; 450 padding: 0; 451 } 452 div.entry-content form, .center { 453 text-align: center; 454 } 455 .alignright, .nav-next { 456 float: right; 457 } 458 .alignleft, .nav-previous { 459 float: left; 460 } 461 div#menu ul ul, div.skip-link, body.single div.sidebar, hr { 462 display: none; 463 } 464 #linkcats>li:before { 465 content: ""; 466 } 467 /* 468 KUBRICK v1.1 for SANDBOX 469 by ANDY SKELTON, http://andy.wordpress.com/ 470 */ 471 No newline at end of file -
wp-content/themes/sandbox/sandbox-layouts/2c-l.css
1 /* 2 LAYOUT: Two-Column (Left) 3 DESCRIPTION: Two-column fluid layout with one sidebars left of content 4 */ 5 div#container { 6 float: right; 7 margin: 0 0 0 -200px; 8 width: 100%; 9 } 10 div#content { 11 margin: 0 0 0 200px; 12 } 13 div.sidebar { 14 float: left; 15 width: 180px; 16 overflow: hidden; 17 } 18 div#secondary { 19 clear: left; 20 } 21 div#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 /* 2 LAYOUT: Three-Column (Left) 3 DESCRIPTION: Three-column fluid layout with two sidebars left of content 4 */ 5 div#container { 6 float: right; 7 margin: 0 0 0 -400px; 8 width: 100%; 9 } 10 div#content { 11 margin: 0 0 0 400px; 12 } 13 div.sidebar { 14 float: right; 15 overflow: hidden; 16 width: 180px; 17 } 18 div#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 /* 2 LAYOUT: One-Column 3 DESCRIPTION: One-column fluid layout with sidebars stacked in two columns below content 4 */ 5 div.sidebar { 6 float: left; 7 overflow: hidden; 8 padding: 10px 1.9%; 9 width: 46%; 10 } 11 div#primary { 12 clear: both; 13 } 14 div#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 --- 2 This folder contains the original Sandbox layouts and examples of base layouts. 3 4 You 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 /* 2 LAYOUT: Two-Column (Right) 3 DESCRIPTION: Two-column fluid layout with one sidebars right of content 4 */ 5 div#container { 6 float: left; 7 margin: 0 0 0 -200px; 8 width: 100%; 9 } 10 div#content { 11 margin: 0 0 0 200px; 12 } 13 div.sidebar { 14 float: right; 15 overflow: hidden; 16 width: 180px; 17 } 18 div#secondary { 19 clear: right; 20 } 21 div#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 /* 2 LAYOUT: Three-Column 3 DESCRIPTION: Three-column fluid layout with two sidebars on both sides of content 4 */ 5 div#container { 6 float: left; 7 width: 100%; 8 } 9 div#content { 10 margin: 0 200px; 11 } 12 div.sidebar { 13 float: left; 14 overflow: hidden; 15 width: 180px; 16 } 17 div#primary { 18 margin: 0 0 0 -100%; 19 } 20 * html div#primary { 21 left: 20px; 22 position: relative; 23 } 24 div#secondary { 25 margin: 0 0 0 -200px; 26 } 27 div#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 /* 2 LAYOUT: Three-Column (Right) 3 DESCRIPTION: Three-column fluid layout with two sidebars right of content 4 */ 5 div#container { 6 float: left; 7 width: 100%; 8 } 9 div#content { 10 margin: 0 400px 0 0; 11 } 12 div.sidebar { 13 float: left; 14 overflow: hidden; 15 width: 180px; 16 } 17 div#primary { 18 margin: 0 0 0 -400px; 19 } 20 div#secondary { 21 margin: 0 0 0 -200px; 22 } 23 div#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 /* 2 LAYOUT: One-Column 3 DESCRIPTION: One-column fluid layout with sidebars stacked in two columns below content 4 */ 5 div.sidebar { 6 float: left; 7 overflow: hidden; 8 padding: 10px 1.9%; 9 width: 46%; 10 } 11 div#primary { 12 clear: both; 13 } 14 div#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 /* 2 LAYOUT: Two-Column (Left) 3 DESCRIPTION: Two-column fluid layout with one sidebars left of content 4 */ 5 div#container { 6 float: right; 7 margin: 0 0 0 -200px; 8 width: 100%; 9 } 10 div#content { 11 margin: 0 0 0 200px; 12 } 13 div.sidebar { 14 float: left; 15 width: 180px; 16 overflow: hidden; 17 } 18 div#secondary { 19 clear: left; 20 } 21 div#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 /* 2 LAYOUT: Two-Column (Right) 3 DESCRIPTION: Two-column fluid layout with one sidebars right of content 4 */ 5 div#container { 6 float: left; 7 margin: 0 0 0 -200px; 8 width: 100%; 9 } 10 div#content { 11 margin: 0 0 0 200px; 12 } 13 div.sidebar { 14 float: right; 15 overflow: hidden; 16 width: 180px; 17 } 18 div#secondary { 19 clear: right; 20 } 21 div#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 /* 2 LAYOUT: Three-Column 3 DESCRIPTION: Three-column fluid layout with two sidebars on both sides of content 4 */ 5 div#container { 6 float: left; 7 width: 100%; 8 } 9 div#content { 10 margin: 0 200px; 11 } 12 div.sidebar { 13 float: left; 14 overflow: hidden; 15 width: 180px; 16 } 17 div#primary { 18 margin: 0 0 0 -100%; 19 } 20 * html div#primary { 21 left: 20px; 22 position: relative; 23 } 24 div#secondary { 25 margin: 0 0 0 -200px; 26 } 27 div#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 /* 2 LAYOUT: Three-Column (Left) 3 DESCRIPTION: Three-column fluid layout with two sidebars left of content 4 */ 5 div#container { 6 float: right; 7 margin: 0 0 0 -400px; 8 width: 100%; 9 } 10 div#content { 11 margin: 0 0 0 400px; 12 } 13 div.sidebar { 14 float: right; 15 overflow: hidden; 16 width: 180px; 17 } 18 div#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 /* 2 LAYOUT: Three-Column (Right) 3 DESCRIPTION: Three-column fluid layout with two sidebars right of content 4 */ 5 div#container { 6 float: left; 7 width: 100%; 8 } 9 div#content { 10 margin: 0 400px 0 0; 11 } 12 div.sidebar { 13 float: left; 14 overflow: hidden; 15 width: 180px; 16 } 17 div#primary { 18 margin: 0 0 0 -400px; 19 } 20 div#secondary { 21 margin: 0 0 0 -200px; 22 } 23 div#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 --- 2 This folder contains the original Sandbox layouts and examples of base layouts. 3 4 You 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-spartan/spartan-readme.txt
1 = SPARTAN = 2 3 Version 1.1 4 Updated 17 May 2007 5 by SCOTT ALLAN WALLICK, http://www.plaintxt.org/ 6 7 8 == ABOUT == 9 10 The Spartan design is a very simple, very straight-forward design for the Sandbox, provided as an example of what can be accomplished with relatively simple CSS. Please feel free to use/abuse this design as you like. Enjoy. 11 12 13 == USING THIS DESIGN == 14 15 To use the Spartan design with the Sandbox, simply replace everything after the commented-out header in the root style.css file with 16 17 @import url('sandbox-spartan/spartan-style.css'); 18 19 20 == LICENSE == 21 22 The Spartan design for Sandbox, by Scott Allan Wallick, is licensed under the GNU General Public License: 23 24 This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version. 25 26 This program is distributed in the hope that it will be useful, but without any warranty; without even the implied warranty of merchantability or fitness for a particular purpose. See the GNU General Public License for more details. 27 28 You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software Foundation, Inc, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. 29 No newline at end of file -
wp-content/themes/sandbox/sandbox-spartan/spartan-style.css
1 body { 2 background:#fff; 3 color:#111; 4 font-size:125%; 5 line-height:140%; 6 margin:1em 1em 1em 2em; 7 padding:0; 8 } 9 10 div#container { 11 float:left; 12 margin:0 0 0 -200px; 13 width:100%; 14 } 15 16 div#content { 17 margin:0 0 0 200px; 18 } 19 20 div.sidebar { 21 float:right; 22 overflow:hidden; 23 width:150px; 24 } 25 26 div#secondary { 27 clear:right; 28 } 29 30 div#footer { 31 clear:both; 32 font:bold 0.5em/normal verdana, geneva, sans-serif; 33 margin:0 -2em 0 0; 34 text-align:right; 35 width:100%; 36 } 37 38 div#header { 39 margin:0 0 3em; 40 } 41 42 div#header a,div#header a:link,div#header a:visited { 43 background:#fff; 44 color:#000; 45 text-decoration:none; 46 } 47 48 div#header a:hover { 49 background:#fff; 50 color:#505555; 51 } 52 53 h1#blog-title { 54 font:3em/140% arial, helvetica, sans-serif; 55 margin:0; 56 } 57 58 div#blog-description { 59 font-family:verdana, geneva, sans-serif; 60 font-size:0.8em; 61 } 62 63 div#content a,div#content a:link,div#content a:visited { 64 border-bottom:2px solid #b8c4ce; 65 color:#000; 66 text-decoration:none; 67 } 68 69 div#content a:hover { 70 border-bottom:2px solid #d9e6f2; 71 color:#505555; 72 } 73 74 h2.entry-title { 75 font-size:1.5em; 76 margin:0; 77 } 78 79 body.single h2.entry-title,body.page h2.entry-title { 80 clear:both; 81 font-size:1.6em; 82 margin:0 0 -0.4em; 83 } 84 85 abbr.published { 86 border:none; 87 cursor:default; 88 display:block; 89 font:0.6em/normal verdana, geneva, sans-serif; 90 margin:0.5em 0 0; 91 } 92 93 div.entry-content p { 94 margin:1em 0; 95 } 96 97 div.entry-meta { 98 font:0.7em/150% verdana, geneva, sans-serif; 99 margin:0 0 5em; 100 } 101 102 span.meta-sep { 103 color:#ddd; 104 margin:0 0.2em; 105 padding:0 0.2em; 106 } 107 108 body.single div.entry-meta { 109 background:#fff; 110 border:1px solid #b8c4ce; 111 color:#505555; 112 padding:0.5em; 113 } 114 115 body.single div#content div.entry-meta a,body.single div#content div.entry-meta a:link,body.single div#content div.entry-meta a:visited { 116 background:#fff; 117 border:none; 118 color:#000; 119 } 120 121 body.single div#content div.entry-meta a:hover { 122 background:#fff; 123 border-bottom:1px solid #b8c4ce; 124 color:#000; 125 } 126 127 body.single div.entry-meta abbr.published { 128 display:inline; 129 font-size:1em; 130 } 131 132 div.archive-meta { 133 background:#fff; 134 color:#505555; 135 font:0.7em/150% verdana, geneva, sans-serif; 136 margin-bottom:3em; 137 } 138 139 div#content div.content-column { 140 float:left; 141 width:45%; 142 } 143 144 div.entry-content ol { 145 margin:0 0 0 1.2em; 146 padding:0; 147 } 148 149 div.entry-content ul { 150 margin:0 0 0 1em; 151 padding:0; 152 } 153 154 div.entry-content a.more-link { 155 font:bold 0.7em/130% verdana, geneva, sans-serif; 156 } 157 158 div.entry-content div.page-link { 159 font:bold 0.7em/130% verdana, geneva, sans-serif; 160 margin:-0.5em 0 1em; 161 } 162 163 div#content div.page-link a,div#content div.page-link a:link,div#content div.page-link a:visited { 164 background:#fff; 165 border:2px solid #d9e6f2; 166 color:#505555; 167 margin:-0.5em 0 1em; 168 padding:0.2em; 169 } 170 171 div#content div.page-link a:hover { 172 background:#fff; 173 border:2px solid #b8c4ce; 174 color:#000; 175 } 176 177 code,pre { 178 font-family:"courier new", courier, monospace; 179 font-size:0.9em; 180 } 181 182 blockquote { 183 background:#eeefef; 184 color:#000; 185 margin:0; 186 padding:0.1em 1em; 187 } 188 189 blockquote blockquote p { 190 border-left:2px dotted #505555; 191 padding:0 0 0 0.5em; 192 } 193 194 abbr,acronym { 195 border-bottom:1px dotted #88807c; 196 cursor:help; 197 } 198 199 strong { 200 font-weight:700; 201 } 202 203 em { 204 font-style:italic; 205 } 206 207 .caps { 208 text-transform:uppercase; 209 } 210 211 div.entry-content .center { 212 display:block; 213 margin:0.5em auto; 214 } 215 216 div.entry-content .alignright { 217 margin:0.5em 0 0.5em 1.2em; 218 } 219 220 div.entry-content .alignleft { 221 margin:0.5em 1.2em 0.5em 0; 222 } 223 224 div#content div.entry-content a img.center,div#content div.entry-content a:link img.center,div#content div.entry-content a:visited img.center,div#content div.entry-content a img.alignleft,div#content div.entry-content a:link img.alignleft,div#content div.entry-content a:visited img.alignleft,div#content div.entry-content a img.alignright,div#content div.entry-content a:link img.alignright,div#content div.entry-content a:visited img.alignright { 225 border:1px solid #505555; 226 } 227 228 div#content div.entry-content a:hover img.center,div#content div.entry-content a:hover img.alignleft,div#content div.entry-content a:hover img.alignright { 229 border:1px solid #b8c4ce; 230 } 231 232 h2,h3,h4,h5,h6 { 233 font-family:arial, helvetica, sans-serif; 234 font-weight:400; 235 line-height:130%; 236 } 237 238 body.home h2.entry-title { 239 font-size:1.6em; 240 margin:0; 241 } 242 243 body h2.page-title { 244 font-size:1.6em; 245 } 246 247 body.date h2.page-title { 248 margin:0 0 1em; 249 } 250 251 body.archive h3.entry-title,body.single h3.entry-title { 252 font-size:1.3em; 253 margin:0; 254 } 255 256 body.single div.comments h3,body.page div.comments h3 { 257 font-size:1.4em; 258 margin:3em 0 1em; 259 } 260 261 body div.comments h3 span { 262 font-size:2em; 263 } 264 265 body.single h3#respond { 266 font-size:1.2em; 267 margin:3em 0 0.5em; 268 } 269 270 div.entry-content h2 { 271 font-size:1.2em; 272 margin:1.5em 0 -0.7em; 273 } 274 275 div.entry-content h3 { 276 font-size:1.1em; 277 margin:1.5em 0 -0.9em; 278 } 279 280 div.entry-content h4,div.entry-content h5,div.entry-content h6 { 281 font-size:1em; 282 margin:1.5em 0 -1.1em; 283 } 284 285 div.comments ol li { 286 font-size:1.2em; 287 margin:0 0 2em; 288 } 289 290 div.comments ol li div,div.comments ol li p { 291 font-size:0.8em; 292 } 293 294 div.comments ol li div.comment-author { 295 font:0.8em/130% arial, helvetica, sans-serif; 296 margin:0 0 0.2em; 297 } 298 299 div.comments ol li div.comment-meta { 300 font:0.5em/130% verdana, geneva, sans-serif; 301 } 302 303 div.comments ol li p { 304 margin:0.5em 0; 305 } 306 307 div.comments ol li.bypostauthor { 308 border-left:10px solid #eeefef; 309 padding:0 0 0 0.5em; 310 } 311 312 form#commentform,form#commentform p { 313 padding:0; 314 } 315 316 form#commentform span.req-field { 317 background:#fff; 318 color:#c30; 319 } 320 321 input#author,input#email,input#url,textarea#comment { 322 font-family:verdana, geneva, sans-serif; 323 font-size:0.7em; 324 padding:0.2em; 325 } 326 327 input#author,input#email,input#url { 328 width:50%; 329 } 330 331 textarea#comment { 332 height:15em; 333 margin:0 0 0.5em; 334 overflow:auto; 335 width:66%; 336 } 337 338 div.sidebar div,div.sidebar h3,div.sidebar ul,div.sidebar li { 339 margin:0; 340 padding:0; 341 text-align:right; 342 } 343 344 div.sidebar li { 345 list-style:none; 346 margin:0 0 1em; 347 } 348 349 div.sidebar li form { 350 margin:0.2em 0 0; 351 padding:0; 352 } 353 354 div.sidebar h3 { 355 font-size:1em; 356 } 357 358 div.sidebar input#s { 359 width:5em; 360 } 361 362 div#footer span#generator-link { 363 border-right:5px solid #ddd; 364 padding-right:0.7em; 365 } 366 367 div#footer span#theme-link { 368 padding-left:0.3em; 369 } 370 371 .alignleft { 372 float:left; 373 } 374 375 .alignright { 376 float:right; 377 } 378 379 .clearer { 380 clear:both; 381 } 382 383 div.navigation { 384 font:0.7em/normal verdana, geneva, sans-serif; 385 width:100%; 386 } 387 388 body div#content div.nav-next a,body div#content div.nav-next a:link,body div#content div.nav-next a:visited,body div#content div.nav-previous a,body div#content div.nav-previous a:link,body div#content div.nav-previous a:visited { 389 border:2px solid #d9e6f2; 390 padding:0.5em; 391 } 392 393 body div#content div.nav-next a:hover,body div#content div.nav-previous a:hover { 394 border:2px solid #b8c4ce; 395 } 396 397 body.single div#content div.nav-next a,body.single div#content div.nav-next a:link,body.single div#content div.nav-next a:visited,body.single div#content div.nav-previous a,body.single div#content div.nav-previous a:link,body.single div#content div.nav-previous a:visited { 398 background:#fff; 399 border-bottom:2px solid #d9e6f2; 400 border-left:none; 401 border-right:none; 402 border-top:none; 403 color:#505555; 404 margin:0; 405 padding:0; 406 text-decoration:none; 407 } 408 409 body.single div.navigation { 410 padding:0 0 3em; 411 } 412 413 div.nav-next,div.nav-previous { 414 display:inline; 415 } 416 417 body.single div.nav-next { 418 margin:0 0 0 1em; 419 } 420 421 body.single div.nav-previous { 422 margin:0 1em 0 0; 423 } 424 425 div#access,body.single div#secondary ul li,body.page div#secondary ul li,div#footer span.meta-sep,div#nav-above,body.single div#nav-below { 426 display:none; 427 } 428 429 div.entry-content img,div.sidebar li img,div.sidebar li a img { 430 border:none; 431 } 432 433 body.category h2.page-title,body.author h2.page-title,div.entry-content div.content-column h3,div.sidebar ul ul li { 434 margin:0; 435 } 436 437 div.entry-content ul#links-page li h3,div.entry-content ul#archives-page li h3,form#commentform .form-label { 438 margin:1em 0 0; 439 } 440 441 div.sidebar a,div.sidebar a:link,div.sidebar a:visited,div#footer a,div#footer a:link,div#footer a:visited { 442 background:#fff; 443 border-bottom:2px solid #d9e6f2; 444 color:#505555; 445 text-decoration:none; 446 } 447 448 div.sidebar a:hover,div#footer a:hover,body.single div#content div.nav-next a:hover,body.single div#content div.nav-previous a:hover { 449 background:#fff; 450 border-bottom:2px solid #b8c4ce; 451 color:#000; 452 } 453 454 body.single div#secondary ul li.blog-search,body.single div#nav-above { 455 display:block; 456 } 457 458 /* 459 SPARTAN v1.1 for SANDBOX 460 by SCOTT ALLAN WALLICK, http://www.plaintxt.org/ 461 */ 462 No newline at end of file -
wp-content/themes/sandbox/sandbox-spartan/spartan-readme.txt
1 = SPARTAN = 2 3 Version 1.1 4 Updated 17 May 2007 5 by SCOTT ALLAN WALLICK, http://www.plaintxt.org/ 6 7 8 == ABOUT == 9 10 The Spartan design is a very simple, very straight-forward design for the Sandbox, provided as an example of what can be accomplished with relatively simple CSS. Please feel free to use/abuse this design as you like. Enjoy. 11 12 13 == USING THIS DESIGN == 14 15 To use the Spartan design with the Sandbox, simply replace everything after the commented-out header in the root style.css file with 16 17 @import url('sandbox-spartan/spartan-style.css'); 18 19 20 == LICENSE == 21 22 The Spartan design for Sandbox, by Scott Allan Wallick, is licensed under the GNU General Public License: 23 24 This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version. 25 26 This program is distributed in the hope that it will be useful, but without any warranty; without even the implied warranty of merchantability or fitness for a particular purpose. See the GNU General Public License for more details. 27 28 You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software Foundation, Inc, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. 29 No newline at end of file -
wp-content/themes/sandbox/sandbox-spartan/spartan-style.css
1 body { 2 background:#fff; 3 color:#111; 4 font-size:125%; 5 line-height:140%; 6 margin:1em 1em 1em 2em; 7 padding:0; 8 } 9 10 div#container { 11 float:left; 12 margin:0 0 0 -200px; 13 width:100%; 14 } 15 16 div#content { 17 margin:0 0 0 200px; 18 } 19 20 div.sidebar { 21 float:right; 22 overflow:hidden; 23 width:150px; 24 } 25 26 div#secondary { 27 clear:right; 28 } 29 30 div#footer { 31 clear:both; 32 font:bold 0.5em/normal verdana, geneva, sans-serif; 33 margin:0 -2em 0 0; 34 text-align:right; 35 width:100%; 36 } 37 38 div#header { 39 margin:0 0 3em; 40 } 41 42 div#header a,div#header a:link,div#header a:visited { 43 background:#fff; 44 color:#000; 45 text-decoration:none; 46 } 47 48 div#header a:hover { 49 background:#fff; 50 color:#505555; 51 } 52 53 h1#blog-title { 54 font:3em/140% arial, helvetica, sans-serif; 55 margin:0; 56 } 57 58 div#blog-description { 59 font-family:verdana, geneva, sans-serif; 60 font-size:0.8em; 61 } 62 63 div#content a,div#content a:link,div#content a:visited { 64 border-bottom:2px solid #b8c4ce; 65 color:#000; 66 text-decoration:none; 67 } 68 69 div#content a:hover { 70 border-bottom:2px solid #d9e6f2; 71 color:#505555; 72 } 73 74 h2.entry-title { 75 font-size:1.5em; 76 margin:0; 77 } 78 79 body.single h2.entry-title,body.page h2.entry-title { 80 clear:both; 81 font-size:1.6em; 82 margin:0 0 -0.4em; 83 } 84 85 abbr.published { 86 border:none; 87 cursor:default; 88 display:block; 89 font:0.6em/normal verdana, geneva, sans-serif; 90 margin:0.5em 0 0; 91 } 92 93 div.entry-content p { 94 margin:1em 0; 95 } 96 97 div.entry-meta { 98 font:0.7em/150% verdana, geneva, sans-serif; 99 margin:0 0 5em; 100 } 101 102 span.meta-sep { 103 color:#ddd; 104 margin:0 0.2em; 105 padding:0 0.2em; 106 } 107 108 body.single div.entry-meta { 109 background:#fff; 110 border:1px solid #b8c4ce; 111 color:#505555; 112 padding:0.5em; 113 } 114 115 body.single div#content div.entry-meta a,body.single div#content div.entry-meta a:link,body.single div#content div.entry-meta a:visited { 116 background:#fff; 117 border:none; 118 color:#000; 119 } 120 121 body.single div#content div.entry-meta a:hover { 122 background:#fff; 123 border-bottom:1px solid #b8c4ce; 124 color:#000; 125 } 126 127 body.single div.entry-meta abbr.published { 128 display:inline; 129 font-size:1em; 130 } 131 132 div.archive-meta { 133 background:#fff; 134 color:#505555; 135 font:0.7em/150% verdana, geneva, sans-serif; 136 margin-bottom:3em; 137 } 138 139 div#content div.content-column { 140 float:left; 141 width:45%; 142 } 143 144 div.entry-content ol { 145 margin:0 0 0 1.2em; 146 padding:0; 147 } 148 149 div.entry-content ul { 150 margin:0 0 0 1em; 151 padding:0; 152 } 153 154 div.entry-content a.more-link { 155 font:bold 0.7em/130% verdana, geneva, sans-serif; 156 } 157 158 div.entry-content div.page-link { 159 font:bold 0.7em/130% verdana, geneva, sans-serif; 160 margin:-0.5em 0 1em; 161 } 162 163 div#content div.page-link a,div#content div.page-link a:link,div#content div.page-link a:visited { 164 background:#fff; 165 border:2px solid #d9e6f2; 166 color:#505555; 167 margin:-0.5em 0 1em; 168 padding:0.2em; 169 } 170 171 div#content div.page-link a:hover { 172 background:#fff; 173 border:2px solid #b8c4ce; 174 color:#000; 175 } 176 177 code,pre { 178 font-family:"courier new", courier, monospace; 179 font-size:0.9em; 180 } 181 182 blockquote { 183 background:#eeefef; 184 color:#000; 185 margin:0; 186 padding:0.1em 1em; 187 } 188 189 blockquote blockquote p { 190 border-left:2px dotted #505555; 191 padding:0 0 0 0.5em; 192 } 193 194 abbr,acronym { 195 border-bottom:1px dotted #88807c; 196 cursor:help; 197 } 198 199 strong { 200 font-weight:700; 201 } 202 203 em { 204 font-style:italic; 205 } 206 207 .caps { 208 text-transform:uppercase; 209 } 210 211 div.entry-content .center { 212 display:block; 213 margin:0.5em auto; 214 } 215 216 div.entry-content .alignright { 217 margin:0.5em 0 0.5em 1.2em; 218 } 219 220 div.entry-content .alignleft { 221 margin:0.5em 1.2em 0.5em 0; 222 } 223 224 div#content div.entry-content a img.center,div#content div.entry-content a:link img.center,div#content div.entry-content a:visited img.center,div#content div.entry-content a img.alignleft,div#content div.entry-content a:link img.alignleft,div#content div.entry-content a:visited img.alignleft,div#content div.entry-content a img.alignright,div#content div.entry-content a:link img.alignright,div#content div.entry-content a:visited img.alignright { 225 border:1px solid #505555; 226 } 227 228 div#content div.entry-content a:hover img.center,div#content div.entry-content a:hover img.alignleft,div#content div.entry-content a:hover img.alignright { 229 border:1px solid #b8c4ce; 230 } 231 232 h2,h3,h4,h5,h6 { 233 font-family:arial, helvetica, sans-serif; 234 font-weight:400; 235 line-height:130%; 236 } 237 238 body.home h2.entry-title { 239 font-size:1.6em; 240 margin:0; 241 } 242 243 body h2.page-title { 244 font-size:1.6em; 245 } 246 247 body.date h2.page-title { 248 margin:0 0 1em; 249 } 250 251 body.archive h3.entry-title,body.single h3.entry-title { 252 font-size:1.3em; 253 margin:0; 254 } 255 256 body.single div.comments h3,body.page div.comments h3 { 257 font-size:1.4em; 258 margin:3em 0 1em; 259 } 260 261 body div.comments h3 span { 262 font-size:2em; 263 } 264 265 body.single h3#respond { 266 font-size:1.2em; 267 margin:3em 0 0.5em; 268 } 269 270 div.entry-content h2 { 271 font-size:1.2em; 272 margin:1.5em 0 -0.7em; 273 } 274 275 div.entry-content h3 { 276 font-size:1.1em; 277 margin:1.5em 0 -0.9em; 278 } 279 280 div.entry-content h4,div.entry-content h5,div.entry-content h6 { 281 font-size:1em; 282 margin:1.5em 0 -1.1em; 283 } 284 285 div.comments ol li { 286 font-size:1.2em; 287 margin:0 0 2em; 288 } 289 290 div.comments ol li div,div.comments ol li p { 291 font-size:0.8em; 292 } 293 294 div.comments ol li div.comment-author { 295 font:0.8em/130% arial, helvetica, sans-serif; 296 margin:0 0 0.2em; 297 } 298 299 div.comments ol li div.comment-meta { 300 font:0.5em/130% verdana, geneva, sans-serif; 301 } 302 303 div.comments ol li p { 304 margin:0.5em 0; 305 } 306 307 div.comments ol li.bypostauthor { 308 border-left:10px solid #eeefef; 309 padding:0 0 0 0.5em; 310 } 311 312 form#commentform,form#commentform p { 313 padding:0; 314 } 315 316 form#commentform span.req-field { 317 background:#fff; 318 color:#c30; 319 } 320 321 input#author,input#email,input#url,textarea#comment { 322 font-family:verdana, geneva, sans-serif; 323 font-size:0.7em; 324 padding:0.2em; 325 } 326 327 input#author,input#email,input#url { 328 width:50%; 329 } 330 331 textarea#comment { 332 height:15em; 333 margin:0 0 0.5em; 334 overflow:auto; 335 width:66%; 336 } 337 338 div.sidebar div,div.sidebar h3,div.sidebar ul,div.sidebar li { 339 margin:0; 340 padding:0; 341 text-align:right; 342 } 343 344 div.sidebar li { 345 list-style:none; 346 margin:0 0 1em; 347 } 348 349 div.sidebar li form { 350 margin:0.2em 0 0; 351 padding:0; 352 } 353 354 div.sidebar h3 { 355 font-size:1em; 356 } 357 358 div.sidebar input#s { 359 width:5em; 360 } 361 362 div#footer span#generator-link { 363 border-right:5px solid #ddd; 364 padding-right:0.7em; 365 } 366 367 div#footer span#theme-link { 368 padding-left:0.3em; 369 } 370 371 .alignleft { 372 float:left; 373 } 374 375 .alignright { 376 float:right; 377 } 378 379 .clearer { 380 clear:both; 381 } 382 383 div.navigation { 384 font:0.7em/normal verdana, geneva, sans-serif; 385 width:100%; 386 } 387 388 body div#content div.nav-next a,body div#content div.nav-next a:link,body div#content div.nav-next a:visited,body div#content div.nav-previous a,body div#content div.nav-previous a:link,body div#content div.nav-previous a:visited { 389 border:2px solid #d9e6f2; 390 padding:0.5em; 391 } 392 393 body div#content div.nav-next a:hover,body div#content div.nav-previous a:hover { 394 border:2px solid #b8c4ce; 395 } 396 397 body.single div#content div.nav-next a,body.single div#content div.nav-next a:link,body.single div#content div.nav-next a:visited,body.single div#content div.nav-previous a,body.single div#content div.nav-previous a:link,body.single div#content div.nav-previous a:visited { 398 background:#fff; 399 border-bottom:2px solid #d9e6f2; 400 border-left:none; 401 border-right:none; 402 border-top:none; 403 color:#505555; 404 margin:0; 405 padding:0; 406 text-decoration:none; 407 } 408 409 body.single div.navigation { 410 padding:0 0 3em; 411 } 412 413 div.nav-next,div.nav-previous { 414 display:inline; 415 } 416 417 body.single div.nav-next { 418 margin:0 0 0 1em; 419 } 420 421 body.single div.nav-previous { 422 margin:0 1em 0 0; 423 } 424 425 div#access,body.single div#secondary ul li,body.page div#secondary ul li,div#footer span.meta-sep,div#nav-above,body.single div#nav-below { 426 display:none; 427 } 428 429 div.entry-content img,div.sidebar li img,div.sidebar li a img { 430 border:none; 431 } 432 433 body.category h2.page-title,body.author h2.page-title,div.entry-content div.content-column h3,div.sidebar ul ul li { 434 margin:0; 435 } 436 437 div.entry-content ul#links-page li h3,div.entry-content ul#archives-page li h3,form#commentform .form-label { 438 margin:1em 0 0; 439 } 440 441 div.sidebar a,div.sidebar a:link,div.sidebar a:visited,div#footer a,div#footer a:link,div#footer a:visited { 442 background:#fff; 443 border-bottom:2px solid #d9e6f2; 444 color:#505555; 445 text-decoration:none; 446 } 447 448 div.sidebar a:hover,div#footer a:hover,body.single div#content div.nav-next a:hover,body.single div#content div.nav-previous a:hover { 449 background:#fff; 450 border-bottom:2px solid #b8c4ce; 451 color:#000; 452 } 453 454 body.single div#secondary ul li.blog-search,body.single div#nav-above { 455 display:block; 456 } 457 458 /* 459 SPARTAN v1.1 for SANDBOX 460 by SCOTT ALLAN WALLICK, http://www.plaintxt.org/ 461 */ 462 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">«</span> Older posts', 'sandbox')) ?></div> 12 <div class="nav-next"><?php previous_posts_link(__('Newer posts <span class="meta-nav">»</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 – %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">»</span>', 'sandbox').'') ?> 22 23 </div> 24 <div class="entry-meta"> 25 <span class="author vcard"><?php printf(__('By %s', 'sandbox'), '<a class="url fn n" href="'.get_author_link(false, $authordata->ID, $authordata->user_nicename).'" title="' . sprintf(__('View all posts by %s', 'sandbox'), $authordata->display_name) . '">'.get_the_author().'</a>') ?></span> 26 <span class="meta-sep">|</span> 27 <span class="cat-links"><?php printf(__('Posted in %s', 'sandbox'), get_the_category_list(', ')) ?></span> 28 <span class="meta-sep">|</span> 29 <?php edit_post_link(__('Edit', 'sandbox'), "\t\t\t\t\t<span class=\"edit-link\">", "</span>\n\t\t\t\t\t<span class=\"meta-sep\">|</span>\n"); ?> 30 <span class="comments-link"><?php comments_popup_link(__('Comments (0)', 'sandbox'), __('Comments (1)', 'sandbox'), __('Comments (%)', 'sandbox')) ?></span> 31 </div> 32 </div><!-- .post --> 33 34 <?php endwhile; ?> 35 36 <div id="nav-below" class="navigation"> 37 <div class="nav-previous"><?php next_posts_link(__('<span class="meta-nav">«</span> Older posts', 'sandbox')) ?></div> 38 <div class="nav-next"><?php previous_posts_link(__('Newer posts <span class="meta-nav">»</span>', 'sandbox')) ?></div> 39 </div> 40 41 <?php else : ?> 42 43 <div id="post-0" class="post noresults"> 44 <h2 class="entry-title"><?php _e('Nothing Found', 'sandbox') ?></h2> 45 <div class="entry-content"> 46 <p><?php _e('Sorry, but nothing matched your search criteria. Please try again with some different keywords.', 'sandbox') ?></p> 47 </div> 48 <form id="searchform" method="get" action="<?php bloginfo('home') ?>"> 49 <div> 50 <input id="s" name="s" type="text" value="<?php echo wp_specialchars(stripslashes($_GET['s']), true) ?>" size="40" /> 51 <input id="searchsubmit" name="searchsubmit" type="submit" value="<?php _e('Find', 'sandbox') ?>" /> 52 </div> 53 </form> 54 </div><!-- .post --> 55 56 <?php endif; ?> 57 58 </div><!-- #content --> 59 </div><!-- #container --> 60 61 <?php get_sidebar() ?> 62 <?php get_footer() ?> 63 No newline at end of file -
wp-content/themes/sandbox/sidebar.php
1 <div id="primary" class="sidebar"> 2 <ul class="xoxo"> 3 <?php if (!function_exists('dynamic_sidebar') || !dynamic_sidebar(1) ) : // begin primary sidebar widgets ?> 4 5 <li id="pages"> 6 <h3><?php _e('Pages', 'sandbox') ?></h3> 7 <ul> 8 <?php wp_list_pages('title_li=&sort_column=post_title' ) ?> 9 </ul> 10 </li> 11 12 <li id="categories"> 13 <h3><?php _e('Categories', 'sandbox'); ?></h3> 14 <ul> 15 <?php wp_list_cats('sort_column=name&hierarchical=1') ?> 16 17 </ul> 18 </li> 19 20 <li id="archives"> 21 <h3><?php _e('Archives', 'sandbox') ?></h3> 22 <ul> 23 <?php wp_get_archives('type=monthly') ?> 24 25 </ul> 26 </li> 27 <?php endif; // end primary sidebar widgets ?> 28 </ul> 29 </div><!-- #primary .sidebar --> 30 31 <div id="secondary" class="sidebar"> 32 <ul class="xoxo"> 33 <?php if (!function_exists('dynamic_sidebar') || !dynamic_sidebar(2) ) : // begin secondary sidebar widgets ?> 34 <li id="search"> 35 <h3><label for="s"><?php _e('Search', 'sandbox') ?></label></h3> 36 <form id="searchform" method="get" action="<?php bloginfo('home') ?>"> 37 <div> 38 <input id="s" name="s" type="text" value="<?php echo wp_specialchars(stripslashes($_GET['s']), true) ?>" size="10" tabindex="1" /> 39 <input id="searchsubmit" name="searchsubmit" type="submit" value="<?php _e('Find', 'sandbox') ?>" tabindex="2" /> 40 </div> 41 </form> 42 </li> 43 44 <?php widget_sandbox_links() ?> 45 46 <li id="rss-links"> 47 <h3><?php _e('RSS Feeds', 'sandbox') ?></h3> 48 <ul> 49 <li><a href="<?php bloginfo('rss2_url') ?>" title="<?php echo wp_specialchars(get_bloginfo('name'), 1) ?> <?php _e('Posts RSS feed', 'sandbox'); ?>" rel="alternate" type="application/rss+xml"><?php _e('All posts', 'sandbox') ?></a></li> 50 <li><a href="<?php bloginfo('comments_rss2_url') ?>" title="<?php echo wp_specialchars(bloginfo('name'), 1) ?> <?php _e('Comments RSS feed', 'sandbox'); ?>" rel="alternate" type="application/rss+xml"><?php _e('All comments', 'sandbox') ?></a></li> 51 </ul> 52 </li> 53 54 <li id="meta"> 55 <h3><?php _e('Meta', 'sandbox') ?></h3> 56 <ul> 57 <?php wp_register() ?> 58 59 <li><?php wp_loginout() ?></li> 60 <?php wp_meta() ?> 61 62 </ul> 63 </li> 64 <?php endif; // end secondary sidebar widgets ?> 65 </ul> 66 </div><!-- #secondary .sidebar --> -
wp-content/themes/sandbox/single.php
1 <?php get_header() ?> 2 3 <div id="container"> 4 <div id="content"> 5 6 <?php the_post(); ?> 7 <div id="nav-above" class="navigation"> 8 <div class="nav-previous"><?php previous_post_link('<span class="meta-nav">«</span> %link') ?></div> 9 <div class="nav-next"><?php next_post_link('%link <span class="meta-nav">»</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">»</span>', 'sandbox').''); ?> 16 17 <?php link_pages("\t\t\t\t\t<div class='page-link'>".__('Pages: ', 'sandbox'), "</div>\n", 'number'); ?> 18 </div> 19 <div class="entry-meta"> 20 <?php printf(__('This entry was written by %1$s and posted on <abbr class="published" title="%2$sT%3$s">%4$s at %5$s</abbr> and filed under %6$s. Bookmark the <a href="%7$s" title="Permalink to %8$s" rel="bookmark">permalink</a>. Follow any comments here with the <a href="%9$s" title="Comments RSS to %8$s" rel="alternate" type="application/rss+xml">RSS feed for this post</a>.', 'sandbox'), 21 '<span class="author vcard"><a class="url fn n" href="'.get_author_link(false, $authordata->ID, $authordata->user_nicename).'" title="' . sprintf(__('View all posts by %s', 'sandbox'), $authordata->display_name) . '">'.get_the_author().'</a></span>', 22 get_the_time('Y-m-d'), 23 get_the_time('H:i:sO'), 24 the_date('', '', '', false), 25 get_the_time(), 26 get_the_category_list(', '), 27 get_permalink(), 28 wp_specialchars(get_the_title(), 'double'), 29 comments_rss() ) ?> 30 31 <?php if (('open' == $post-> comment_status) && ('open' == $post->ping_status)) : // Comments and trackbacks open ?> 32 <?php printf(__('<a class="comment-link" href="#respond" title="Post a comment">Post a comment</a> or leave a trackback: <a class="trackback-link" href="%s" title="Trackback URL for your post" rel="trackback">Trackback URL</a>.', 'sandbox'), get_trackback_url()) ?> 33 <?php elseif (!('open' == $post-> comment_status) && ('open' == $post->ping_status)) : // Only trackbacks open ?> 34 <?php printf(__('Comments are closed, but you can leave a trackback: <a class="trackback-link" href="%s" title="Trackback URL for your post" rel="trackback">Trackback URL</a>.', 'sandbox'), get_trackback_url()) ?> 35 <?php elseif (('open' == $post-> comment_status) && !('open' == $post->ping_status)) : // Only comments open ?> 36 <?php printf(__('Trackbacks are closed, but you can <a class="comment-link" href="#respond" title="Post a comment">post a comment</a>.', 'sandbox')) ?> 37 <?php elseif (!('open' == $post-> comment_status) && !('open' == $post->ping_status)) : // Comments and trackbacks closed ?> 38 <?php _e('Both comments and trackbacks are currently closed.') ?> 39 <?php endif; ?> 40 <?php edit_post_link(__('Edit', 'sandbox'), "\n\t\t\t\t\t<span class=\"edit-link\">", "</span>"); ?> 41 42 </div> 43 </div><!-- .post --> 44 45 <div id="nav-below" class="navigation"> 46 <div class="nav-previous"><?php previous_post_link('<span class="meta-nav">«</span> %link') ?></div> 47 <div class="nav-next"><?php next_post_link('%link <span class="meta-nav">»</span>') ?></div> 48 </div> 49 50 <?php comments_template(); ?> 51 52 </div><!-- #content --> 53 </div><!-- #container --> 54 55 <?php get_sidebar() ?> 56 <?php get_footer() ?> 57 No newline at end of file -
wp-content/themes/sandbox/style.css
1 /* 2 THEME NAME: Sandbox 3 THEME URI: http://www.plaintxt.org/themes/sandbox/ 4 DESCRIPTION: A theme rich with powerful and dynamic semantic class selectors; a canvas for CSS artists 5 VERSION: 0.9.5 6 AUTHOR: <a href="http://andy.wordpress.com/">Andy Skelton</a> & <a href="http://www.plaintxt.org/">Scott Allan Wallick</a> 7 AUTHOR 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 */ 14 div#header{text-align:center;margin-bottom:2em;} 15 div#access div.skip-link{position:absolute;top:1em;right:1em;} 16 div#menu{font-size:0.9em;height:1.5em;padding-top:0.3em;background:#eee;width:100%;} 17 div#menu ul a{font-weight:700;text-decoration:none;} 18 div#menu ul,div#menu ul ul,div#menu ul li{list-style:none;margin:0;padding:0;} 19 div#menu ul li{float:left;} 20 div#menu ul li a{background:#eee;padding:0.3em 0.5em;} 21 div#menu ul ul{display:none;} 22 div#menu ul ul li{float:none;} 23 div#menu ul ul li a{margin:0;padding:0;} 24 div#menu ul li:hover ul{display:block;font-size:0.9em;padding-top:0.5em;position:absolute;} 25 div#menu ul li:hover ul li a{background:#f5f5f5;border:none;display:block;padding:0.1em;width:10em;} 26 27 .entry-title{clear:both;} 28 div#container,div.sidebar{margin-top:2em;} 29 div#nav-above,div#nav-below{width:100%;height:1em;} 30 div#nav-above{margin-bottom:1em;} 31 div#nav-below{margin-top:1em;} 32 .alignleft,div.nav-previous{float: left;} 33 .alignright,div.nav-next{float: right;} 34 form#commentform .form-label{margin:1em 0 0;} 35 form#commentform span.req-field{background:#fff;color:red;} 36 form#commentform,form#commentform p{padding:0;} 37 input#author,input#email,input#url{width:50%;} 38 input#author,input#email,input#url,textarea#comment{padding:0.2em;} 39 div.comments ol li{margin:0 0 3.5em;} 40 textarea#comment{height:13em;margin:0 0 0.5em;overflow:auto;width:66%;} 41 42 div.sidebar div,div.sidebar h3,div.sidebar ul,div.sidebar li{margin:0;padding:0;} 43 div.sidebar h3{font-size:1.2em;} 44 div.sidebar input#s{width:7em;} 45 div.sidebar li{list-style:none;margin:0 0 1em;} 46 div.sidebar li form{margin:0.2em 0 0;padding:0;} 47 div.sidebar ul ul{margin:0 0 0 1em;} 48 div.sidebar ul ul li{list-style:disc;margin:0;} 49 div.sidebar ul ul ul{margin:0 0 0 0.5em;} 50 div.sidebar ul ul ul li{list-style:circle;} 51 52 div#footer{text-align:center;} 53 No newline at end of file -
wp-includes/theme.php
241 241 // Check for theme name collision. This occurs if a theme is copied to 242 242 // a new theme directory and the theme header is not updated. Whichever 243 243 // theme is first keeps the name. Subsequent themes get a suffix applied. 244 // The Default and Classicthemes always trump their pretenders.244 // The Default, Classic, and Sandbox themes always trump their pretenders. 245 245 if ( isset($themes[$name]) ) { 246 if ( ('WordPress Default' == $name || 'WordPress Classic' == $name ) &&247 ('default' == $stylesheet || 'classic' == $stylesheet ) ) {246 if ( ('WordPress Default' == $name || 'WordPress Classic' == $name || 'Sandbox' == $name) && 247 ('default' == $stylesheet || 'classic' == $stylesheet || 'sandbox' == $stylesheet) ) { 248 248 // If another theme has claimed to be one of our default themes, move 249 249 // them aside. 250 250 $suffix = $themes[$name]['Stylesheet'];