-------------------------------------------------------------------------------- /comments.php: -------------------------------------------------------------------------------- 1 |
2 | 8 |
9 |

10 | 1 ) : ?> 11 | 14 | 15 |
    16 | 17 |
18 | 1 ) : ?> 19 | 22 | 23 |
24 | 29 |
30 |

' . esc_html( $ping_count ) . ' ' . esc_html( _nx( 'Trackback or Pingback', 'Trackbacks and Pingbacks', $ping_count, 'comments count', 'blankslate' ) ); ?>

31 |
    32 | 33 |
34 |
35 | 40 |
-------------------------------------------------------------------------------- /readme.txt: -------------------------------------------------------------------------------- 1 | === BlankSlate === 2 | 3 | Contributors: webguyio 4 | Donate link: https://opencollective.com/blankslate 5 | Theme link: https://opencollective.com/blankslate 6 | Tags: accessibility-ready, one-column, two-columns, custom-menu, featured-images, microformats, sticky-post, threaded-comments, translation-ready 7 | Requires at least: 5.2 8 | Tested up to: 6.8 9 | Stable tag: trunk 10 | License: GNU General Public License v3 or Later 11 | License URI: https://www.gnu.org/licenses/gpl.html 12 | 13 | == Description == 14 | 15 | YOU MAY DELETE THIS FILE AND ANY OTHER FILE(S) BEFORE STARTING YOUR PROJECT 16 | 17 | BlankSlate is the definitive WordPress boilerplate starter theme. I've carefully constructed the most clean and minimalist theme possible for designers and developers to use as a base to build websites for clients or to build completely custom themes from scratch. Clean, simple, unstyled, semi-minified, unformatted, and valid code, SEO-friendly, jQuery-enabled, no programmer comments, standardized and as white label as possible, and most importantly, the CSS is reset for cross-browser-compatability, with no intrusive visual CSS styles added whatsoever. A perfect skeleton theme. For support and suggestions, go to: https://github.com/webguyio/blankslate/issues. Thank you. 18 | 19 | If you're creating your own theme or client project, open up all files and do a "Find and Replace All" on the word "blankslate" with your own project name. 20 | 21 | Learn about more ways to use BlankSlate and precautions to take at: https://blankslate.me/. 22 | 23 | === License === 24 | 25 | In its unchanged and original state: 26 | 27 | BlankSlate WordPress Theme 2011-2026 28 | BlankSlate is distributed under the terms of the GNU GPL 29 | 30 | The BlankSlate theme package and all files contained within are distributed under the terms of the GNU GPL v3 or Later (https://www.gnu.org/licenses/gpl.html). 31 | 32 | Once you've significantly changed the theme to build your own unique project, either for yourself or for a client under a different theme name (as is encouraged), you're entirely welcome to copyright and license that project as you see fit. -------------------------------------------------------------------------------- /attachment.php: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 |
> 5 |
6 |

7 | 8 | post_parent ) ); ?> 9 | 13 |
14 |
15 |
16 | ID ) ) : $att_image = wp_get_attachment_image_src( $post->ID, 'full' ); ?> 17 |

<?php echo esc_attr( $post->post_excerpt ); ?>

18 | 19 | guid ) ); ?> 20 | 21 |
22 |
post_excerpt ) ) { the_excerpt(); } ?>
23 | 'image' ) ); } ?> 24 |
25 |
26 | 27 | 28 | -------------------------------------------------------------------------------- /style.css: -------------------------------------------------------------------------------- 1 | /* 2 | Theme Name: BlankSlate 3 | Theme URI: https://opencollective.com/blankslate 4 | Author: Web Guy 5 | Author URI: https://opencollective.com/blankslate#section-contributors 6 | Description: Donate: https://opencollective.com/blankslate. Learn: https://blankslate.me/. BlankSlate is the definitive WordPress boilerplate starter theme. I've carefully constructed the most clean and minimalist theme possible for designers and developers to use as a base to build websites for clients or to build completely custom themes from scratch. Clean, simple, unstyled, semi-minified, unformatted, and valid code, SEO-friendly, jQuery-enabled, no programmer comments, standardized and as white label as possible, and most importantly, the CSS is reset for cross-browser-compatability, with no intrusive visual CSS styles added whatsoever. A perfect skeleton theme. For support and suggestions, go to: https://github.com/webguyio/blankslate/issues. Thank you. 7 | Tags: accessibility-ready, one-column, two-columns, custom-menu, featured-images, microformats, sticky-post, threaded-comments, translation-ready 8 | Version: 2026 9 | Requires at least: 5.2 10 | Tested up to: 6.8 11 | Requires PHP: 7.4 12 | License: GNU General Public License v3 or Later 13 | License URI: https://www.gnu.org/licenses/gpl.html 14 | Text Domain: blankslate 15 | 16 | BlankSlate WordPress Theme 2011-2026 17 | BlankSlate is distributed under the terms of the GNU GPL 18 | */ 19 | 20 | html,body,div,span,applet,object,iframe,h1,h2,h3,h4,h5,h6,p,blockquote,pre,a,abbr,acronym,address,big,cite,code,del,dfn,em,img,ins,kbd,q,s,samp,small,strike,strong,sub,sup,tt,var,b,u,i,center,dl,dt,dd,ol,ul,li,fieldset,form,label,legend,table,caption,tbody,tfoot,thead,tr,th,td,article,aside,canvas,details,embed,figure,figcaption,footer,header,hgroup,menu,nav,output,ruby,section,summary,time,mark,audio,video{margin:0;padding:0;border:0;font-size:100%;font:inherit;vertical-align:baseline}html{scroll-behavior:smooth}body{line-height:1}a{text-decoration-skip-ink:auto}a[href^="tel"]{color:inherit;text-decoration:none}button{outline:0}ol,ul{list-style:none}blockquote,q{quotes:none}blockquote:before,blockquote:after,q:before,q:after{content:'';content:none}q{display:inline;font-style:italic}q:before{content:'"';font-style:normal}q:after{content:'"';font-style:normal}textarea,input[type="text"],input[type="button"],input[type="submit"],input[type="reset"],input[type="search"],input[type="password"]{appearance:none;border-radius:0}input[type="search"]{appearance:textfield}table{border-collapse:collapse;border-spacing:0}th,td{padding:2px}big{font-size:120%}small,sup,sub{font-size:80%}sup{vertical-align:super}sub{vertical-align:sub}dd{margin-left:20px}kbd,tt{font-family:courier;font-size:12px}ins{text-decoration:underline}del,strike,s{text-decoration:line-through}dt{font-weight:bold}address,cite,var{font-style:italic}article,aside,details,figcaption,figure,footer,header,hgroup,menu,nav,section{display:block}*{box-sizing:border-box;-webkit-tap-highlight-color:transparent} 21 | .sticky{}.bypostauthor{}.wp-caption{}.wp-caption-text{}.gallery-caption{}.alignright{}.alignleft{}.aligncenter{} 22 | .screen-reader-text{border:0;clip:rect(1px,1px,1px,1px);clip-path:inset(50%);height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute!important;width:1px;word-wrap:normal!important;word-break:normal} 23 | .screen-reader-text:focus{background-color:#f7f7f7;border-radius:3px;box-shadow:0 0 2px 2px rgba(0,0,0,.6);clip:auto!important;clip-path:none;color:#007acc;display:block;font-size:14px;font-size:.875rem;font-weight:700;height:auto;right:5px;line-height:normal;padding:15px 23px 14px;text-decoration:none;top:5px;width:auto;z-index:100000} 24 | .skip-link{left:-9999rem;top:2.5rem;z-index:999999999;text-decoration:underline} 25 | .skip-link:focus{display:block;left:6px;top:7px;font-size:14px;font-weight:600;text-decoration:none;line-height:normal;padding:15px 23px 14px;z-index:100000;right:auto} 26 | .visually-hidden:not(:focus):not(:active), .form-allowed-tags:not(:focus):not(:active){position:absolute !important;height:1px;width:1px;overflow:hidden;clip:rect(1px 1px 1px 1px);clip:rect(1px, 1px, 1px, 1px);white-space:nowrap} -------------------------------------------------------------------------------- /functions.php: -------------------------------------------------------------------------------- 1 | esc_html__( 'Main Menu', 'blankslate' ) ) ); 22 | } 23 | add_action( 'admin_notices', 'blankslate_notice' ); 24 | function blankslate_notice() { 25 | $user_id = get_current_user_id(); 26 | if ( !$user_id || !current_user_can( 'manage_options' ) || get_user_meta( $user_id, 'blankslate_notice_dismissed_2026', true ) ) { 27 | return; 28 | } 29 | $dismiss_url = add_query_arg( array( 'blankslate_dismiss' => '1', 'blankslate_nonce' => wp_create_nonce( 'blankslate_dismiss_notice' ) ), admin_url() ); 30 | echo '

' . esc_html__( '×', 'blankslate' ) . '' . esc_html__( '📝 Thank you for using BlankSlate!', 'blankslate' ) . '

' . esc_html__( 'Powering over 10k websites! Buy me a sandwich! 🥪', 'blankslate' ) . '

' . esc_html__( 'How do you use BlankSlate?', 'blankslate' ) . ' ' . esc_html__( 'Donate', 'blankslate' ) . ' ' . esc_html__( 'Review', 'blankslate' ) . ' ' . esc_html__( 'Support', 'blankslate' ) . '

'; 31 | } 32 | add_action( 'admin_init', 'blankslate_notice_dismissed' ); 33 | function blankslate_notice_dismissed() { 34 | $user_id = get_current_user_id(); 35 | if ( isset( $_GET['blankslate_dismiss'], $_GET['blankslate_nonce'] ) && wp_verify_nonce( $_GET['blankslate_nonce'], 'blankslate_dismiss_notice' ) && current_user_can( 'manage_options' ) ) { 36 | add_user_meta( $user_id, 'blankslate_notice_dismissed_2026', 'true', true ); 37 | } 38 | } 39 | add_action( 'wp_enqueue_scripts', 'blankslate_enqueue' ); 40 | function blankslate_enqueue() { 41 | wp_enqueue_style( 'blankslate-style', get_stylesheet_uri() ); 42 | wp_enqueue_script( 'jquery' ); 43 | } 44 | add_action( 'wp_footer', 'blankslate_footer' ); 45 | function blankslate_footer() { 46 | ?> 47 | 80 | ' . esc_html__( 'Skip to the content', 'blankslate' ) . ''; 121 | } 122 | add_filter( 'the_content_more_link', 'blankslate_read_more_link' ); 123 | function blankslate_read_more_link() { 124 | if ( !is_admin() ) { 125 | return ' ' . sprintf( __( '...%s', 'blankslate' ), ' ' . esc_html( get_the_title() ) . '' ) . ''; 126 | } 127 | } 128 | add_filter( 'excerpt_more', 'blankslate_excerpt_read_more_link' ); 129 | function blankslate_excerpt_read_more_link( $more ) { 130 | if ( !is_admin() ) { 131 | global $post; 132 | return ' ' . sprintf( __( '...%s', 'blankslate' ), ' ' . esc_html( get_the_title() ) . '' ) . ''; 133 | } 134 | } 135 | add_filter( 'big_image_size_threshold', '__return_false' ); 136 | add_filter( 'intermediate_image_sizes_advanced', 'blankslate_image_insert_override' ); 137 | function blankslate_image_insert_override( $sizes ) { 138 | unset( $sizes['medium_large'] ); 139 | unset( $sizes['1536x1536'] ); 140 | unset( $sizes['2048x2048'] ); 141 | return $sizes; 142 | } 143 | add_action( 'widgets_init', 'blankslate_widgets_init' ); 144 | function blankslate_widgets_init() { 145 | register_sidebar( array( 146 | 'name' => esc_html__( 'Sidebar Widget Area', 'blankslate' ), 147 | 'id' => 'primary-widget-area', 148 | 'before_widget' => '
  • ', 149 | 'after_widget' => '
  • ', 150 | 'before_title' => '

    ', 151 | 'after_title' => '

    ', 152 | ) ); 153 | } 154 | add_action( 'wp_head', 'blankslate_pingback_header' ); 155 | function blankslate_pingback_header() { 156 | if ( is_singular() && pings_open() ) { 157 | printf( '' . "\n", esc_url( get_bloginfo( 'pingback_url' ) ) ); 158 | } 159 | } 160 | add_action( 'comment_form_before', 'blankslate_enqueue_comment_reply_script' ); 161 | function blankslate_enqueue_comment_reply_script() { 162 | if ( get_option( 'thread_comments' ) ) { 163 | wp_enqueue_script( 'comment-reply' ); 164 | } 165 | } 166 | function blankslate_custom_pings( $comment ) { 167 | ?> 168 |
  • id="li-comment-">
  • 169 |