Version Description
- Fix for theme-names with dashes in them
- Comments stripping changes
- Many changes by the theme review team and others. See Github for full change list.
Download this release
Release Info
Developer | Otto42 |
Plugin | Theme Check |
Version | 20160523.1 |
Comparing to | |
See all releases |
Code changes from version 20120823 to 20160523.1
- assets/gray-grad.png +0 -0
- style.css → assets/style.css +2 -2
- changelog.txt +120 -0
- checkbase.php +32 -22
- checks/admin_menu.php +18 -12
- checks/adminbar.php +42 -0
- checks/badthings.php +13 -13
- checks/basic.php +16 -20
- checks/cdn.php +44 -0
- checks/comment_reply.php +4 -4
- checks/commpage.php +4 -2
- checks/constants.php +3 -2
- checks/content-width.php +3 -3
- checks/customizer.php +44 -0
- checks/customs.php +2 -2
- checks/dep_recommend.php +34 -49
- checks/deprecated.php +165 -31
- checks/deregister.php +30 -0
- checks/directories.php +4 -4
- checks/editorstyle.php +1 -1
- checks/favicon.php +26 -0
- checks/filenames.php +19 -18
- checks/{artisteer.php → generated.php} +13 -4
- checks/gravatar.php +1 -1
- checks/i18n.php +14 -8
- checks/iframes.php +2 -2
- checks/include.php +3 -3
- checks/included-plugins.php +34 -0
- checks/lineendings.php +4 -4
- checks/links.php +3 -4
- checks/malware.php +3 -3
- checks/more_deprecated.php +43 -11
- checks/navmenu.php +1 -1
- checks/nonprintable.php +1 -1
- checks/phpshort.php +2 -2
- checks/plugin-territory.php +41 -0
- checks/post-formats.php +1 -1
- checks/postsnav.php +5 -2
- checks/postthumb.php +2 -2
- checks/required.php +0 -31
- checks/screenshot.php +15 -6
- checks/searchform.php +2 -2
- checks/style_needed.php +18 -16
- checks/style_suggested.php +1 -1
- checks/style_tags.php +17 -12
- checks/suggested.php +0 -43
- checks/tags.php +1 -1
- checks/textdomain.php +140 -47
- checks/theme_support.php +0 -33
- checks/time_date.php +1 -1
- checks/title.php +60 -0
- checks/uri.php +31 -0
- checks/widgets.php +42 -0
- checks/worms.php +6 -12
- lang/themecheck-de_DE.mo +0 -0
- lang/themecheck-de_DE.po +0 -364
- lang/themecheck-ja.mo +0 -0
- lang/themecheck-ja.po +0 -719
- lang/themecheck-ro_RO.mo +0 -0
- lang/themecheck-ro_RO.po +0 -364
- lang/themecheck-sr_RS.mo +0 -0
- lang/themecheck-sr_RS.po +0 -364
- lang/themecheck.pot +0 -547
- main.php +94 -64
- readme.txt +40 -12
- theme-check.php +55 -40
assets/gray-grad.png
ADDED
Binary file
|
style.css → assets/style.css
RENAMED
@@ -36,7 +36,7 @@ form {
|
|
36 |
.theme-check h2 {
|
37 |
margin:0 0 20px 0;
|
38 |
padding:0 20px;
|
39 |
-
background:#dfdfdf url("
|
40 |
font-size:20px;
|
41 |
border-bottom:1px solid #ccc;
|
42 |
}
|
@@ -74,4 +74,4 @@ form {
|
|
74 |
.theme-info span.info {
|
75 |
margin-left:100px;
|
76 |
display:block;
|
77 |
-
}
|
36 |
.theme-check h2 {
|
37 |
margin:0 0 20px 0;
|
38 |
padding:0 20px;
|
39 |
+
background:#dfdfdf url("gray-grad.png") repeat-x left top;
|
40 |
font-size:20px;
|
41 |
border-bottom:1px solid #ccc;
|
42 |
}
|
74 |
.theme-info span.info {
|
75 |
margin-left:100px;
|
76 |
display:block;
|
77 |
+
}
|
changelog.txt
ADDED
@@ -0,0 +1,120 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
= 20140929.1 =
|
2 |
+
* Added new checks and updates from Frank Klein at Automattic. Thanks Frank!
|
3 |
+
* Updated deprecated function listings
|
4 |
+
* Customizer check: All add_settings must use sanitization callbacks, for security
|
5 |
+
* Plugin territory checks: Themes must not register post types or taxonomies or add shortcodes for post content
|
6 |
+
* Widgets: Calls to register_sidebar must be called from the widgets_init action hook
|
7 |
+
* Title: <title> tags must exist and not have anything in them other than a call to wp_title()
|
8 |
+
* CDN: Checks for use of common CDNs (recommended only)
|
9 |
+
* Note: Changed plugin and author URIs due to old URIs being invalid. These may change again in the future, the URIs to my own site are temporarily only.
|
10 |
+
|
11 |
+
= 20131213.1 =
|
12 |
+
* Corrected errors not being displayed by the plugin and it incorrectly giving a "pass" result to everything.
|
13 |
+
|
14 |
+
= 20131212.1 =
|
15 |
+
* Updated for 3.8
|
16 |
+
* Most files have changed for better I18N support, so the language files were removed temporarily until translation can be redone.
|
17 |
+
|
18 |
+
= 20121211.1 =
|
19 |
+
* Updated for 3.5
|
20 |
+
* Remove Paypal button.
|
21 |
+
|
22 |
+
= 20110805.1 =
|
23 |
+
* TimThumb checks removed.
|
24 |
+
* Proper i18n loading. Fixes http://bit.ly/ouD5Ke.
|
25 |
+
* Screenshot now previewed in results, with filesize and dimensions.
|
26 |
+
|
27 |
+
= 20110602.2 =
|
28 |
+
* New file list functions hidden folders now detectable.
|
29 |
+
* Better fopen checks.
|
30 |
+
* TimThumb version bump
|
31 |
+
|
32 |
+
= 20110602.1 =
|
33 |
+
* DOS/UNIX line ending style checks are now a requirement for proper theme uploading.
|
34 |
+
* Timthumb version bump
|
35 |
+
* Several fixes reported by GaryJ
|
36 |
+
* 3.2 deprecated functions added
|
37 |
+
|
38 |
+
= 20110412.1 =
|
39 |
+
* Fix regex's
|
40 |
+
* Added check for latest footer injection hack.
|
41 |
+
* Fix tags check to use new content function correctly
|
42 |
+
* Sync of all changes made for wporg uploader theme-check.
|
43 |
+
* Updated checks post 3.1. added screenshot check to svn.
|
44 |
+
* Fix links check to not return a false failure in some cases
|
45 |
+
* rm one of the checks that causes problems on wporg uploader (and which is also unnecessary)
|
46 |
+
* Move unneeded functions out of checkbase into main.php.
|
47 |
+
* Minor formatting changes only (spacing and such)
|
48 |
+
* Add check for wp_link_pages() + fix eval() check
|
49 |
+
|
50 |
+
= 20110219.2 =
|
51 |
+
* Merged new UI props Gua Bob [1](http://guabob.com/)
|
52 |
+
* Last tested theme is always pre-selected in the themes list.
|
53 |
+
* Fixed php error in admin_menu.php
|
54 |
+
|
55 |
+
= 20110219.1 =
|
56 |
+
* See [commit log](https://github.com/Pross/theme-check/commits/) for changes.
|
57 |
+
|
58 |
+
= 20110201.2 =
|
59 |
+
* UI bug fixes [forum post](http://bit.ly/ff7amN) props Mamaduka.
|
60 |
+
* Textdomain checks for twentyten and no domain.
|
61 |
+
* Fix div not closing props Mamaduka.
|
62 |
+
|
63 |
+
= 20110201.1 =
|
64 |
+
* i18n working
|
65 |
+
* sr_RS de_DE ro_RO langs props Daniel Tara and Emil Uzelac.
|
66 |
+
* Child theme support added, checks made against parent AND child at runtime.
|
67 |
+
* Trac formatting button added for reviewers.
|
68 |
+
|
69 |
+
= 20101228.3 =
|
70 |
+
* Last revision for 3.1 (hopefully)
|
71 |
+
* Chips suggestion of checking for inclusion of searchform.php ( not
|
72 |
+
perfect yet, need more examples to look for ).
|
73 |
+
* add_theme_page is required, all others flagged and displayed with line
|
74 |
+
numbers.
|
75 |
+
* <?= detected properly, short tags outputted with line umbers.
|
76 |
+
* Mostly internationalized, needs translations now.
|
77 |
+
* Bug fixes.
|
78 |
+
|
79 |
+
= 20101228.2 =
|
80 |
+
* Added menu checking.
|
81 |
+
* ThemeURI AuthourURI added to results.
|
82 |
+
* Lots of small fixes.
|
83 |
+
* Started translation.
|
84 |
+
|
85 |
+
= 20101228.1 =
|
86 |
+
* Fix embed_defaults filter check and stylesheet file data check.
|
87 |
+
|
88 |
+
= 20101226.1 =
|
89 |
+
* Whole system redesign to allow easier synching with WordPress.org uploader. Many other additions/subtractions/changes as well.
|
90 |
+
* WordPress 3.1 guidelines added, to help theme authors ensure compatibility for upcoming release.
|
91 |
+
|
92 |
+
= 20101110.7 =
|
93 |
+
* Re-added malware.php checks for fopen and file_get_contents (INFO)
|
94 |
+
* fixed a couple of undefined index errors.
|
95 |
+
|
96 |
+
= 20101110.4_r2 =
|
97 |
+
* Fixed Warning: Wrong parameter count for stristr()
|
98 |
+
|
99 |
+
= 20101110.4_r1 =
|
100 |
+
* Added `echo` to suggested.php
|
101 |
+
|
102 |
+
= 20101110.4 =
|
103 |
+
* Fixed deprecated function call to get_plugins()
|
104 |
+
|
105 |
+
= 20101110.3 =
|
106 |
+
* Fixed undefined index.
|
107 |
+
|
108 |
+
= 20101110.2 =
|
109 |
+
* Missing `<` in main.php
|
110 |
+
* Added conditional checks for licence.txt OR Licence tags in style.css
|
111 |
+
* UI improvements.
|
112 |
+
|
113 |
+
= 20101110.1 =
|
114 |
+
* Date fix!
|
115 |
+
|
116 |
+
= 10112010_r1 =
|
117 |
+
* Fixed hardcoded links check. Added FAQ
|
118 |
+
|
119 |
+
= 10112010 =
|
120 |
+
* First release.
|
checkbase.php
CHANGED
@@ -60,7 +60,7 @@ function display_themechecks() {
|
|
60 |
}
|
61 |
}
|
62 |
}
|
63 |
-
|
64 |
if ( defined( 'TC_TRAC' ) ) {
|
65 |
|
66 |
if ( defined( 'TC_PRE' ) ) $results = TC_PRE . $results;
|
@@ -78,6 +78,9 @@ function checkcount() {
|
|
78 |
|
79 |
// some functions theme checks use
|
80 |
function tc_grep( $error, $file ) {
|
|
|
|
|
|
|
81 |
$lines = file( $file, FILE_IGNORE_NEW_LINES ); // Read the theme file into an array
|
82 |
$line_index = 0;
|
83 |
$bad_lines = '';
|
@@ -88,25 +91,32 @@ function tc_grep( $error, $file ) {
|
|
88 |
$error = ltrim( $error );
|
89 |
$pre = ( FALSE !== ( $pos = strpos( $this_line, $error ) ) ? substr( $this_line, 0, $pos ) : FALSE );
|
90 |
$pre = ltrim( htmlspecialchars( $pre ) );
|
91 |
-
$bad_lines .=
|
92 |
}
|
93 |
$line_index++;
|
94 |
}
|
95 |
-
|
96 |
}
|
97 |
|
98 |
function tc_preg( $preg, $file ) {
|
|
|
|
|
|
|
99 |
$lines = file( $file, FILE_IGNORE_NEW_LINES ); // Read the theme file into an array
|
100 |
$line_index = 0;
|
101 |
$bad_lines = '';
|
|
|
102 |
foreach( $lines as $this_line ) {
|
103 |
if ( preg_match( $preg, $this_line, $matches ) ) {
|
104 |
$error = $matches[0];
|
105 |
$this_line = str_replace( '"', "'", $this_line );
|
106 |
$error = ltrim( $error );
|
107 |
-
$pre =
|
|
|
|
|
|
|
108 |
$pre = ltrim( htmlspecialchars( $pre ) );
|
109 |
-
$bad_lines .=
|
110 |
}
|
111 |
$line_index++;
|
112 |
|
@@ -131,7 +141,7 @@ function tc_strxchr($haystack, $needle, $l_inclusive = 0, $r_inclusive = 0){
|
|
131 |
}
|
132 |
|
133 |
function tc_filename( $file ) {
|
134 |
-
$filename = ( preg_match( '/themes\/[a-z0-9]*\/(.*)/', $file, $out ) ) ? $out[1] : basename( $file );
|
135 |
return $filename;
|
136 |
}
|
137 |
|
@@ -153,7 +163,7 @@ function listdir( $dir ) {
|
|
153 |
$files = array();
|
154 |
$dir_iterator = new RecursiveDirectoryIterator( $dir );
|
155 |
$iterator = new RecursiveIteratorIterator($dir_iterator, RecursiveIteratorIterator::SELF_FIRST);
|
156 |
-
|
157 |
foreach ($iterator as $file) {
|
158 |
array_push( $files, $file->getPathname() );
|
159 |
}
|
@@ -174,9 +184,9 @@ function old_listdir( $start_dir='.' ) {
|
|
174 |
array_push( $files, $filepath );
|
175 |
}
|
176 |
closedir( $fh );
|
177 |
-
|
178 |
} else {
|
179 |
-
|
180 |
# false if the function was called with an invalid non-directory argument
|
181 |
$files = false;
|
182 |
}
|
@@ -208,31 +218,31 @@ function get_theme_data_from_contents( $theme_data ) {
|
|
208 |
);
|
209 |
|
210 |
$theme_data = str_replace ( '\r', '\n', $theme_data );
|
211 |
-
preg_match( '
|
212 |
-
preg_match( '
|
213 |
-
preg_match( '
|
214 |
|
215 |
-
if ( preg_match( '
|
216 |
$author_uri = esc_url( trim( $author_uri[1]) );
|
217 |
else
|
218 |
$author_uri = '';
|
219 |
|
220 |
-
if ( preg_match( '
|
221 |
$template = wp_kses( trim( $template[1] ), $themes_allowed_tags );
|
222 |
else
|
223 |
$template = '';
|
224 |
|
225 |
-
if ( preg_match( '
|
226 |
$version = wp_kses( trim( $version[1] ), $themes_allowed_tags );
|
227 |
else
|
228 |
$version = '';
|
229 |
|
230 |
-
if ( preg_match('
|
231 |
$status = wp_kses( trim( $status[1] ), $themes_allowed_tags );
|
232 |
else
|
233 |
$status = 'publish';
|
234 |
|
235 |
-
if ( preg_match('
|
236 |
$tags = array_map( 'trim', explode( ',', wp_kses( trim( $tags[1] ), array() ) ) );
|
237 |
else
|
238 |
$tags = array();
|
@@ -243,7 +253,7 @@ function get_theme_data_from_contents( $theme_data ) {
|
|
243 |
|
244 |
$description = ( isset( $description[1] ) ) ? wp_kses( trim( $description[1] ), $themes_allowed_tags ) : '';
|
245 |
|
246 |
-
if ( preg_match( '
|
247 |
if ( empty( $author_uri ) ) {
|
248 |
$author = wp_kses( trim( $author_name[1] ), $themes_allowed_tags );
|
249 |
} else {
|
@@ -261,7 +271,7 @@ function get_theme_data_from_contents( $theme_data ) {
|
|
261 |
*
|
262 |
*/
|
263 |
function tc_get_themes() {
|
264 |
-
|
265 |
if ( ! class_exists( 'WP_Theme' ) )
|
266 |
return get_themes();
|
267 |
|
@@ -280,11 +290,11 @@ function tc_get_themes() {
|
|
280 |
$wp_themes[ $name ] = $theme;
|
281 |
}
|
282 |
|
283 |
-
return $wp_themes;
|
284 |
}
|
285 |
|
286 |
function tc_get_theme_data( $theme_file ) {
|
287 |
-
|
288 |
if ( ! class_exists( 'WP_Theme' ) )
|
289 |
return get_theme_data( $theme_file );
|
290 |
|
@@ -307,4 +317,4 @@ function tc_get_theme_data( $theme_file ) {
|
|
307 |
'Template Version' => $theme->display( 'Template Version', false, false)
|
308 |
);
|
309 |
return $theme_data;
|
310 |
-
}
|
60 |
}
|
61 |
}
|
62 |
}
|
63 |
+
|
64 |
if ( defined( 'TC_TRAC' ) ) {
|
65 |
|
66 |
if ( defined( 'TC_PRE' ) ) $results = TC_PRE . $results;
|
78 |
|
79 |
// some functions theme checks use
|
80 |
function tc_grep( $error, $file ) {
|
81 |
+
if ( ! file_exists( $file ) ) {
|
82 |
+
return '';
|
83 |
+
}
|
84 |
$lines = file( $file, FILE_IGNORE_NEW_LINES ); // Read the theme file into an array
|
85 |
$line_index = 0;
|
86 |
$bad_lines = '';
|
91 |
$error = ltrim( $error );
|
92 |
$pre = ( FALSE !== ( $pos = strpos( $this_line, $error ) ) ? substr( $this_line, 0, $pos ) : FALSE );
|
93 |
$pre = ltrim( htmlspecialchars( $pre ) );
|
94 |
+
$bad_lines .= "<pre class='tc-grep'>". __("Line ", "theme-check") . ( $line_index+1 ) . ": " . $pre . htmlspecialchars( substr( stristr( $this_line, $error ), 0, 75 ) ) . "</pre>";
|
95 |
}
|
96 |
$line_index++;
|
97 |
}
|
98 |
+
return str_replace( $error, '<span class="tc-grep">' . $error . '</span>', $bad_lines );
|
99 |
}
|
100 |
|
101 |
function tc_preg( $preg, $file ) {
|
102 |
+
if ( ! file_exists( $file ) ) {
|
103 |
+
return '';
|
104 |
+
}
|
105 |
$lines = file( $file, FILE_IGNORE_NEW_LINES ); // Read the theme file into an array
|
106 |
$line_index = 0;
|
107 |
$bad_lines = '';
|
108 |
+
$error = '';
|
109 |
foreach( $lines as $this_line ) {
|
110 |
if ( preg_match( $preg, $this_line, $matches ) ) {
|
111 |
$error = $matches[0];
|
112 |
$this_line = str_replace( '"', "'", $this_line );
|
113 |
$error = ltrim( $error );
|
114 |
+
$pre = '';
|
115 |
+
if ( !empty( $error ) ) {
|
116 |
+
$pre = ( FALSE !== ( $pos = strpos( $this_line, $error ) ) ? substr( $this_line, 0, $pos ) : FALSE );
|
117 |
+
}
|
118 |
$pre = ltrim( htmlspecialchars( $pre ) );
|
119 |
+
$bad_lines .= "<pre class='tc-grep'>" . __("Line ", "theme-check") . ( $line_index+1 ) . ": " . $pre . htmlspecialchars( substr( stristr( $this_line, $error ), 0, 75 ) ) . "</pre>";
|
120 |
}
|
121 |
$line_index++;
|
122 |
|
141 |
}
|
142 |
|
143 |
function tc_filename( $file ) {
|
144 |
+
$filename = ( preg_match( '/themes\/[a-z0-9-]*\/(.*)/', $file, $out ) ) ? $out[1] : basename( $file );
|
145 |
return $filename;
|
146 |
}
|
147 |
|
163 |
$files = array();
|
164 |
$dir_iterator = new RecursiveDirectoryIterator( $dir );
|
165 |
$iterator = new RecursiveIteratorIterator($dir_iterator, RecursiveIteratorIterator::SELF_FIRST);
|
166 |
+
|
167 |
foreach ($iterator as $file) {
|
168 |
array_push( $files, $file->getPathname() );
|
169 |
}
|
184 |
array_push( $files, $filepath );
|
185 |
}
|
186 |
closedir( $fh );
|
187 |
+
|
188 |
} else {
|
189 |
+
|
190 |
# false if the function was called with an invalid non-directory argument
|
191 |
$files = false;
|
192 |
}
|
218 |
);
|
219 |
|
220 |
$theme_data = str_replace ( '\r', '\n', $theme_data );
|
221 |
+
preg_match( '|^[ \t\/*#@]*Theme Name:(.*)$|mi', $theme_data, $theme_name );
|
222 |
+
preg_match( '|^[ \t\/*#@]*Theme URI:(.*)$|mi', $theme_data, $theme_uri );
|
223 |
+
preg_match( '|^[ \t\/*#@]*Description:(.*)$|mi', $theme_data, $description );
|
224 |
|
225 |
+
if ( preg_match( '|^[ \t\/*#@]*Author URI:(.*)$|mi', $theme_data, $author_uri ) )
|
226 |
$author_uri = esc_url( trim( $author_uri[1]) );
|
227 |
else
|
228 |
$author_uri = '';
|
229 |
|
230 |
+
if ( preg_match( '|^[ \t\/*#@]*Template:(.*)$|mi', $theme_data, $template ) )
|
231 |
$template = wp_kses( trim( $template[1] ), $themes_allowed_tags );
|
232 |
else
|
233 |
$template = '';
|
234 |
|
235 |
+
if ( preg_match( '|^[ \t\/*#@]*Version:(.*)|mi', $theme_data, $version ) )
|
236 |
$version = wp_kses( trim( $version[1] ), $themes_allowed_tags );
|
237 |
else
|
238 |
$version = '';
|
239 |
|
240 |
+
if ( preg_match('|^[ \t\/*#@]*Status:(.*)|mi', $theme_data, $status) )
|
241 |
$status = wp_kses( trim( $status[1] ), $themes_allowed_tags );
|
242 |
else
|
243 |
$status = 'publish';
|
244 |
|
245 |
+
if ( preg_match('|^[ \t\/*#@]*Tags:(.*)|mi', $theme_data, $tags) )
|
246 |
$tags = array_map( 'trim', explode( ',', wp_kses( trim( $tags[1] ), array() ) ) );
|
247 |
else
|
248 |
$tags = array();
|
253 |
|
254 |
$description = ( isset( $description[1] ) ) ? wp_kses( trim( $description[1] ), $themes_allowed_tags ) : '';
|
255 |
|
256 |
+
if ( preg_match( '|^[ \t\/*#@]*Author:(.*)$|mi', $theme_data, $author_name ) ) {
|
257 |
if ( empty( $author_uri ) ) {
|
258 |
$author = wp_kses( trim( $author_name[1] ), $themes_allowed_tags );
|
259 |
} else {
|
271 |
*
|
272 |
*/
|
273 |
function tc_get_themes() {
|
274 |
+
|
275 |
if ( ! class_exists( 'WP_Theme' ) )
|
276 |
return get_themes();
|
277 |
|
290 |
$wp_themes[ $name ] = $theme;
|
291 |
}
|
292 |
|
293 |
+
return $wp_themes;
|
294 |
}
|
295 |
|
296 |
function tc_get_theme_data( $theme_file ) {
|
297 |
+
|
298 |
if ( ! class_exists( 'WP_Theme' ) )
|
299 |
return get_theme_data( $theme_file );
|
300 |
|
317 |
'Template Version' => $theme->display( 'Template Version', false, false)
|
318 |
);
|
319 |
return $theme_data;
|
320 |
+
}
|
checks/admin_menu.php
CHANGED
@@ -10,8 +10,8 @@ class AdminMenu implements themecheck {
|
|
10 |
//check for levels deprecated in 2.0 in creating menus.
|
11 |
|
12 |
$checks = array(
|
13 |
-
'/([^_](add_(admin|submenu|menu|dashboard|posts|media|links|pages|comments|theme|plugins|users|management|options)_page)\s?\([^,]*,[^,]*,\s[\'|"]?(level_[0-9]|[0-9])[^;|\r|\r\n]*)/' => __( 'User levels were deprecated in <strong>2.0</strong>. Please see <a href="
|
14 |
-
'/[^a-z0-9](current_user_can\s?\(\s?[\'\"]level_[0-9][\'\"]\s?\))[^\r|\r\n]*/' => __( 'User levels were deprecated in <strong>2.0</strong>. Please see <a href="
|
15 |
);
|
16 |
|
17 |
foreach ( $php_files as $php_key => $phpfile ) {
|
@@ -20,29 +20,35 @@ class AdminMenu implements themecheck {
|
|
20 |
if ( preg_match( $key, $phpfile, $matches ) ) {
|
21 |
$filename = tc_filename( $php_key );
|
22 |
$grep = ( isset( $matches[2] ) ) ? tc_grep( $matches[2], $php_key ) : tc_grep( $matches[1], $php_key );
|
23 |
-
$this->error[] = sprintf(
|
24 |
$ret = false;
|
25 |
}
|
26 |
}
|
27 |
}
|
28 |
|
29 |
|
30 |
-
//check for add_admin_page
|
|
|
31 |
|
32 |
$checks = array(
|
33 |
-
'/([^_]add_(
|
34 |
);
|
35 |
|
36 |
|
37 |
foreach ( $php_files as $php_key => $phpfile ) {
|
38 |
foreach ( $checks as $key => $check ) {
|
39 |
checkcount();
|
40 |
-
if (
|
41 |
-
$
|
42 |
-
|
43 |
-
|
44 |
-
|
45 |
-
|
|
|
|
|
|
|
|
|
|
|
46 |
}
|
47 |
}
|
48 |
}
|
@@ -53,4 +59,4 @@ class AdminMenu implements themecheck {
|
|
53 |
function getError() { return $this->error; }
|
54 |
}
|
55 |
|
56 |
-
$themechecks[] = new AdminMenu;
|
10 |
//check for levels deprecated in 2.0 in creating menus.
|
11 |
|
12 |
$checks = array(
|
13 |
+
'/([^_](add_(admin|submenu|menu|dashboard|posts|media|links|pages|comments|theme|plugins|users|management|options)_page)\s?\([^,]*,[^,]*,\s[\'|"]?(level_[0-9]|[0-9])[^;|\r|\r\n]*)/' => __( 'User levels were deprecated in <strong>2.0</strong>. Please see <a href="https://codex.wordpress.org/Roles_and_Capabilities">Roles_and_Capabilities</a>', 'theme-check' ),
|
14 |
+
'/[^a-z0-9](current_user_can\s?\(\s?[\'\"]level_[0-9][\'\"]\s?\))[^\r|\r\n]*/' => __( 'User levels were deprecated in <strong>2.0</strong>. Please see <a href="https://codex.wordpress.org/Roles_and_Capabilities">Roles_and_Capabilities</a>', 'theme-check' )
|
15 |
);
|
16 |
|
17 |
foreach ( $php_files as $php_key => $phpfile ) {
|
20 |
if ( preg_match( $key, $phpfile, $matches ) ) {
|
21 |
$filename = tc_filename( $php_key );
|
22 |
$grep = ( isset( $matches[2] ) ) ? tc_grep( $matches[2], $php_key ) : tc_grep( $matches[1], $php_key );
|
23 |
+
$this->error[] = sprintf('<span class="tc-lead tc-warning">'.__( 'WARNING', 'theme-check' ) . '</span>: <strong>%1$s</strong>. %2$s%3$s', $filename, $check, $grep );
|
24 |
$ret = false;
|
25 |
}
|
26 |
}
|
27 |
}
|
28 |
|
29 |
|
30 |
+
// check for add_admin_page's, except for add_theme_page
|
31 |
+
// Note to TGMPA: Stop trying to bypass theme check.
|
32 |
|
33 |
$checks = array(
|
34 |
+
'/(?<!function)[^_>:](add_[^_\'",();]+?_page)/' => __( 'Themes should use <strong>add_theme_page()</strong> for adding admin pages.', 'theme-check' )
|
35 |
);
|
36 |
|
37 |
|
38 |
foreach ( $php_files as $php_key => $phpfile ) {
|
39 |
foreach ( $checks as $key => $check ) {
|
40 |
checkcount();
|
41 |
+
if ( preg_match_all( $key, $phpfile, $matches ) ) {
|
42 |
+
foreach ($matches[1] as $match) {
|
43 |
+
if ($match == 'add_theme_page') {
|
44 |
+
continue;
|
45 |
+
}
|
46 |
+
$filename = tc_filename( $php_key );
|
47 |
+
$error = ltrim( rtrim( $match, '(' ) );
|
48 |
+
$grep = tc_grep( $error, $php_key );
|
49 |
+
$this->error[] = sprintf('<span class="tc-lead tc-required">'.__( 'REQUIRED', 'theme-check' ) .'</span>: <strong>%1$s</strong>. %2$s%3$s', $filename, $check, $grep);
|
50 |
+
$ret = false;
|
51 |
+
}
|
52 |
}
|
53 |
}
|
54 |
}
|
59 |
function getError() { return $this->error; }
|
60 |
}
|
61 |
|
62 |
+
$themechecks[] = new AdminMenu;
|
checks/adminbar.php
ADDED
@@ -0,0 +1,42 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
/**
|
3 |
+
* This checks, if the admin bar gets hidden by the theme
|
4 |
+
**/
|
5 |
+
class NoHiddenAdminBar implements themecheck {
|
6 |
+
protected $error = array();
|
7 |
+
|
8 |
+
function check( $php_files, $css_files, $other_files ) {
|
9 |
+
$ret = true;
|
10 |
+
checkcount();
|
11 |
+
$php_regex = "/(add_filter(\s*)\((\s*)(\"|')show_admin_bar(\"|')(\s*)(.*))|(([^\S])show_admin_bar(\s*)\((.*))/";
|
12 |
+
$css_regex = "/(#wpadminbar)/";
|
13 |
+
|
14 |
+
//Check php files for filter show_admin_bar and show_admin_bar()
|
15 |
+
foreach ( $php_files as $file_path => $file_content ) {
|
16 |
+
|
17 |
+
$filename = tc_filename( $file_path );
|
18 |
+
|
19 |
+
if ( preg_match( $php_regex, $file_content, $matches ) ) {
|
20 |
+
$this->error[] = sprintf( '<span class="tc-lead tc-required">' . __( 'REQUIRED', 'theme-check').'</span>: ' . __( 'You are not allowed to hide the admin bar.', 'theme-check' ),
|
21 |
+
'<strong>' . $filename . '</strong>');
|
22 |
+
$ret = false;
|
23 |
+
}
|
24 |
+
}
|
25 |
+
|
26 |
+
//Check CSS Files for #wpadminbar
|
27 |
+
foreach ( $css_files as $file_path => $file_content ) {
|
28 |
+
|
29 |
+
$filename = tc_filename( $file_path );
|
30 |
+
|
31 |
+
if ( preg_match( $css_regex, $file_content, $matches ) ) {
|
32 |
+
$this->error[] = sprintf( '<span class="tc-lead tc-required">' . __( 'REQUIRED', 'theme-check').'</span>: ' . __( 'You are not allowed to hide the admin bar.', 'theme-check' ),
|
33 |
+
'<strong>' . $filename . '</strong>');
|
34 |
+
$ret = false;
|
35 |
+
}
|
36 |
+
}
|
37 |
+
return $ret;
|
38 |
+
}
|
39 |
+
|
40 |
+
function getError() { return $this->error; }
|
41 |
+
}
|
42 |
+
$themechecks[] = new NoHiddenAdminBar;
|
checks/badthings.php
CHANGED
@@ -6,15 +6,15 @@ class Bad_Checks implements themecheck {
|
|
6 |
$ret = true;
|
7 |
|
8 |
$checks = array(
|
9 |
-
'/(?<![_|a-z0-9])eval\s?\(/i' => __( 'eval() is not allowed.', '
|
10 |
-
'/[^a-z0-9](?<!_)(popen|proc_open|[^_]exec|shell_exec|system|passthru)\(/' => __( 'PHP
|
11 |
-
'/\s?ini_set\(/' => __( 'Themes should not change server PHP settings', '
|
12 |
-
'/base64_decode/' => __( 'base64_decode() is not allowed', '
|
13 |
-
'/base64_encode/' => __( 'base64_encode() is not allowed', '
|
14 |
-
'/uudecode/ims' => __( 'uudecode() is not allowed', '
|
15 |
-
'/str_rot13/ims' => __( 'str_rot13() is not allowed', '
|
16 |
-
'/cx=[0-9]{21}:[a-z0-9]{10}/' => __( 'Google search code detected', '
|
17 |
-
'/pub-[0-9]{16}/i' => __( '
|
18 |
);
|
19 |
|
20 |
$grep = '';
|
@@ -26,7 +26,7 @@ class Bad_Checks implements themecheck {
|
|
26 |
$filename = tc_filename( $php_key );
|
27 |
$error = ltrim( trim( $matches[0], '(' ) );
|
28 |
$grep = tc_grep( $error, $php_key );
|
29 |
-
$this->error[] = sprintf(
|
30 |
$ret = false;
|
31 |
}
|
32 |
}
|
@@ -34,8 +34,8 @@ class Bad_Checks implements themecheck {
|
|
34 |
|
35 |
|
36 |
$checks = array(
|
37 |
-
'/cx=[0-9]{21}:[a-z0-9]{10}/' => __( 'Google search code detected', '
|
38 |
-
'/pub-[0-9]{16}/' => __( '
|
39 |
);
|
40 |
|
41 |
foreach ( $other_files as $php_key => $phpfile ) {
|
@@ -45,7 +45,7 @@ class Bad_Checks implements themecheck {
|
|
45 |
$filename = tc_filename( $php_key );
|
46 |
$error = ltrim( rtrim( $matches[0],'(' ) );
|
47 |
$grep = tc_grep( $error, $php_key );
|
48 |
-
$this->error[] = sprintf(__('<span class="tc-lead tc-warning">WARNING</span>: Found <strong>%1$s</strong> in the file <strong>%2$s</strong>. %3$s.%4$s', '
|
49 |
$ret = false;
|
50 |
}
|
51 |
}
|
6 |
$ret = true;
|
7 |
|
8 |
$checks = array(
|
9 |
+
'/(?<![_|a-z0-9|\.])eval\s?\(/i' => __( 'eval() is not allowed.', 'theme-check' ),
|
10 |
+
'/[^a-z0-9](?<!_)(popen|proc_open|[^_]exec|shell_exec|system|passthru)\(/' => __( 'PHP system calls are often disabled by server admins and should not be in themes', 'theme-check' ),
|
11 |
+
'/\s?ini_set\(/' => __( 'Themes should not change server PHP settings', 'theme-check' ),
|
12 |
+
'/base64_decode/' => __( 'base64_decode() is not allowed', 'theme-check' ),
|
13 |
+
'/base64_encode/' => __( 'base64_encode() is not allowed', 'theme-check' ),
|
14 |
+
'/uudecode/ims' => __( 'uudecode() is not allowed', 'theme-check' ),
|
15 |
+
'/str_rot13/ims' => __( 'str_rot13() is not allowed', 'theme-check' ),
|
16 |
+
'/cx=[0-9]{21}:[a-z0-9]{10}/' => __( 'Google search code detected', 'theme-check' ),
|
17 |
+
'/pub-[0-9]{16}/i' => __( 'Google advertising code detected', 'theme-check' )
|
18 |
);
|
19 |
|
20 |
$grep = '';
|
26 |
$filename = tc_filename( $php_key );
|
27 |
$error = ltrim( trim( $matches[0], '(' ) );
|
28 |
$grep = tc_grep( $error, $php_key );
|
29 |
+
$this->error[] = sprintf('<span class="tc-lead tc-warning">'. __( 'WARNING', 'theme-check' ) . '</span>: ' . __( 'Found %1$s in the file %2$s. %3$s. %4$s', 'theme-check' ), '<strong>' . $error . '</strong>', '<strong>' . $filename . '</strong>', $check, $grep );
|
30 |
$ret = false;
|
31 |
}
|
32 |
}
|
34 |
|
35 |
|
36 |
$checks = array(
|
37 |
+
'/cx=[0-9]{21}:[a-z0-9]{10}/' => __( 'Google search code detected', 'theme-check' ),
|
38 |
+
'/pub-[0-9]{16}/' => __( 'Google advertising code detected', 'theme-check' )
|
39 |
);
|
40 |
|
41 |
foreach ( $other_files as $php_key => $phpfile ) {
|
45 |
$filename = tc_filename( $php_key );
|
46 |
$error = ltrim( rtrim( $matches[0],'(' ) );
|
47 |
$grep = tc_grep( $error, $php_key );
|
48 |
+
$this->error[] = sprintf(__('<span class="tc-lead tc-warning">WARNING</span>: Found <strong>%1$s</strong> in the file <strong>%2$s</strong>. %3$s.%4$s', 'theme-check'), $error, $filename, $check, $grep);
|
49 |
$ret = false;
|
50 |
}
|
51 |
}
|
checks/basic.php
CHANGED
@@ -11,31 +11,27 @@ class Basic_Checks implements themecheck {
|
|
11 |
$ret = true;
|
12 |
|
13 |
$checks = array(
|
14 |
-
'DOCTYPE' => __( 'See: <a href="
|
15 |
-
'wp_footer\(' => __( 'See: <a href="
|
16 |
-
'wp_head\(' => __( 'See: <a href="
|
17 |
-
'language_attributes' => __( 'See: <a href="
|
18 |
-
'charset' => __( 'There must be a charset defined in the Content-Type or the meta charset tag in the head.', '
|
19 |
-
'add_theme_support\(\s?("|\')automatic-feed-links("|\')\s?\)' => __( 'See: <a href="
|
20 |
-
'
|
21 |
-
'
|
22 |
-
'
|
23 |
-
'
|
24 |
-
'
|
25 |
-
'
|
26 |
-
'wp_link_pages\(' => __( 'See: <a href="http://codex.wordpress.org/Function_Reference/wp_link_pages">wp_link_pages</a><pre> <?php wp_link_pages( $args ); ?></pre>', 'themecheck' ),
|
27 |
-
'post_class\(' => __( 'See: <a href="http://codex.wordpress.org/Template_Tags/post_class">post_class</a><pre> <div id="post-<?php the_ID(); ?>" <?php post_class(); ?>></pre>', 'themecheck' )
|
28 |
);
|
29 |
|
30 |
foreach ($checks as $key => $check) {
|
31 |
checkcount();
|
32 |
if ( !preg_match( '/' . $key . '/i', $php ) ) {
|
33 |
-
if ( $key === 'add_theme_support\(\s?("|\')automatic-feed-links("|\')\s?\)' ) $key = __( 'add_theme_support( \'automatic-feed-links\' )', '
|
34 |
-
if ( $key === '
|
35 |
-
|
36 |
-
|
37 |
-
$key = ltrim( trim ( trim( $key, '(' ), '\\' ) );
|
38 |
-
$this->error[] = sprintf( __( '<span class="tc-lead tc-required">REQUIRED</span>: Could not find <strong>%1$s</strong>. %2$s', 'themecheck' ), $key, $check );
|
39 |
$ret = false;
|
40 |
}
|
41 |
}
|
11 |
$ret = true;
|
12 |
|
13 |
$checks = array(
|
14 |
+
'DOCTYPE' => __( 'See: <a href="https://codex.wordpress.org/HTML_to_XHTML">https://codex.wordpress.org/HTML_to_XHTML</a><pre><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"<br />"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"?></pre>', 'theme-check' ),
|
15 |
+
'wp_footer\s*\(' => __( 'See: <a href="https://codex.wordpress.org/Function_Reference/wp_footer">wp_footer</a><pre> <?php wp_footer(); ?></pre>', 'theme-check' ),
|
16 |
+
'wp_head\s*\(' => __( 'See: <a href="https://codex.wordpress.org/Function_Reference/wp_head">wp_head</a><pre> <?php wp_head(); ?></pre>', 'theme-check' ),
|
17 |
+
'language_attributes' => __( 'See: <a href="https://codex.wordpress.org/Function_Reference/language_attributes">language_attributes</a><pre><html <?php language_attributes(); ?></pre>', 'theme-check' ),
|
18 |
+
'charset' => __( 'There must be a charset defined in the Content-Type or the meta charset tag in the head.', 'theme-check' ),
|
19 |
+
'add_theme_support\s*\(\s?("|\')automatic-feed-links("|\')\s?\)' => __( 'See: <a href="https://codex.wordpress.org/Function_Reference/add_theme_support">add_theme_support</a><pre> <?php add_theme_support( $feature ); ?></pre>', 'theme-check' ),
|
20 |
+
'comments_template\s*\(' => __( 'See: <a href="https://codex.wordpress.org/Template_Tags/comments_template">comments_template</a><pre> <?php comments_template( $file, $separate_comments ); ?></pre>', 'theme-check' ),
|
21 |
+
'wp_list_comments\s*\(' => __( 'See: <a href="https://codex.wordpress.org/Template_Tags/wp_list_comments">wp_list_comments</a><pre> <?php wp_list_comments( $args ); ?></pre>', 'theme-check' ),
|
22 |
+
'comment_form\s*\(' => __( 'See: <a href="https://codex.wordpress.org/Template_Tags/comment_form">comment_form</a><pre> <?php comment_form(); ?></pre>', 'theme-check' ),
|
23 |
+
'body_class\s*\(' => __( 'See: <a href="https://codex.wordpress.org/Template_Tags/body_class">body_class</a><pre> <?php body_class( $class ); ?></pre>', 'theme-check' ),
|
24 |
+
'wp_link_pages\s*\(' => __( 'See: <a href="https://codex.wordpress.org/Function_Reference/wp_link_pages">wp_link_pages</a><pre> <?php wp_link_pages( $args ); ?></pre>', 'theme-check' ),
|
25 |
+
'post_class\s*\(' => __( 'See: <a href="https://codex.wordpress.org/Template_Tags/post_class">post_class</a><pre> <div id="post-<?php the_ID(); ?>" <?php post_class(); ?>></pre>', 'theme-check' )
|
|
|
|
|
26 |
);
|
27 |
|
28 |
foreach ($checks as $key => $check) {
|
29 |
checkcount();
|
30 |
if ( !preg_match( '/' . $key . '/i', $php ) ) {
|
31 |
+
if ( $key === 'add_theme_support\s*\(\s?("|\')automatic-feed-links("|\')\s?\)' ) $key = __( 'add_theme_support( \'automatic-feed-links\' )', 'theme-check');
|
32 |
+
if ( $key === 'body_class\s*\(' ) $key = __( 'body_class call in body tag', 'theme-check');
|
33 |
+
$key = str_replace( '\s*\(', '', $key );
|
34 |
+
$this->error[] = sprintf( '<span class="tc-lead tc-required">'.__('REQUIRED','theme-check').'</span>: '.__('Could not find %1$s. %2$s', 'theme-check' ), '<strong>' . $key . '</strong>', $check );
|
|
|
|
|
35 |
$ret = false;
|
36 |
}
|
37 |
}
|
checks/cdn.php
ADDED
@@ -0,0 +1,44 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
|
3 |
+
/**
|
4 |
+
* Checks for resources being loaded from CDNs.
|
5 |
+
*/
|
6 |
+
|
7 |
+
class CDNCheck implements themecheck {
|
8 |
+
protected $error = array();
|
9 |
+
|
10 |
+
function check( $php_files, $css_files, $other_files) {
|
11 |
+
|
12 |
+
$ret = true;
|
13 |
+
$php_code = implode( ' ', $php_files );
|
14 |
+
$css_code = implode( ' ', $css_files );
|
15 |
+
$all_code = $php_code . ' ' . $css_code;
|
16 |
+
|
17 |
+
checkcount();
|
18 |
+
|
19 |
+
$cdn_list = array(
|
20 |
+
'bootstrap-maxcdn' => 'maxcdn.bootstrapcdn.com/bootstrap',
|
21 |
+
'bootstrap-netdna' => 'netdna.bootstrapcdn.com/bootstrap',
|
22 |
+
'bootswatch-maxcdn' => 'maxcdn.bootstrapcdn.com/bootswatch',
|
23 |
+
'bootswatch-netdna' => 'netdna.bootstrapcdn.com/bootswatch',
|
24 |
+
'font-awesome-maxcdn' => 'maxcdn.bootstrapcdn.com/font-awesome',
|
25 |
+
'font-awesome-netdna' => 'netdna.bootstrapcdn.com/font-awesome',
|
26 |
+
'html5shiv-google' => 'html5shiv.googlecode.com/svn/trunk/html5.js',
|
27 |
+
'html5shiv-maxcdn' => 'oss.maxcdn.com/libs/html5shiv',
|
28 |
+
'jquery' => 'code.jquery.com/jquery-',
|
29 |
+
'respond-js' => 'oss.maxcdn.com/libs/respond.js',
|
30 |
+
);
|
31 |
+
|
32 |
+
foreach( $cdn_list as $cdn_slug => $cdn_url ) {
|
33 |
+
if ( false !== strpos( $all_code, $cdn_url ) ) {
|
34 |
+
$this->error[] = '<span class="tc-lead tc-recommended">' . __('RECOMMENDED','theme-check') . '</span>: ' . sprintf( __( 'Found the URL of a CDN in the code: %s. You should not load CSS or Javascript resources from a CDN, please bundle them with the theme.', 'theme-check' ), '<code>' . esc_html( $cdn_url ) . '</code>' );
|
35 |
+
//$ret = false;
|
36 |
+
}
|
37 |
+
}
|
38 |
+
|
39 |
+
return $ret;
|
40 |
+
}
|
41 |
+
|
42 |
+
function getError() { return $this->error; }
|
43 |
+
}
|
44 |
+
$themechecks[] = new CDNCheck;
|
checks/comment_reply.php
CHANGED
@@ -6,16 +6,16 @@ class Comment_Reply implements themecheck {
|
|
6 |
|
7 |
$php = implode( ' ', $php_files );
|
8 |
$ret = true;
|
9 |
-
|
10 |
checkcount();
|
11 |
|
12 |
if ( ! preg_match( '/wp_enqueue_script\(\s?("|\')comment-reply("|\')/i', $php ) ) {
|
13 |
if ( ! preg_match( '/comment-reply/', $php ) ) {
|
14 |
-
$check = __( 'See: <a href="
|
15 |
-
$this->error[] = sprintf(
|
16 |
$ret = false;
|
17 |
} else {
|
18 |
-
$this->error[] =
|
19 |
}
|
20 |
}
|
21 |
return $ret;
|
6 |
|
7 |
$php = implode( ' ', $php_files );
|
8 |
$ret = true;
|
9 |
+
|
10 |
checkcount();
|
11 |
|
12 |
if ( ! preg_match( '/wp_enqueue_script\(\s?("|\')comment-reply("|\')/i', $php ) ) {
|
13 |
if ( ! preg_match( '/comment-reply/', $php ) ) {
|
14 |
+
$check = __( 'See: <a href="https://codex.wordpress.org/Migrating_Plugins_and_Themes_to_2.7/Enhanced_Comment_Display">Migrating Plugins and Themes to 2.7/Enhanced Comment Display</a><pre> <?php if ( is_singular() ) wp_enqueue_script( "comment-reply" ); ?></pre>', 'theme-check' );
|
15 |
+
$this->error[] = sprintf('<span class="tc-lead tc-required">'.__('REQUIRED','theme-check').'</span>: '.__('Could not find the <strong>comment-reply</strong> script enqueued. %1$s', 'theme-check'), $check);
|
16 |
$ret = false;
|
17 |
} else {
|
18 |
+
$this->error[] = '<span class="tc-lead tc-info">'.__('INFO','theme-check').'</span>: '.__('Could not find the <strong>comment-reply</strong> script enqueued, however a reference to \'comment-reply\' was found. Make sure that the comment-reply script is being enqueued properly on singular pages.', 'theme-check');
|
19 |
}
|
20 |
}
|
21 |
return $ret;
|
checks/commpage.php
CHANGED
@@ -10,9 +10,11 @@ class CommentPaginationCheck implements themecheck {
|
|
10 |
$php = implode( ' ', $php_files );
|
11 |
checkcount();
|
12 |
if (strpos( $php, 'paginate_comments_links' ) === false &&
|
|
|
|
|
13 |
(strpos( $php, 'next_comments_link' ) === false && strpos( $php, 'previous_comments_link' ) === false ) ) {
|
14 |
|
15 |
-
$this->error[] =
|
16 |
$ret = false;
|
17 |
}
|
18 |
|
@@ -21,4 +23,4 @@ class CommentPaginationCheck implements themecheck {
|
|
21 |
|
22 |
function getError() { return $this->error; }
|
23 |
}
|
24 |
-
$themechecks[] = new CommentPaginationCheck;
|
10 |
$php = implode( ' ', $php_files );
|
11 |
checkcount();
|
12 |
if (strpos( $php, 'paginate_comments_links' ) === false &&
|
13 |
+
strpos( $php, 'the_comments_navigation' ) === false &&
|
14 |
+
strpos( $php, 'the_comments_pagination' ) === false &&
|
15 |
(strpos( $php, 'next_comments_link' ) === false && strpos( $php, 'previous_comments_link' ) === false ) ) {
|
16 |
|
17 |
+
$this->error[] = '<span class="tc-lead tc-required">'.__('REQUIRED','theme-check').'</span>: '.__('The theme doesn\'t have comment pagination code in it. Use <strong>paginate_comments_links()</strong> or <strong>the_comments_navigation</strong> or <strong>the_comments_pagination</strong> or <strong>next_comments_link()</strong> and <strong>previous_comments_link()</strong> to add comment pagination.', 'theme-check' );
|
18 |
$ret = false;
|
19 |
}
|
20 |
|
23 |
|
24 |
function getError() { return $this->error; }
|
25 |
}
|
26 |
+
$themechecks[] = new CommentPaginationCheck;
|
checks/constants.php
CHANGED
@@ -21,7 +21,8 @@ class Constants implements themecheck {
|
|
21 |
$filename = tc_filename( $php_key );
|
22 |
$error = ltrim( rtrim( $matches[0], '(' ) );
|
23 |
$grep = tc_grep( $error, $php_key );
|
24 |
-
$this->error[] = sprintf(
|
|
|
25 |
}
|
26 |
}
|
27 |
}
|
@@ -30,4 +31,4 @@ class Constants implements themecheck {
|
|
30 |
|
31 |
function getError() { return $this->error; }
|
32 |
}
|
33 |
-
$themechecks[] = new Constants;
|
21 |
$filename = tc_filename( $php_key );
|
22 |
$error = ltrim( rtrim( $matches[0], '(' ) );
|
23 |
$grep = tc_grep( $error, $php_key );
|
24 |
+
$this->error[] = sprintf('<span class="tc-lead tc-required">'.__('REQUIRED','theme-check').'</span>: '.__('%1$s was found in the file %2$s. Use %3$s instead.%4$s', 'theme-check'), '<strong>' . $error . '</strong>', '<strong>' . $filename . '</strong>', '<strong>' . $check . '</strong>', $grep );
|
25 |
+
$ret = false;
|
26 |
}
|
27 |
}
|
28 |
}
|
31 |
|
32 |
function getError() { return $this->error; }
|
33 |
}
|
34 |
+
$themechecks[] = new Constants;
|
checks/content-width.php
CHANGED
@@ -10,8 +10,8 @@ class ContentWidthCheck implements themecheck {
|
|
10 |
// combine all the php files into one string to make it easier to search
|
11 |
$php = implode( ' ', $php_files );
|
12 |
checkcount();
|
13 |
-
if ( strpos( $php, '$content_width' ) === false && !preg_match( '/add_filter\(\s?("|\')embed_defaults/', $php ) && !preg_match( '/add_filter\(\s?("|\')content_width/', $php ) ) {
|
14 |
-
$this->error[] =
|
15 |
$ret = false;
|
16 |
}
|
17 |
|
@@ -20,4 +20,4 @@ class ContentWidthCheck implements themecheck {
|
|
20 |
|
21 |
function getError() { return $this->error; }
|
22 |
}
|
23 |
-
$themechecks[] = new ContentWidthCheck;
|
10 |
// combine all the php files into one string to make it easier to search
|
11 |
$php = implode( ' ', $php_files );
|
12 |
checkcount();
|
13 |
+
if ( strpos( $php, '$content_width' ) === false && strpos( $php, '$GLOBALS' . "['content_width']" ) === false && !preg_match( '/add_filter\(\s?("|\')embed_defaults/', $php ) && !preg_match( '/add_filter\(\s?("|\')content_width/', $php ) ) {
|
14 |
+
$this->error[] = '<span class="tc-lead tc-required">'.__('REQUIRED','theme-check').'</span>: '.__('No content width has been defined. Example: <pre>if ( ! isset( $content_width ) ) $content_width = 900;</pre>', 'theme-check' );
|
15 |
$ret = false;
|
16 |
}
|
17 |
|
20 |
|
21 |
function getError() { return $this->error; }
|
22 |
}
|
23 |
+
$themechecks[] = new ContentWidthCheck;
|
checks/customizer.php
ADDED
@@ -0,0 +1,44 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
|
3 |
+
/**
|
4 |
+
* Checks for the Customizer.
|
5 |
+
*/
|
6 |
+
|
7 |
+
class CustomizerCheck implements themecheck {
|
8 |
+
protected $error = array();
|
9 |
+
|
10 |
+
function check( $php_files, $css_files, $other_files) {
|
11 |
+
|
12 |
+
$ret = true;
|
13 |
+
|
14 |
+
checkcount();
|
15 |
+
|
16 |
+
/**
|
17 |
+
* Check whether every Customizer setting has a sanitization callback set.
|
18 |
+
*/
|
19 |
+
foreach ( $php_files as $file_path => $file_content ) {
|
20 |
+
// Get the arguments passed to the add_setting method
|
21 |
+
if ( preg_match_all( '/\$wp_customize->add_setting\(([^;]+)/', $file_content, $matches ) ) {
|
22 |
+
// The full match is in [0], the match group in [1]
|
23 |
+
foreach ( $matches[1] as $match ) {
|
24 |
+
// Check if we have sanitize_callback or sanitize_js_callback
|
25 |
+
if ( false === strpos( $match, 'sanitize_callback' ) && false === strpos( $match, 'sanitize_js_callback' ) ) {
|
26 |
+
$this->error[] = '<span class="tc-lead tc-required">' . __('REQUIRED','theme-check') . '</span>: ' . __( 'Found a Customizer setting that did not have a sanitization callback function. Every call to the <strong>add_setting()</strong> method needs to have a sanitization callback function passed.', 'theme-check' );
|
27 |
+
$ret = false;
|
28 |
+
} else {
|
29 |
+
// There's a callback, check that no empty parameter is passed.
|
30 |
+
if ( preg_match( '/[\'"](?:sanitize_callback|sanitize_js_callback)[\'"]\s*=>\s*[\'"]\s*[\'"]/', $match ) ) {
|
31 |
+
$this->error[] = '<span class="tc-lead tc-required">' . __('REQUIRED','theme-check') . '</span>: ' . __( 'Found a Customizer setting that had an empty value passed as sanitization callback. You need to pass a function name as sanitization callback.', 'theme-check' );
|
32 |
+
$ret = false;
|
33 |
+
}
|
34 |
+
}
|
35 |
+
}
|
36 |
+
}
|
37 |
+
}
|
38 |
+
|
39 |
+
return $ret;
|
40 |
+
}
|
41 |
+
|
42 |
+
function getError() { return $this->error; }
|
43 |
+
}
|
44 |
+
$themechecks[] = new CustomizerCheck;
|
checks/customs.php
CHANGED
@@ -11,11 +11,11 @@ class CustomCheck implements themecheck {
|
|
11 |
checkcount();
|
12 |
|
13 |
if ( ! preg_match( '#add_theme_support\s?\(\s?[\'|"]custom-header#', $php ) ) {
|
14 |
-
$this->error[] =
|
15 |
}
|
16 |
|
17 |
if ( ! preg_match( '#add_theme_support\s?\(\s?[\'|"]custom-background#', $php ) ) {
|
18 |
-
$this->error[] =
|
19 |
}
|
20 |
|
21 |
return $ret;
|
11 |
checkcount();
|
12 |
|
13 |
if ( ! preg_match( '#add_theme_support\s?\(\s?[\'|"]custom-header#', $php ) ) {
|
14 |
+
$this->error[] = '<span class="tc-lead tc-recommended">'.__('RECOMMENDED','theme-check').'</span>: '.__('No reference to <strong>add_theme_support( "custom-header", $args )</strong> was found in the theme. It is recommended that the theme implement this functionality if using an image for the header.', 'theme-check' );
|
15 |
}
|
16 |
|
17 |
if ( ! preg_match( '#add_theme_support\s?\(\s?[\'|"]custom-background#', $php ) ) {
|
18 |
+
$this->error[] = '<span class="tc-lead tc-recommended">'.__('RECOMMENDED','theme-check').'</span>: '.__('No reference to <strong>add_theme_support( "custom-background", $args )</strong> was found in the theme. If the theme uses background images or solid colors for the background, then it is recommended that the theme implement this functionality.', 'theme-check' );
|
19 |
}
|
20 |
|
21 |
return $ret;
|
checks/dep_recommend.php
CHANGED
@@ -9,55 +9,22 @@ class Deprecated_Recommended implements themecheck {
|
|
9 |
$ret = true;
|
10 |
|
11 |
$checks = array(
|
12 |
-
|
13 |
-
|
14 |
-
array( '
|
15 |
-
array( '
|
16 |
-
array( '
|
17 |
-
array( '
|
18 |
-
array( '
|
19 |
-
array( '
|
20 |
-
array( 'index_rel_link' => 'none available', '3.3' ),
|
21 |
-
array( 'get_parent_post_rel_link' => 'none available', '3.3' ),
|
22 |
-
array( 'parent_post_rel_link' => 'none available', '3.3' ),
|
23 |
-
array( 'wp_admin_bar_dashboard_view_site_menu' => 'none available', '3.3' ),
|
24 |
-
array( 'is_blog_user' => 'is_member_of_blog()', '3.3' ),
|
25 |
-
array( 'debug_fopen' => 'error_log()', '3.3' ),
|
26 |
-
array( 'debug_fwrite' => 'error_log()', '3.3' ),
|
27 |
-
array( 'debug_fclose' => 'error_log()', '3.3' ),
|
28 |
-
|
29 |
-
// wp-admin deprecated
|
30 |
-
array( 'screen_layout' => '$current_screen->render_screen_layout()', '3.3' ),
|
31 |
-
array( 'screen_options' => '$current_screen->render_per_page_options()', '3.3' ),
|
32 |
-
array( 'screen_meta' => ' $current_screen->render_screen_meta()', '3.3' ),
|
33 |
-
array( 'media_upload_image' => 'wp_media_upload_handler()', '3.3' ),
|
34 |
-
array( 'media_upload_audio' => 'wp_media_upload_handler()', '3.3' ),
|
35 |
-
array( 'media_upload_video' => 'wp_media_upload_handler()', '3.3' ),
|
36 |
-
array( 'media_upload_file' => 'wp_media_upload_handler()', '3.3' ),
|
37 |
-
array( 'type_url_form_image' => 'wp_media_insert_url_form( \'image\' )', '3.3' ),
|
38 |
-
array( 'type_url_form_audio' => 'wp_media_insert_url_form( \'audio\' )', '3.3' ),
|
39 |
-
array( 'type_url_form_video' => 'wp_media_insert_url_form( \'video\' )', '3.3' ),
|
40 |
-
array( 'type_url_form_file' => 'wp_media_insert_url_form( \'file\' )', '3.3' ),
|
41 |
-
array( 'add_contextual_help' => 'get_current_screen()->add_help_tab()', '3.3' ),
|
42 |
-
|
43 |
-
// frontend
|
44 |
-
array( 'get_themes' => 'wp_get_themes()', '3.4' ),
|
45 |
-
array( 'get_theme' => 'wp_get_theme()', '3.4' ),
|
46 |
-
array( 'get_current_theme' => 'wp_get_theme()', '3.4' ),
|
47 |
-
array( 'clean_pre' => 'none available', '3.4' ),
|
48 |
-
array( 'add_custom_image_header' => 'add_theme_support( \'custom-header\', $args )', '3.4' ),
|
49 |
-
array( 'remove_custom_image_header' => 'remove_theme_support( \'custom-header\' )', '3.4' ),
|
50 |
-
array( 'add_custom_background' => 'add_theme_support( \'custom-background\', $args )', '3.4' ),
|
51 |
-
array( 'remove_custom_background' => 'remove_theme_support( \'custom-background\' )', '3.4' ),
|
52 |
-
array( 'get_theme_data' => 'wp_get_theme()', '3.4' ),
|
53 |
-
array( 'update_page_cache' => 'update_post_cache()', '3.4' ),
|
54 |
-
array( 'clean_page_cache' => 'clean_post_cache()', '3.4' ),
|
55 |
|
56 |
-
|
57 |
-
array( '
|
58 |
-
array( '
|
59 |
-
array( '
|
60 |
-
)
|
|
|
|
|
61 |
|
62 |
foreach ( $php_files as $php_key => $phpfile ) {
|
63 |
foreach ( $checks as $alt => $check ) {
|
@@ -70,7 +37,25 @@ class Deprecated_Recommended implements themecheck {
|
|
70 |
$error = ltrim( rtrim( $matches[0], '(' ) );
|
71 |
$version = $check[0];
|
72 |
$grep = tc_grep( $error, $php_key );
|
73 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
74 |
}
|
75 |
}
|
76 |
}
|
9 |
$ret = true;
|
10 |
|
11 |
$checks = array(
|
12 |
+
array( 'preview_theme' => '', '4.3' ),
|
13 |
+
array( '_preview_theme_template_filter' => '', '4.3' ),
|
14 |
+
array( '_preview_theme_stylesheet_filter' => '', '4.3' ),
|
15 |
+
array( 'preview_theme_ob_filter' => '', '4.3' ),
|
16 |
+
array( 'preview_theme_ob_filter_callback' => '', '4.3' ),
|
17 |
+
array( 'wp_richedit_pre' => '', '4.3' ),
|
18 |
+
array( 'wp_htmledit_pre' => '', '4.3' ),
|
19 |
+
array( 'wp_ajax_wp_fullscreen_save_post' => '', '4.3' ),
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
20 |
|
21 |
+
array( 'post_permalink' => 'get_permalink', '4.4'),
|
22 |
+
array( 'wp_get_http' => 'WP_Http', '4.4'),
|
23 |
+
array( 'force_ssl_login' => 'force_ssl_admin', '4.4'),
|
24 |
+
array( 'create_empty_blog' => '', '4.4'),
|
25 |
+
array( 'get_admin_users_for_domain' => '', '4.4'),
|
26 |
+
//array( 'flush_widget_cache' => '', '4.4'),
|
27 |
+
);
|
28 |
|
29 |
foreach ( $php_files as $php_key => $phpfile ) {
|
30 |
foreach ( $checks as $alt => $check ) {
|
37 |
$error = ltrim( rtrim( $matches[0], '(' ) );
|
38 |
$version = $check[0];
|
39 |
$grep = tc_grep( $error, $php_key );
|
40 |
+
|
41 |
+
// Point out the deprecated function.
|
42 |
+
$error_msg = sprintf(
|
43 |
+
__( '%1$s found in the file %2$s. Deprecated since version %3$s.', 'theme-check' ),
|
44 |
+
'<strong>' . $error . '()</strong>',
|
45 |
+
'<strong>' . $filename . '</strong>',
|
46 |
+
'<strong>' . $version . '</strong>'
|
47 |
+
);
|
48 |
+
|
49 |
+
// Add alternative function when available.
|
50 |
+
if ( $alt ) {
|
51 |
+
$error_msg .= ' ' . sprintf( __( 'Use %s instead.', 'theme-check' ), '<strong>' . $alt . '</strong>' );
|
52 |
+
}
|
53 |
+
|
54 |
+
// Add the precise code match that was found.
|
55 |
+
$error_msg .= $grep;
|
56 |
+
|
57 |
+
// Add the finalized error message.
|
58 |
+
$this->error[] = '<span class="tc-lead tc-recommended">' . __('RECOMMENDED','theme-check') . '</span>: ' . $error_msg;
|
59 |
}
|
60 |
}
|
61 |
}
|
checks/deprecated.php
CHANGED
@@ -10,8 +10,8 @@ class Deprecated implements themecheck {
|
|
10 |
|
11 |
$checks = array(
|
12 |
// start wp-includes deprecated
|
13 |
-
array( '
|
14 |
-
array( 'start_wp' => '
|
15 |
array( 'the_category_id' => 'get_the_category()', '0.71' ),
|
16 |
array( 'the_category_head' => 'get_the_category_by_ID()', '0.71' ),
|
17 |
array( 'previous_post' => 'previous_post_link()', '2.0' ),
|
@@ -30,7 +30,7 @@ class Deprecated implements themecheck {
|
|
30 |
array( 'get_linkobjects' => 'get_bookmarks()', '2.1' ),
|
31 |
array( 'get_linksbyname_withrating' => 'get_bookmarks()', '2.1' ),
|
32 |
array( 'get_links_withrating' => 'get_bookmarks()', '2.1' ),
|
33 |
-
array( 'get_autotoggle' => '
|
34 |
array( 'list_cats' => 'wp_list_categories', '2.1' ),
|
35 |
array( 'wp_list_cats' => 'wp_list_categories', '2.1' ),
|
36 |
array( 'dropdown_cats' => 'wp_dropdown_categories()', '2.1' ),
|
@@ -46,7 +46,7 @@ class Deprecated implements themecheck {
|
|
46 |
array( 'wp_get_links' => 'wp_list_bookmarks()', '2.1' ),
|
47 |
array( 'get_links' => 'get_bookmarks()', '2.1' ),
|
48 |
array( 'get_links_list' => 'wp_list_bookmarks()', '2.1' ),
|
49 |
-
array( 'links_popup_script' => '
|
50 |
array( 'get_linkrating' => 'sanitize_bookmark_field()', '2.1' ),
|
51 |
array( 'get_linkcatname' => 'get_category()', '2.1' ),
|
52 |
array( 'comments_rss_link' => 'post_comments_feed_link()', '2.5' ),
|
@@ -54,7 +54,7 @@ class Deprecated implements themecheck {
|
|
54 |
array( 'get_author_rss_link' => 'get_author_feed_link()', '2.5' ),
|
55 |
array( 'comments_rss' => 'get_post_comments_feed_link()', '2.2' ),
|
56 |
array( 'create_user' => 'wp_create_user()', '2.0' ),
|
57 |
-
array( 'gzip_compression' => '
|
58 |
array( 'get_commentdata' => 'get_comment()', '2.7' ),
|
59 |
array( 'get_catname' => 'get_cat_name()', '2.8' ),
|
60 |
array( 'get_category_children' => 'get_term_children', '2.8' ),
|
@@ -83,7 +83,7 @@ class Deprecated implements themecheck {
|
|
83 |
array( 'get_the_author_ID' => 'get_the_author_meta(\'ID\')', '2.8' ),
|
84 |
array( 'the_author_ID' => 'the_author_meta(\'ID\')', '2.8' ),
|
85 |
array( 'the_content_rss' => 'the_content_feed()', '2.9' ),
|
86 |
-
array( 'make_url_footnote' => '
|
87 |
array( '_c' => '_x()', '2.9' ),
|
88 |
array( 'translate_with_context' => '_x()', '3.0' ),
|
89 |
array( 'nc' => 'nx()', '3.0' ),
|
@@ -110,57 +110,191 @@ class Deprecated implements themecheck {
|
|
110 |
array( 'automatic_feed_links' => 'add_theme_support( \'automatic-feed-links\' )', '3.0' ),
|
111 |
array( 'get_profile' => 'get_the_author_meta()', '3.0' ),
|
112 |
array( 'get_usernumposts' => 'count_user_posts()', '3.0' ),
|
113 |
-
array( 'funky_javascript_callback' => '
|
114 |
-
array( 'funky_javascript_fix' => '
|
115 |
array( 'is_taxonomy' => 'taxonomy_exists()', '3.0' ),
|
116 |
array( 'is_term' => 'term_exists()', '3.0' ),
|
117 |
array( 'is_plugin_page' => '$plugin_page and/or get_plugin_page_hookname() hooks', '3.1' ),
|
118 |
array( 'update_category_cache' => 'No alternatives', '3.1' ),
|
119 |
array( 'get_users_of_blog' => 'get_users()', '3.1' ),
|
120 |
-
array( 'wp_timezone_supported' => '
|
121 |
-
|
122 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
123 |
|
124 |
-
// start wp-admin deprecated
|
125 |
array( 'tinymce_include' => 'wp_tiny_mce()', '2.1' ),
|
126 |
-
|
127 |
-
array( '
|
|
|
128 |
array( 'dropdown_categories' => 'wp_category_checklist()','2.6' ),
|
129 |
array( 'dropdown_link_categories' => 'wp_link_category_checklist()','2.6' ),
|
|
|
130 |
array( 'wp_dropdown_cats' => 'wp_dropdown_categories()','3.0' ),
|
131 |
array( 'add_option_update_handler' => 'register_setting()','3.0' ),
|
132 |
array( 'remove_option_update_handler' => 'unregister_setting()','3.0' ),
|
133 |
-
array( 'codepress_get_lang' => '
|
134 |
-
array( 'codepress_footer_js' => '
|
135 |
-
array( 'use_codepress' => '
|
136 |
-
array( '
|
137 |
-
|
138 |
-
array( '
|
139 |
-
array( '
|
|
|
|
|
140 |
array( 'WP_User_Search' => 'WP_User_Query','3.1' ),
|
141 |
-
array( 'get_others_unpublished_posts' => '
|
142 |
-
array( 'get_others_drafts' => '
|
143 |
-
array( 'get_others_pending' => '
|
144 |
-
|
|
|
145 |
array( 'wp_tiny_mce' => 'wp_editor', '3.2' ),
|
146 |
array( 'wp_preload_dialogs' => 'wp_editor()', '3.2' ),
|
147 |
array( 'wp_print_editor_js' => 'wp_editor()', '3.2' ),
|
148 |
array( 'wp_quicktags' => 'wp_editor()', '3.2' ),
|
149 |
array( 'favorite_actions' => 'WP_Admin_Bar', '3.2' ),
|
150 |
-
|
151 |
-
)
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
152 |
foreach ( $php_files as $php_key => $phpfile ) {
|
153 |
foreach ( $checks as $alt => $check ) {
|
154 |
checkcount();
|
155 |
-
$version = $check;
|
156 |
$key = key( $check );
|
157 |
$alt = $check[ $key ];
|
158 |
-
if ( preg_match( '/[\s?]' . $key . '\(/', $phpfile, $matches ) ) {
|
159 |
$filename = tc_filename( $php_key );
|
160 |
$error = ltrim( rtrim( $matches[0], '(' ) );
|
161 |
$version = $check[0];
|
162 |
$grep = tc_grep( $error, $php_key );
|
163 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
164 |
$ret = false;
|
165 |
}
|
166 |
}
|
@@ -170,4 +304,4 @@ class Deprecated implements themecheck {
|
|
170 |
|
171 |
function getError() { return $this->error; }
|
172 |
}
|
173 |
-
$themechecks[] = new Deprecated;
|
10 |
|
11 |
$checks = array(
|
12 |
// start wp-includes deprecated
|
13 |
+
array( 'get_postdata' => 'get_post()', '1.5.1' ),
|
14 |
+
array( 'start_wp' => 'the Loop', '1.5' ),
|
15 |
array( 'the_category_id' => 'get_the_category()', '0.71' ),
|
16 |
array( 'the_category_head' => 'get_the_category_by_ID()', '0.71' ),
|
17 |
array( 'previous_post' => 'previous_post_link()', '2.0' ),
|
30 |
array( 'get_linkobjects' => 'get_bookmarks()', '2.1' ),
|
31 |
array( 'get_linksbyname_withrating' => 'get_bookmarks()', '2.1' ),
|
32 |
array( 'get_links_withrating' => 'get_bookmarks()', '2.1' ),
|
33 |
+
array( 'get_autotoggle' => '', '2.1' ),
|
34 |
array( 'list_cats' => 'wp_list_categories', '2.1' ),
|
35 |
array( 'wp_list_cats' => 'wp_list_categories', '2.1' ),
|
36 |
array( 'dropdown_cats' => 'wp_dropdown_categories()', '2.1' ),
|
46 |
array( 'wp_get_links' => 'wp_list_bookmarks()', '2.1' ),
|
47 |
array( 'get_links' => 'get_bookmarks()', '2.1' ),
|
48 |
array( 'get_links_list' => 'wp_list_bookmarks()', '2.1' ),
|
49 |
+
array( 'links_popup_script' => '', '2.1' ),
|
50 |
array( 'get_linkrating' => 'sanitize_bookmark_field()', '2.1' ),
|
51 |
array( 'get_linkcatname' => 'get_category()', '2.1' ),
|
52 |
array( 'comments_rss_link' => 'post_comments_feed_link()', '2.5' ),
|
54 |
array( 'get_author_rss_link' => 'get_author_feed_link()', '2.5' ),
|
55 |
array( 'comments_rss' => 'get_post_comments_feed_link()', '2.2' ),
|
56 |
array( 'create_user' => 'wp_create_user()', '2.0' ),
|
57 |
+
array( 'gzip_compression' => '', '2.5' ),
|
58 |
array( 'get_commentdata' => 'get_comment()', '2.7' ),
|
59 |
array( 'get_catname' => 'get_cat_name()', '2.8' ),
|
60 |
array( 'get_category_children' => 'get_term_children', '2.8' ),
|
83 |
array( 'get_the_author_ID' => 'get_the_author_meta(\'ID\')', '2.8' ),
|
84 |
array( 'the_author_ID' => 'the_author_meta(\'ID\')', '2.8' ),
|
85 |
array( 'the_content_rss' => 'the_content_feed()', '2.9' ),
|
86 |
+
array( 'make_url_footnote' => '', '2.9' ),
|
87 |
array( '_c' => '_x()', '2.9' ),
|
88 |
array( 'translate_with_context' => '_x()', '3.0' ),
|
89 |
array( 'nc' => 'nx()', '3.0' ),
|
110 |
array( 'automatic_feed_links' => 'add_theme_support( \'automatic-feed-links\' )', '3.0' ),
|
111 |
array( 'get_profile' => 'get_the_author_meta()', '3.0' ),
|
112 |
array( 'get_usernumposts' => 'count_user_posts()', '3.0' ),
|
113 |
+
array( 'funky_javascript_callback' => '', '3.0' ),
|
114 |
+
array( 'funky_javascript_fix' => '', '3.0' ),
|
115 |
array( 'is_taxonomy' => 'taxonomy_exists()', '3.0' ),
|
116 |
array( 'is_term' => 'term_exists()', '3.0' ),
|
117 |
array( 'is_plugin_page' => '$plugin_page and/or get_plugin_page_hookname() hooks', '3.1' ),
|
118 |
array( 'update_category_cache' => 'No alternatives', '3.1' ),
|
119 |
array( 'get_users_of_blog' => 'get_users()', '3.1' ),
|
120 |
+
array( 'wp_timezone_supported' => '', '3.2' ),
|
121 |
+
array( 'the_editor' => 'wp_editor', '3.3' ),
|
122 |
+
array( 'get_user_metavalues' => '', '3.3' ),
|
123 |
+
array( 'sanitize_user_object' => '', '3.3' ),
|
124 |
+
array( 'get_boundary_post_rel_link' => '', '3.3' ),
|
125 |
+
array( 'start_post_rel_link' => 'none available ', '3.3' ),
|
126 |
+
array( 'get_index_rel_link' => '', '3.3' ),
|
127 |
+
array( 'index_rel_link' => '', '3.3' ),
|
128 |
+
array( 'get_parent_post_rel_link' => '', '3.3' ),
|
129 |
+
array( 'parent_post_rel_link' => '', '3.3' ),
|
130 |
+
array( 'wp_admin_bar_dashboard_view_site_menu' => '', '3.3' ),
|
131 |
+
array( 'is_blog_user' => 'is_member_of_blog()', '3.3' ),
|
132 |
+
array( 'debug_fopen' => 'error_log()', '3.3' ),
|
133 |
+
array( 'debug_fwrite' => 'error_log()', '3.3' ),
|
134 |
+
array( 'debug_fclose' => 'error_log()', '3.3' ),
|
135 |
+
array( 'get_themes' => 'wp_get_themes()', '3.4' ),
|
136 |
+
array( 'get_theme' => 'wp_get_theme()', '3.4' ),
|
137 |
+
array( 'get_current_theme' => 'wp_get_theme()', '3.4' ),
|
138 |
+
array( 'clean_pre' => '', '3.4' ),
|
139 |
+
array( 'add_custom_image_header' => 'add_theme_support( \'custom-header\', $args )', '3.4' ),
|
140 |
+
array( 'remove_custom_image_header' => 'remove_theme_support( \'custom-header\' )', '3.4' ),
|
141 |
+
array( 'add_custom_background' => 'add_theme_support( \'custom-background\', $args )', '3.4' ),
|
142 |
+
array( 'remove_custom_background' => 'remove_theme_support( \'custom-background\' )', '3.4' ),
|
143 |
+
array( 'get_theme_data' => 'wp_get_theme()', '3.4' ),
|
144 |
+
array( 'update_page_cache' => 'update_post_cache()', '3.4' ),
|
145 |
+
array( 'clean_page_cache' => 'clean_post_cache()', '3.4' ),
|
146 |
+
array( 'wp_explain_nonce' => 'wp_nonce_ays', '3.4.1' ),
|
147 |
+
array( 'sticky_class' => 'post_class()', '3.5' ),
|
148 |
+
array( '_get_post_ancestors' => '', '3.5' ),
|
149 |
+
array( 'wp_load_image' => 'wp_get_image_editor()', '3.5' ),
|
150 |
+
array( 'image_resize' => 'wp_get_image_editor()', '3.5' ),
|
151 |
+
array( 'wp_get_single_post' => 'get_post()', '3.5' ),
|
152 |
+
array( 'user_pass_ok' => 'wp_authenticate()', '3.5' ),
|
153 |
+
array( '_save_post_hook' => '', '3.5' ),
|
154 |
+
array( 'gd_edit_image_support' => 'wp_image_editor_supports', '3.5' ),
|
155 |
+
array( 'get_user_id_from_string' => 'get_user_by()', '3.6' ),
|
156 |
+
array( 'wp_convert_bytes_to_hr' => 'size_format()', '3.6' ),
|
157 |
|
|
|
158 |
array( 'tinymce_include' => 'wp_tiny_mce()', '2.1' ),
|
159 |
+
|
160 |
+
array( 'documentation_link' => '', '2.5' ),
|
161 |
+
|
162 |
array( 'dropdown_categories' => 'wp_category_checklist()','2.6' ),
|
163 |
array( 'dropdown_link_categories' => 'wp_link_category_checklist()','2.6' ),
|
164 |
+
|
165 |
array( 'wp_dropdown_cats' => 'wp_dropdown_categories()','3.0' ),
|
166 |
array( 'add_option_update_handler' => 'register_setting()','3.0' ),
|
167 |
array( 'remove_option_update_handler' => 'unregister_setting()','3.0' ),
|
168 |
+
array( 'codepress_get_lang' => '','3.0' ),
|
169 |
+
array( 'codepress_footer_js' => '','3.0' ),
|
170 |
+
array( 'use_codepress' => '','3.0' ),
|
171 |
+
array( 'wp_shrink_dimensions' => 'wp_constrain_dimensions()','3.0' ),
|
172 |
+
|
173 |
+
array( 'get_author_user_ids' => '','3.1' ),
|
174 |
+
array( 'get_editable_authors' => '','3.1' ),
|
175 |
+
array( 'get_editable_user_ids' => '','3.1' ),
|
176 |
+
array( 'get_nonauthor_user_ids' => '','3.1' ),
|
177 |
array( 'WP_User_Search' => 'WP_User_Query','3.1' ),
|
178 |
+
array( 'get_others_unpublished_posts' => '','3.1' ),
|
179 |
+
array( 'get_others_drafts' => '','3.1' ),
|
180 |
+
array( 'get_others_pending' => '', '3.1' ),
|
181 |
+
|
182 |
+
array( 'wp_dashboard_quick_press()' => '', '3.2' ),
|
183 |
array( 'wp_tiny_mce' => 'wp_editor', '3.2' ),
|
184 |
array( 'wp_preload_dialogs' => 'wp_editor()', '3.2' ),
|
185 |
array( 'wp_print_editor_js' => 'wp_editor()', '3.2' ),
|
186 |
array( 'wp_quicktags' => 'wp_editor()', '3.2' ),
|
187 |
array( 'favorite_actions' => 'WP_Admin_Bar', '3.2' ),
|
188 |
+
|
189 |
+
array( 'screen_layout' => '$current_screen->render_screen_layout()', '3.3' ),
|
190 |
+
array( 'screen_options' => '$current_screen->render_per_page_options()', '3.3' ),
|
191 |
+
array( 'screen_meta' => ' $current_screen->render_screen_meta()', '3.3' ),
|
192 |
+
array( 'media_upload_image' => 'wp_media_upload_handler()', '3.3' ),
|
193 |
+
array( 'media_upload_audio' => 'wp_media_upload_handler()', '3.3' ),
|
194 |
+
array( 'media_upload_video' => 'wp_media_upload_handler()', '3.3' ),
|
195 |
+
array( 'media_upload_file' => 'wp_media_upload_handler()', '3.3' ),
|
196 |
+
array( 'type_url_form_image' => 'wp_media_insert_url_form( \'image\' )', '3.3' ),
|
197 |
+
array( 'type_url_form_audio' => 'wp_media_insert_url_form( \'audio\' )', '3.3' ),
|
198 |
+
array( 'type_url_form_video' => 'wp_media_insert_url_form( \'video\' )', '3.3' ),
|
199 |
+
array( 'type_url_form_file' => 'wp_media_insert_url_form( \'file\' )', '3.3' ),
|
200 |
+
array( 'add_contextual_help' => 'get_current_screen()->add_help_tab()', '3.3' ),
|
201 |
+
|
202 |
+
array( 'get_allowed_themes' => 'wp_get_themes( array( \'allowed\' => true ) )', '3.4' ),
|
203 |
+
array( 'get_broken_themes' => 'wp_get_themes( array( \'errors\' => true )', '3.4' ),
|
204 |
+
array( 'current_theme_info' => 'wp_get_theme()', '3.4' ),
|
205 |
+
|
206 |
+
array( '_insert_into_post_button' => '', '3.5' ),
|
207 |
+
array( '_media_button' => '', '3.5' ),
|
208 |
+
array( 'get_post_to_edit' => 'get_post()', '3.5' ),
|
209 |
+
array( 'get_default_page_to_edit' => 'get_default_post_to_edit()', '3.5' ),
|
210 |
+
array( 'wp_create_thumbnail' => 'image_resize()', '3.5' ),
|
211 |
+
|
212 |
+
array( 'wp_nav_menu_locations_meta_box' => '', '3.6' ),
|
213 |
+
|
214 |
+
array( 'the_attachment_links' => '', '3.7'),
|
215 |
+
array( 'wp_update_core' => 'new Core_Upgrader()', '3.7'),
|
216 |
+
array( 'wp_update_plugin' => 'new Plugin_Upgrader()', '3.7'),
|
217 |
+
array( 'wp_update_theme' => 'new Theme_Upgrader()', '3.7'),
|
218 |
+
array( '_search_terms_tidy' => '', '3.7' ),
|
219 |
+
array( 'get_blogaddress_by_domain' => '', '3.7' ),
|
220 |
+
|
221 |
+
array( 'get_screen_icon' => '', '3.8' ),
|
222 |
+
array( 'screen_icon' => '', '3.8' ),
|
223 |
+
array( 'wp_dashboard_incoming_links' => '', '3.8' ),
|
224 |
+
array( 'wp_dashboard_incoming_links_control' => '', '3.8' ),
|
225 |
+
array( 'wp_dashboard_incoming_links_output' => '', '3.8' ),
|
226 |
+
array( 'wp_dashboard_plugins' => '', '3.8' ),
|
227 |
+
array( 'wp_dashboard_primary_control' => '', '3.8' ),
|
228 |
+
array( 'wp_dashboard_recent_comments_control' => '', '3.8' ),
|
229 |
+
array( 'wp_dashboard_secondary' => '', '3.8' ),
|
230 |
+
array( 'wp_dashboard_secondary_control' => '', '3.8' ),
|
231 |
+
array( 'wp_dashboard_secondary_output' => '', '3.8' ),
|
232 |
+
|
233 |
+
array( 'rich_edit_exists' => '', '3.9'),
|
234 |
+
array( 'default_topic_count_text' => '', '3.9'),
|
235 |
+
array( 'format_to_post' => '', '3.9'),
|
236 |
+
array( 'get_current_site_name' => 'get_current_site()', '3.9'),
|
237 |
+
array( 'wpmu_current_site' => '', '3.9'),
|
238 |
+
array( '_relocate_children' => '', '3.9' ),
|
239 |
+
|
240 |
+
array( 'get_all_category_ids' => 'get_terms()', '4.0' ),
|
241 |
+
array( 'like_escape' => 'wpdb::esc_like()', '4.0' ),
|
242 |
+
array( 'url_is_accessable_via_ssl' => '', '4.0' ),
|
243 |
+
array( 'get_all_category_ids' => 'get_terms()', '4.0' ),
|
244 |
+
array( 'like_escape' => 'wpdb::esc_like()', '4.0' ),
|
245 |
+
array( 'url_is_accessable_via_ssl' => '', '4.0' ),
|
246 |
+
|
247 |
+
array( 'prepare_control' => '', '4.1' ),
|
248 |
+
array( 'add_tab' => '', '4.1' ),
|
249 |
+
array( 'remove_tab' => '', '4.1' ),
|
250 |
+
array( 'print_tab_image' => '', '4.1' ),
|
251 |
+
|
252 |
+
array( 'setup_widget_addition_previews' => 'customize_dynamic_setting_args', '4.2' ),
|
253 |
+
array( 'prepreview_added_sidebars_widgets' => 'customize_dynamic_setting_args', '4.2' ),
|
254 |
+
array( 'prepreview_added_widget_instance' => 'customize_dynamic_setting_args', '4.2' ),
|
255 |
+
array( 'remove_prepreview_filters' => 'customize_dynamic_setting_args', '4.2' ),
|
256 |
+
|
257 |
+
array( 'wp_get_http' => 'WP_Http', '4.4' ),
|
258 |
+
|
259 |
+
array( 'is_comments_popup' => '', '4.5' ),
|
260 |
+
array( 'add_object_page' => 'add_menu_page', '4.5' ),
|
261 |
+
array( 'add_utility_page' => 'add_menu_page', '4.5' ),
|
262 |
+
array( 'get_comments_popup_template' => '', '4.5' ),
|
263 |
+
array( 'comments_popup_script' => '', '4.5' ),
|
264 |
+
array( 'popuplinks' => '', '4.5' ),
|
265 |
+
array( 'get_currentuserinfo' => 'wp_get_current_user', '4.5' ),
|
266 |
+
|
267 |
+
);
|
268 |
foreach ( $php_files as $php_key => $phpfile ) {
|
269 |
foreach ( $checks as $alt => $check ) {
|
270 |
checkcount();
|
|
|
271 |
$key = key( $check );
|
272 |
$alt = $check[ $key ];
|
273 |
+
if ( preg_match( '/(?<!function)[\s?]' . $key . '\s?\(/', $phpfile, $matches ) ) {
|
274 |
$filename = tc_filename( $php_key );
|
275 |
$error = ltrim( rtrim( $matches[0], '(' ) );
|
276 |
$version = $check[0];
|
277 |
$grep = tc_grep( $error, $php_key );
|
278 |
+
|
279 |
+
// Point out the deprecated function.
|
280 |
+
$error_msg = sprintf(
|
281 |
+
__( '%1$s found in the file %2$s. Deprecated since version %3$s.', 'theme-check' ),
|
282 |
+
'<strong>' . $error . '()</strong>',
|
283 |
+
'<strong>' . $filename . '</strong>',
|
284 |
+
'<strong>' . $version . '</strong>'
|
285 |
+
);
|
286 |
+
|
287 |
+
// Add alternative function when available.
|
288 |
+
if ( $alt ) {
|
289 |
+
$error_msg .= ' ' . sprintf( __( 'Use %s instead.', 'theme-check' ), '<strong>' . $alt . '</strong>' );
|
290 |
+
}
|
291 |
+
|
292 |
+
// Add the precise code match that was found.
|
293 |
+
$error_msg .= $grep;
|
294 |
+
|
295 |
+
// Add the finalized error message.
|
296 |
+
$this->error[] = '<span class="tc-lead tc-required">' . __('REQUIRED','theme-check') . '</span>: ' . $error_msg;
|
297 |
+
|
298 |
$ret = false;
|
299 |
}
|
300 |
}
|
304 |
|
305 |
function getError() { return $this->error; }
|
306 |
}
|
307 |
+
$themechecks[] = new Deprecated;
|
checks/deregister.php
ADDED
@@ -0,0 +1,30 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
class DeregisterCheck implements themecheck {
|
3 |
+
protected $error = array();
|
4 |
+
|
5 |
+
function check( $php_files, $css_files, $other_files ) {
|
6 |
+
|
7 |
+
$ret = true;
|
8 |
+
checkcount();
|
9 |
+
|
10 |
+
foreach ( $php_files as $file_path => $file_content ) {
|
11 |
+
|
12 |
+
$filename = tc_filename( $file_path );
|
13 |
+
|
14 |
+
if ( preg_match( '/wp_deregister_script/', $file_content) ) {
|
15 |
+
|
16 |
+
$error = '/wp_deregister_script/';
|
17 |
+
$grep = tc_preg( $error, $file_path );
|
18 |
+
|
19 |
+
$this->error[] = sprintf( '<span class="tc-lead tc-warning">' . __('WARNING','theme-check') . '</span>: ' . __( 'Found wp_deregister_script in %1$s. Themes must not deregister core scripts.', 'theme-check' ),
|
20 |
+
'<strong>' . $filename . '</strong>') . $grep;
|
21 |
+
$ret = false;
|
22 |
+
}
|
23 |
+
}
|
24 |
+
return $ret;
|
25 |
+
|
26 |
+
}
|
27 |
+
|
28 |
+
function getError() { return $this->error; }
|
29 |
+
}
|
30 |
+
$themechecks[] = new DeregisterCheck;
|
checks/directories.php
CHANGED
@@ -15,16 +15,16 @@ class DirectoriesCheck implements themecheck {
|
|
15 |
|
16 |
foreach ( $css_files as $name => $file ) {
|
17 |
checkcount();
|
18 |
-
if ( strpos( $name, '.git' ) !== false || strpos( $name, '.svn' ) !== false ) $found = true;
|
19 |
}
|
20 |
|
21 |
foreach ( $other_files as $name => $file ) {
|
22 |
checkcount();
|
23 |
-
if ( strpos( $name, '.git' ) !== false || strpos( $name, '.svn' ) !== false ) $found = true;
|
24 |
}
|
25 |
-
|
26 |
if ($found) {
|
27 |
-
$this->error[] = sprintf(
|
28 |
$ret = false;
|
29 |
}
|
30 |
|
15 |
|
16 |
foreach ( $css_files as $name => $file ) {
|
17 |
checkcount();
|
18 |
+
if ( strpos( $name, '.git' ) !== false || strpos( $name, '.svn' ) !== false || strpos( $name, '.hg' ) !== false || strpos( $name, '.bzr' ) !== false ) $found = true;
|
19 |
}
|
20 |
|
21 |
foreach ( $other_files as $name => $file ) {
|
22 |
checkcount();
|
23 |
+
if ( strpos( $name, '.git' ) !== false || strpos( $name, '.svn' ) !== false || strpos( $name, '.hg' ) !== false || strpos( $name, '.bzr' ) !== false ) $found = true;
|
24 |
}
|
25 |
+
|
26 |
if ($found) {
|
27 |
+
$this->error[] = sprintf('<span class="tc-lead tc-required">' . __( 'REQUIRED', 'theme-check' ) . '</span>: ' . __( 'Please remove any extraneous directories like .git or .svn from the ZIP file before uploading it.', 'theme-check') );
|
28 |
$ret = false;
|
29 |
}
|
30 |
|
checks/editorstyle.php
CHANGED
@@ -10,7 +10,7 @@ class EditorStyleCheck implements themecheck {
|
|
10 |
$php = implode( ' ', $php_files );
|
11 |
|
12 |
if ( strpos( $php, 'add_editor_style' ) === false ) {
|
13 |
-
$this->error[] =
|
14 |
}
|
15 |
|
16 |
return $ret;
|
10 |
$php = implode( ' ', $php_files );
|
11 |
|
12 |
if ( strpos( $php, 'add_editor_style' ) === false ) {
|
13 |
+
$this->error[] = '<span class="tc-lead tc-recommended">'.__('RECOMMENDED','theme-check').'</span>: '.__('No reference to <strong>add_editor_style()</strong> was found in the theme. It is recommended that the theme implement editor styling, so as to make the editor content match the resulting post output in the theme, for a better user experience.', 'theme-check' );
|
14 |
}
|
15 |
|
16 |
return $ret;
|
checks/favicon.php
ADDED
@@ -0,0 +1,26 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
|
3 |
+
class FaviconCheck implements themecheck {
|
4 |
+
protected $error = array();
|
5 |
+
|
6 |
+
function check( $php_files, $css_files, $other_files ) {
|
7 |
+
|
8 |
+
$ret = true;
|
9 |
+
|
10 |
+
checkcount();
|
11 |
+
|
12 |
+
foreach ( $php_files as $file_path => $file_content ) {
|
13 |
+
|
14 |
+
$filename = tc_filename( $file_path );
|
15 |
+
|
16 |
+
if ( preg_match( '/(<link rel=[\'"]icon[\'"])|(<link rel=[\'"]apple-touch-icon-precomposed[\'"])|(<meta name=[\'"]msapplication-TileImage[\'"])/', $file_content, $matches ) ) {
|
17 |
+
$this->error[] = sprintf( '<span class="tc-lead tc-info">' . __('INFO','theme-check') . '</span>: ' . __( 'Possible Favicon found in %1$s. Favicons are handled by the Site Icon setting in the customizer since version 4.3.', 'theme-check' ),
|
18 |
+
'<strong>' . $filename . '</strong>');
|
19 |
+
}
|
20 |
+
}
|
21 |
+
return $ret;
|
22 |
+
}
|
23 |
+
|
24 |
+
function getError() { return $this->error; }
|
25 |
+
}
|
26 |
+
$themechecks[] = new FaviconCheck;
|
checks/filenames.php
CHANGED
@@ -18,43 +18,44 @@ class File_Checks implements themecheck {
|
|
18 |
array_push( $filenames, strtolower( basename( $php_key ) ) );
|
19 |
}
|
20 |
$blacklist = array(
|
21 |
-
'thumbs.db' => __( 'Windows thumbnail store', '
|
22 |
-
'desktop.ini' => __( 'windows system file', '
|
23 |
-
'project.properties' => __( 'NetBeans Project File', '
|
24 |
-
'project.xml' => __( 'NetBeans Project File', '
|
25 |
-
'\.kpf' => __( 'Komodo Project File', '
|
26 |
-
'^\.+[a-zA-Z0-9]' => __( 'Hidden Files or Folders', '
|
27 |
-
'php.ini' => __( 'PHP server settings file', '
|
28 |
-
'dwsync.xml' => __( 'Dreamweaver project file', '
|
29 |
-
'error_log' => __( 'PHP error log', '
|
30 |
-
'web.config' => __( 'Server settings file', '
|
31 |
-
'\.sql' => __( 'SQL dump file', '
|
32 |
-
'__MACOSX' => __( 'OSX system file', '
|
|
|
33 |
);
|
34 |
|
35 |
-
$musthave = array( 'index.php', '
|
36 |
-
$rechave = array( 'readme.txt' => __( 'Please see <a href="
|
37 |
|
38 |
checkcount();
|
39 |
|
40 |
foreach( $blacklist as $file => $reason ) {
|
41 |
if ( $filename = preg_grep( '/' . $file . '/', $filenames ) ) {
|
42 |
$error = implode( array_unique( $filename ), ' ' );
|
43 |
-
$this->error[] = sprintf(
|
44 |
$ret = false;
|
45 |
}
|
46 |
}
|
47 |
|
48 |
foreach( $musthave as $file ) {
|
49 |
if ( !in_array( $file, $filenames ) ) {
|
50 |
-
$this->error[] = sprintf(
|
51 |
$ret = false;
|
52 |
}
|
53 |
}
|
54 |
|
55 |
foreach( $rechave as $file => $reason ) {
|
56 |
if ( !in_array( $file, $filenames ) ) {
|
57 |
-
$this->error[] = sprintf(
|
58 |
}
|
59 |
}
|
60 |
|
@@ -63,4 +64,4 @@ class File_Checks implements themecheck {
|
|
63 |
|
64 |
function getError() { return $this->error; }
|
65 |
}
|
66 |
-
$themechecks[] = new File_Checks;
|
18 |
array_push( $filenames, strtolower( basename( $php_key ) ) );
|
19 |
}
|
20 |
$blacklist = array(
|
21 |
+
'thumbs.db' => __( 'Windows thumbnail store', 'theme-check' ),
|
22 |
+
'desktop.ini' => __( 'windows system file', 'theme-check' ),
|
23 |
+
'project.properties' => __( 'NetBeans Project File', 'theme-check' ),
|
24 |
+
'project.xml' => __( 'NetBeans Project File', 'theme-check' ),
|
25 |
+
'\.kpf' => __( 'Komodo Project File', 'theme-check' ),
|
26 |
+
'^\.+[a-zA-Z0-9]' => __( 'Hidden Files or Folders', 'theme-check' ),
|
27 |
+
'php.ini' => __( 'PHP server settings file', 'theme-check' ),
|
28 |
+
'dwsync.xml' => __( 'Dreamweaver project file', 'theme-check' ),
|
29 |
+
'error_log' => __( 'PHP error log', 'theme-check' ),
|
30 |
+
'web.config' => __( 'Server settings file', 'theme-check' ),
|
31 |
+
'\.sql' => __( 'SQL dump file', 'theme-check' ),
|
32 |
+
'__MACOSX' => __( 'OSX system file', 'theme-check' ),
|
33 |
+
'\.lubith' => __( 'Lubith theme generator file', 'theme-check' ),
|
34 |
);
|
35 |
|
36 |
+
$musthave = array( 'index.php', 'style.css' );
|
37 |
+
$rechave = array( 'readme.txt' => __( 'Please see <a href="https://codex.wordpress.org/Theme_Review#Theme_Documentation">Theme_Documentation</a> for more information.', 'theme-check' ) );
|
38 |
|
39 |
checkcount();
|
40 |
|
41 |
foreach( $blacklist as $file => $reason ) {
|
42 |
if ( $filename = preg_grep( '/' . $file . '/', $filenames ) ) {
|
43 |
$error = implode( array_unique( $filename ), ' ' );
|
44 |
+
$this->error[] = sprintf('<span class="tc-lead tc-warning">'.__('WARNING','theme-check').'</span>: '.__('%1$s %2$s found.', 'theme-check'), '<strong>' . $error . '</strong>', $reason) ;
|
45 |
$ret = false;
|
46 |
}
|
47 |
}
|
48 |
|
49 |
foreach( $musthave as $file ) {
|
50 |
if ( !in_array( $file, $filenames ) ) {
|
51 |
+
$this->error[] = sprintf('<span class="tc-lead tc-warning">'.__('WARNING','theme-check').'</span>: '.__('Could not find the file %s in the theme.', 'theme-check'), '<strong>' . $file . '</strong>' );
|
52 |
$ret = false;
|
53 |
}
|
54 |
}
|
55 |
|
56 |
foreach( $rechave as $file => $reason ) {
|
57 |
if ( !in_array( $file, $filenames ) ) {
|
58 |
+
$this->error[] = sprintf('<span class="tc-lead tc-recommended">'.__('RECOMMENDED','theme-check').'</span>: '.__('Could not find the file %1$s in the theme. %2$s', 'theme-check'), '<strong>' . $file . '</strong>', $reason );
|
59 |
}
|
60 |
}
|
61 |
|
64 |
|
65 |
function getError() { return $this->error; }
|
66 |
}
|
67 |
+
$themechecks[] = new File_Checks;
|
checks/{artisteer.php → generated.php}
RENAMED
@@ -1,6 +1,6 @@
|
|
1 |
<?php
|
2 |
|
3 |
-
class
|
4 |
protected $error = array();
|
5 |
|
6 |
function check( $php_files, $css_files, $other_files) {
|
@@ -12,16 +12,25 @@ class ArtisteerCheck implements themecheck {
|
|
12 |
|
13 |
$ret = true;
|
14 |
if (
|
|
|
15 |
strpos( $php, 'art_normalize_widget_style_tokens' ) !== false
|
16 |
|| strpos( $php, 'art_include_lib' ) !== false
|
17 |
-
|| strpos( $php, '_remove_last_slash($url) {' ) !== false
|
18 |
|| strpos( $php, 'adi_normalize_widget_style_tokens' ) !== false
|
19 |
|| strpos( $php, 'm_normalize_widget_style_tokens' ) !== false
|
20 |
|| strpos ( $php, "bw = '<!--- BEGIN Widget --->';" ) !== false
|
21 |
|| strpos ( $php, "ew = '<!-- end_widget -->';" ) !== false
|
22 |
|| strpos ( $php, "end_widget' => '<!-- end_widget -->'") !== false
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
23 |
) {
|
24 |
-
$this->error[] = "<span class='tc-lead tc-warning'>WARNING</span>: " . __( 'This theme appears to have been auto-generated. Generated themes are not allowed in the themes directory.', '
|
25 |
$ret = false;
|
26 |
}
|
27 |
|
@@ -30,4 +39,4 @@ class ArtisteerCheck implements themecheck {
|
|
30 |
|
31 |
function getError() { return $this->error; }
|
32 |
}
|
33 |
-
$themechecks[] = new
|
1 |
<?php
|
2 |
|
3 |
+
class GeneratedCheck implements themecheck {
|
4 |
protected $error = array();
|
5 |
|
6 |
function check( $php_files, $css_files, $other_files) {
|
12 |
|
13 |
$ret = true;
|
14 |
if (
|
15 |
+
//Artisteer
|
16 |
strpos( $php, 'art_normalize_widget_style_tokens' ) !== false
|
17 |
|| strpos( $php, 'art_include_lib' ) !== false
|
18 |
+
|| strpos( $php, '_remove_last_slash($url) {' ) !== false
|
19 |
|| strpos( $php, 'adi_normalize_widget_style_tokens' ) !== false
|
20 |
|| strpos( $php, 'm_normalize_widget_style_tokens' ) !== false
|
21 |
|| strpos ( $php, "bw = '<!--- BEGIN Widget --->';" ) !== false
|
22 |
|| strpos ( $php, "ew = '<!-- end_widget -->';" ) !== false
|
23 |
|| strpos ( $php, "end_widget' => '<!-- end_widget -->'") !== false
|
24 |
+
//Lubith
|
25 |
+
|| strpos ( $php, "Lubith") !== false
|
26 |
+
//Templatetoaster
|
27 |
+
|| strpos ( $php, "templatetoaster_") !== false
|
28 |
+
|| strpos ( $php, "Templatetoaster_") !== false
|
29 |
+
|| strpos ( $php, "@package templatetoaster") !== false
|
30 |
+
//wpthemegenerator
|
31 |
+
|| strpos ( $php, "wptg_") !== false
|
32 |
) {
|
33 |
+
$this->error[] = "<span class='tc-lead tc-warning'>" . __('WARNING', 'theme-check' ). "</span>: " . __( 'This theme appears to have been auto-generated. Generated themes are not allowed in the themes directory.', 'theme-check' );
|
34 |
$ret = false;
|
35 |
}
|
36 |
|
39 |
|
40 |
function getError() { return $this->error; }
|
41 |
}
|
42 |
+
$themechecks[] = new GeneratedCheck;
|
checks/gravatar.php
CHANGED
@@ -12,7 +12,7 @@ class GravatarCheck implements themecheck {
|
|
12 |
$ret = true;
|
13 |
|
14 |
if ( ( strpos( $php, 'get_avatar' ) === false ) && ( strpos( $php, 'wp_list_comments' ) === false ) ) {
|
15 |
-
$this->error[] =
|
16 |
$ret = false;
|
17 |
}
|
18 |
|
12 |
$ret = true;
|
13 |
|
14 |
if ( ( strpos( $php, 'get_avatar' ) === false ) && ( strpos( $php, 'wp_list_comments' ) === false ) ) {
|
15 |
+
$this->error[] = '<span class="tc-lead tc-required">'.__('REQUIRED','theme-check').'</span>: '.__("This theme doesn't seem to support the standard avatar functions. Use <strong>get_avatar</strong> or <strong>wp_list_comments</strong> to add this support.", 'theme-check' );
|
16 |
$ret = false;
|
17 |
}
|
18 |
|
checks/i18n.php
CHANGED
@@ -9,13 +9,13 @@ class I18NCheck implements themecheck {
|
|
9 |
$ret = true;
|
10 |
$error = '';
|
11 |
checkcount();
|
12 |
-
|
13 |
// make sure the tokenizer is available
|
14 |
if ( !function_exists( 'token_get_all' ) ) return true;
|
15 |
|
16 |
foreach ( $php_files as $php_key => $phpfile ) {
|
17 |
$error='';
|
18 |
-
|
19 |
$stmts = array();
|
20 |
foreach ( array('_e(', '__(', '_e (', '__ (') as $finder) {
|
21 |
$search = $phpfile;
|
@@ -36,7 +36,7 @@ class I18NCheck implements themecheck {
|
|
36 |
$search = substr($search,$i);
|
37 |
}
|
38 |
}
|
39 |
-
|
40 |
foreach ( $stmts as $match ) {
|
41 |
$tokens = @token_get_all('<?php '.$match.';');
|
42 |
if (!empty($tokens)) {
|
@@ -45,16 +45,22 @@ class I18NCheck implements themecheck {
|
|
45 |
$filename = tc_filename( $php_key );
|
46 |
$grep = tc_grep( ltrim( $match ), $php_key );
|
47 |
preg_match( '/[^\s]*\s[0-9]+/', $grep, $line);
|
48 |
-
$error =
|
49 |
-
|
50 |
-
$
|
|
|
|
|
|
|
|
|
|
|
|
|
51 |
break; // stop looking at the tokens on this line once a variable is found
|
52 |
}
|
53 |
}
|
54 |
}
|
55 |
}
|
56 |
-
|
57 |
-
|
58 |
}
|
59 |
return $ret;
|
60 |
}
|
9 |
$ret = true;
|
10 |
$error = '';
|
11 |
checkcount();
|
12 |
+
|
13 |
// make sure the tokenizer is available
|
14 |
if ( !function_exists( 'token_get_all' ) ) return true;
|
15 |
|
16 |
foreach ( $php_files as $php_key => $phpfile ) {
|
17 |
$error='';
|
18 |
+
|
19 |
$stmts = array();
|
20 |
foreach ( array('_e(', '__(', '_e (', '__ (') as $finder) {
|
21 |
$search = $phpfile;
|
36 |
$search = substr($search,$i);
|
37 |
}
|
38 |
}
|
39 |
+
|
40 |
foreach ( $stmts as $match ) {
|
41 |
$tokens = @token_get_all('<?php '.$match.';');
|
42 |
if (!empty($tokens)) {
|
45 |
$filename = tc_filename( $php_key );
|
46 |
$grep = tc_grep( ltrim( $match ), $php_key );
|
47 |
preg_match( '/[^\s]*\s[0-9]+/', $grep, $line);
|
48 |
+
$error = '';
|
49 |
+
if ( isset( $line[0] ) ) {
|
50 |
+
$error = ( !strpos( $error, $line[0] ) ) ? $grep : '';
|
51 |
+
}
|
52 |
+
$this->error[] = sprintf('<span class="tc-lead tc-recommended">'.__('RECOMMENDED','theme-check').'</span>: '.__('Possible variable %1$s found in translation function in %2$s. Translation function calls must NOT contain PHP variables. %3$s','theme-check'),
|
53 |
+
'<strong>' . $token[1] . '</strong>',
|
54 |
+
'<strong>' . $filename . '</strong>',
|
55 |
+
$error
|
56 |
+
);
|
57 |
break; // stop looking at the tokens on this line once a variable is found
|
58 |
}
|
59 |
}
|
60 |
}
|
61 |
}
|
62 |
+
|
63 |
+
|
64 |
}
|
65 |
return $ret;
|
66 |
}
|
checks/iframes.php
CHANGED
@@ -6,7 +6,7 @@ class IframeCheck implements themecheck {
|
|
6 |
$ret = true;
|
7 |
|
8 |
$checks = array(
|
9 |
-
'/<(iframe)[^>]*>/' => __( 'iframes are sometimes used to load unwanted adverts and code on your site', '
|
10 |
);
|
11 |
|
12 |
foreach ( $php_files as $php_key => $phpfile ) {
|
@@ -17,7 +17,7 @@ class IframeCheck implements themecheck {
|
|
17 |
$error = ltrim( $matches[1], '(' );
|
18 |
$error = rtrim( $error, '(' );
|
19 |
$grep = tc_grep( $error, $php_key );
|
20 |
-
$this->error[] = sprintf(
|
21 |
}
|
22 |
}
|
23 |
}
|
6 |
$ret = true;
|
7 |
|
8 |
$checks = array(
|
9 |
+
'/<(iframe)[^>]*>/' => __( 'iframes are sometimes used to load unwanted adverts and code on your site', 'theme-check' )
|
10 |
);
|
11 |
|
12 |
foreach ( $php_files as $php_key => $phpfile ) {
|
17 |
$error = ltrim( $matches[1], '(' );
|
18 |
$error = rtrim( $error, '(' );
|
19 |
$grep = tc_grep( $error, $php_key );
|
20 |
+
$this->error[] = sprintf('<span class="tc-lead tc-info">'.__('INFO','theme-check').'</span>: '.__('%1$s was found in the file %2$s %3$s.%4$s', 'theme-check'), '<strong>' . $error . '</strong>', '<strong>' . $filename . '</strong>', $check, $grep ) ;
|
21 |
}
|
22 |
}
|
23 |
}
|
checks/include.php
CHANGED
@@ -7,16 +7,16 @@ class IncludeCheck implements themecheck {
|
|
7 |
|
8 |
$ret = true;
|
9 |
|
10 |
-
$checks = array( '/(?<![a-z0-9_])(?:requir|includ)e(?:_once)?\s
|
11 |
|
12 |
foreach ( $php_files as $php_key => $phpfile ) {
|
13 |
foreach ( $checks as $key => $check ) {
|
14 |
checkcount();
|
15 |
if ( preg_match( $key, $phpfile, $matches ) ) {
|
16 |
$filename = tc_filename( $php_key );
|
17 |
-
$error = '/(?<![a-z0-9_])(?:requir|includ)e(?:_once)?\s
|
18 |
$grep = tc_preg( $error, $php_key );
|
19 |
-
if ( basename($filename) !== 'functions.php' ) $this->error[] = sprintf (
|
20 |
}
|
21 |
}
|
22 |
|
7 |
|
8 |
$ret = true;
|
9 |
|
10 |
+
$checks = array( '/(?<![a-z0-9_])(?:requir|includ)e(?:_once)?\s?[\'"\(]/' => __( 'The theme appears to use include or require. If these are being used to include separate sections of a template from independent files, then <strong>get_template_part()</strong> should be used instead.', 'theme-check' ) );
|
11 |
|
12 |
foreach ( $php_files as $php_key => $phpfile ) {
|
13 |
foreach ( $checks as $key => $check ) {
|
14 |
checkcount();
|
15 |
if ( preg_match( $key, $phpfile, $matches ) ) {
|
16 |
$filename = tc_filename( $php_key );
|
17 |
+
$error = '/(?<![a-z0-9_])(?:requir|includ)e(?:_once)?\s?[\'"\(]/';
|
18 |
$grep = tc_preg( $error, $php_key );
|
19 |
+
if ( basename($filename) !== 'functions.php' ) $this->error[] = sprintf ( '<span class="tc-lead tc-info">'.__('INFO','theme-check').'</span>: '.__('%1$s %2$s %3$s', 'theme-check' ), '<strong>' . $filename . '</strong>', $check, $grep );
|
20 |
}
|
21 |
}
|
22 |
|
checks/included-plugins.php
ADDED
@@ -0,0 +1,34 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
class IncludedPlugins implements themecheck {
|
3 |
+
protected $error = array();
|
4 |
+
|
5 |
+
function check( $php_files, $css_files, $other_files ) {
|
6 |
+
$ret = true;
|
7 |
+
|
8 |
+
$filenames = array();
|
9 |
+
|
10 |
+
foreach ( $other_files as $other_key => $otherfile ) {
|
11 |
+
array_push( $filenames, strtolower( basename( $other_key ) ) );
|
12 |
+
}
|
13 |
+
|
14 |
+
$blacklist = array(
|
15 |
+
'\.zip' => __( 'Zipped Plugin', 'theme-check' ),
|
16 |
+
);
|
17 |
+
|
18 |
+
checkcount();
|
19 |
+
|
20 |
+
foreach ( $blacklist as $file => $reason ) {
|
21 |
+
if ( $filename = preg_grep( '/' . $file . '/', $filenames ) ) {
|
22 |
+
$error = implode( array_unique( $filename ), ' ' );
|
23 |
+
$this->error[] = sprintf( '<span class="tc-lead tc-required">' . __( 'REQUIRED','theme-check' ) . '</span>: ' . __( '<strong>Zip file found.</strong> Plugins are not allowed in themes. The zip file found was <em>%s</em>.', 'theme-check' ), $error );
|
24 |
+
$ret = false;
|
25 |
+
}
|
26 |
+
}
|
27 |
+
|
28 |
+
return $ret;
|
29 |
+
}
|
30 |
+
|
31 |
+
function getError() { return $this->error; }
|
32 |
+
}
|
33 |
+
|
34 |
+
$themechecks[] = new IncludedPlugins;
|
checks/lineendings.php
CHANGED
@@ -8,7 +8,7 @@ class LineEndingsCheck implements themecheck {
|
|
8 |
if (preg_match("/\r\n/",$phpfile)) {
|
9 |
if (preg_match("/[^\r]\n/",$phpfile)) {
|
10 |
$filename = tc_filename( $php_key );
|
11 |
-
$this->error[] = sprintf(
|
12 |
$ret = false;
|
13 |
}
|
14 |
}
|
@@ -17,18 +17,18 @@ class LineEndingsCheck implements themecheck {
|
|
17 |
if (preg_match("/\r\n/",$cssfile)) {
|
18 |
if (preg_match("/[^\r]\n/",$cssfile)) {
|
19 |
$filename = tc_filename( $css_key );
|
20 |
-
$this->error[] = sprintf(
|
21 |
$ret = false;
|
22 |
}
|
23 |
}
|
24 |
}
|
25 |
foreach ( $other_files as $oth_key => $othfile ) {
|
26 |
$e = pathinfo($oth_key);
|
27 |
-
if ( isset( $e['extension'] ) && in_array( $e['extension'], array( 'txt','js' ) ) ) {
|
28 |
if (preg_match("/\r\n/",$othfile)) {
|
29 |
if (preg_match("/[^\r]\n/",$othfile)) {
|
30 |
$filename = tc_filename( $oth_key );
|
31 |
-
$this->error[] = sprintf(
|
32 |
$ret = false;
|
33 |
}
|
34 |
}
|
8 |
if (preg_match("/\r\n/",$phpfile)) {
|
9 |
if (preg_match("/[^\r]\n/",$phpfile)) {
|
10 |
$filename = tc_filename( $php_key );
|
11 |
+
$this->error[] = sprintf('<span class="tc-lead tc-warning">'.__('WARNING','theme-check').'</span>: '.__('Both DOS and UNIX style line endings were found in the file %1$s. This causes a problem with SVN repositories and must be corrected before the theme can be accepted. Please change the file to use only one style of line endings.', 'theme-check'), '<strong>' . $filename . '</strong>' );
|
12 |
$ret = false;
|
13 |
}
|
14 |
}
|
17 |
if (preg_match("/\r\n/",$cssfile)) {
|
18 |
if (preg_match("/[^\r]\n/",$cssfile)) {
|
19 |
$filename = tc_filename( $css_key );
|
20 |
+
$this->error[] = sprintf('<span class="tc-lead tc-warning">'.__('WARNING','theme-check').'</span>: '.__('Both DOS and UNIX style line endings were found in the file %1$s. This causes a problem with SVN repositories and must be corrected before the theme can be accepted. Please change the file to use only one style of line endings.', 'theme-check'), '<strong>' . $filename . '</strong>' );
|
21 |
$ret = false;
|
22 |
}
|
23 |
}
|
24 |
}
|
25 |
foreach ( $other_files as $oth_key => $othfile ) {
|
26 |
$e = pathinfo($oth_key);
|
27 |
+
if ( isset( $e['extension'] ) && in_array( $e['extension'], array( 'txt','js' ) ) ) {
|
28 |
if (preg_match("/\r\n/",$othfile)) {
|
29 |
if (preg_match("/[^\r]\n/",$othfile)) {
|
30 |
$filename = tc_filename( $oth_key );
|
31 |
+
$this->error[] = sprintf('<span class="tc-lead tc-warning">'.__('WARNING','theme-check').'</span>: '.__('Both DOS and UNIX style line endings were found in the file %1$s. This causes a problem with SVN repositories and must be corrected before the theme can be accepted. Please change the file to use only one style of line endings.', 'theme-check'), '<strong>' . $filename . '</strong>' );
|
32 |
$ret = false;
|
33 |
}
|
34 |
}
|
checks/links.php
CHANGED
@@ -15,16 +15,15 @@ class Check_Links implements themecheck {
|
|
15 |
$space_re = '(\\s*)';
|
16 |
if ( preg_match_all( "/(<a)(\\s+)(href" . $space_re . "=" . $space_re . "\"" . $space_re . "((http|https|ftp):\\/\\/)?)" . $url_re . "(\"" . $space_re . $title_re . $space_re . ">)" . $title_re . "(<\\/a>)/is", $phpfile, $out, PREG_SET_ORDER ) ) {
|
17 |
$filename = tc_filename( $php_key );
|
18 |
-
$out = array_unique( $out );
|
19 |
foreach( $out as $key ) {
|
20 |
if ( preg_match( '/\<a\s?href\s?=\s?["|\'](.*?)[\'|"](.*?)\>(.*?)\<\/a\>/is', $key[0], $stripped ) ) {
|
21 |
if ( !empty( $data['AuthorURI'] ) && !empty( $data['URI'] ) && $stripped[1] && !strpos( $stripped[1], $data['URI'] ) && !strpos( $stripped[1], $data['AuthorURI'] ) && !strpos( $stripped[1], 'wordpress.' ) ) {
|
22 |
$grep .= tc_grep( $stripped[1], $php_key );
|
23 |
}
|
24 |
}
|
25 |
-
|
26 |
-
|
27 |
-
|
28 |
}
|
29 |
}
|
30 |
}
|
15 |
$space_re = '(\\s*)';
|
16 |
if ( preg_match_all( "/(<a)(\\s+)(href" . $space_re . "=" . $space_re . "\"" . $space_re . "((http|https|ftp):\\/\\/)?)" . $url_re . "(\"" . $space_re . $title_re . $space_re . ">)" . $title_re . "(<\\/a>)/is", $phpfile, $out, PREG_SET_ORDER ) ) {
|
17 |
$filename = tc_filename( $php_key );
|
|
|
18 |
foreach( $out as $key ) {
|
19 |
if ( preg_match( '/\<a\s?href\s?=\s?["|\'](.*?)[\'|"](.*?)\>(.*?)\<\/a\>/is', $key[0], $stripped ) ) {
|
20 |
if ( !empty( $data['AuthorURI'] ) && !empty( $data['URI'] ) && $stripped[1] && !strpos( $stripped[1], $data['URI'] ) && !strpos( $stripped[1], $data['AuthorURI'] ) && !strpos( $stripped[1], 'wordpress.' ) ) {
|
21 |
$grep .= tc_grep( $stripped[1], $php_key );
|
22 |
}
|
23 |
}
|
24 |
+
}
|
25 |
+
if ( $grep ) {
|
26 |
+
$this->error[] = sprintf('<span class="tc-lead tc-info">'.__('INFO','theme-check').'</span>: '.__('Possible hard-coded links were found in the file %1$s.%2$s', 'theme-check'), '<strong>' . $filename . '</strong>', $grep);
|
27 |
}
|
28 |
}
|
29 |
}
|
checks/malware.php
CHANGED
@@ -6,7 +6,7 @@ class MalwareCheck implements themecheck {
|
|
6 |
$ret = true;
|
7 |
|
8 |
$checks = array(
|
9 |
-
'/[^a-z0-9](?<!_)(file_get_contents|curl_exec|curl_init|readfile|fopen|fsockopen|pfsockopen|fclose|fread|fwrite|file_put_contents)\s?\(/' => __( '
|
10 |
);
|
11 |
|
12 |
foreach ( $php_files as $php_key => $phpfile ) {
|
@@ -20,10 +20,10 @@ class MalwareCheck implements themecheck {
|
|
20 |
$error = ltrim( $match, '(' );
|
21 |
$error = rtrim( $error, '(' );
|
22 |
$grep = tc_grep( $error, $php_key );
|
23 |
-
$this->error[] = sprintf(
|
24 |
$ret = false;
|
25 |
}
|
26 |
-
}
|
27 |
}
|
28 |
}
|
29 |
return $ret;
|
6 |
$ret = true;
|
7 |
|
8 |
$checks = array(
|
9 |
+
'/[^a-z0-9](?<!_)(file_get_contents|curl_exec|curl_init|readfile|fopen|fsockopen|pfsockopen|fclose|fread|fwrite|file_put_contents)\s?\(/' => __( 'File operations should use the WP_Filesystem methods instead of direct PHP filesystem calls', 'theme-check' ),
|
10 |
);
|
11 |
|
12 |
foreach ( $php_files as $php_key => $phpfile ) {
|
20 |
$error = ltrim( $match, '(' );
|
21 |
$error = rtrim( $error, '(' );
|
22 |
$grep = tc_grep( $error, $php_key );
|
23 |
+
$this->error[] = sprintf('<span class="tc-lead tc-warning">'.__('WARNING','theme-check').'</span>: '.__('%1$s was found in the file %2$s %3$s.%4$s', 'theme-check'), '<strong>' . $error. '</strong>', '<strong>' . $filename . '</strong>', $check, $grep );
|
24 |
$ret = false;
|
25 |
}
|
26 |
+
}
|
27 |
}
|
28 |
}
|
29 |
return $ret;
|
checks/more_deprecated.php
CHANGED
@@ -1,5 +1,9 @@
|
|
1 |
<?php
|
2 |
|
|
|
|
|
|
|
|
|
3 |
class More_Deprecated implements themecheck {
|
4 |
protected $error = array();
|
5 |
|
@@ -8,22 +12,50 @@ class More_Deprecated implements themecheck {
|
|
8 |
$ret = true;
|
9 |
|
10 |
$checks = array(
|
11 |
-
'get_bloginfo
|
12 |
-
|
13 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
14 |
|
15 |
-
foreach ( $php_files as $php_key => $
|
16 |
-
|
|
|
17 |
checkcount();
|
18 |
-
|
19 |
-
|
20 |
-
|
21 |
-
$
|
22 |
-
|
23 |
-
|
|
|
|
|
|
|
|
|
24 |
}
|
25 |
}
|
26 |
}
|
|
|
27 |
return $ret;
|
28 |
}
|
29 |
|
1 |
<?php
|
2 |
|
3 |
+
/**
|
4 |
+
* Checks for the use of deprecated function parameters.
|
5 |
+
*/
|
6 |
+
|
7 |
class More_Deprecated implements themecheck {
|
8 |
protected $error = array();
|
9 |
|
12 |
$ret = true;
|
13 |
|
14 |
$checks = array(
|
15 |
+
'get_bloginfo' => array(
|
16 |
+
'home' => 'home_url()',
|
17 |
+
'url' => 'home_url()',
|
18 |
+
'wpurl' => 'site_url()',
|
19 |
+
'stylesheet_directory' => 'get_stylesheet_directory_uri()',
|
20 |
+
'template_directory' => 'get_template_directory_uri()',
|
21 |
+
'template_url' => 'get_template_directory_uri()',
|
22 |
+
'text_direction' => 'is_rtl()',
|
23 |
+
'feed_url' => "get_feed_link( 'feed' ), where feed is rss, rss2 or atom",
|
24 |
+
),
|
25 |
+
'bloginfo' => array(
|
26 |
+
'home' => 'echo esc_url( home_url() )',
|
27 |
+
'url' => 'echo esc_url( home_url() )',
|
28 |
+
'wpurl' => 'echo esc_url( site_url() )',
|
29 |
+
'stylesheet_directory' => 'echo esc_url( get_stylesheet_directory_uri() )',
|
30 |
+
'template_directory' => 'echo esc_url( get_template_directory_uri() )',
|
31 |
+
'template_url' => 'echo esc_url( get_template_directory_uri() )',
|
32 |
+
'text_direction' => 'is_rtl()',
|
33 |
+
'feed_url' => "echo esc_url( get_feed_link( 'feed' ) ), where feed is rss, rss2 or atom",
|
34 |
+
),
|
35 |
+
'get_option' => array(
|
36 |
+
'home' => 'home_url()',
|
37 |
+
'site_url' => 'site_url()',
|
38 |
+
)
|
39 |
+
);
|
40 |
|
41 |
+
foreach ( $php_files as $php_key => $php_file ) {
|
42 |
+
// Loop through all functions.
|
43 |
+
foreach ( $checks as $function => $data ) {
|
44 |
checkcount();
|
45 |
+
|
46 |
+
// Loop through the parameters and look for all function/parameter combinations.
|
47 |
+
foreach ( $data as $parameter => $replacement ) {
|
48 |
+
if ( preg_match( '/' . $function . '\(\s*("|\')' . $parameter . '("|\')\s*\)/', $php_file, $matches ) ) {
|
49 |
+
$filename = tc_filename( $php_key );
|
50 |
+
$error = ltrim( rtrim( $matches[0], '(' ) );
|
51 |
+
$grep = tc_grep( $error, $php_key );
|
52 |
+
$this->error[] = sprintf( '<span class="tc-lead tc-required">' . __( 'REQUIRED', 'theme-check' ) . '</span>: ' . __( '%1$s was found in the file %2$s. Use %3$s instead.%4$s', 'theme-check' ), '<strong>' . $error . '</strong>', '<strong>' . $filename . '</strong>', '<strong>' . $replacement . '</strong>', $grep );
|
53 |
+
$ret = false;
|
54 |
+
}
|
55 |
}
|
56 |
}
|
57 |
}
|
58 |
+
|
59 |
return $ret;
|
60 |
}
|
61 |
|
checks/navmenu.php
CHANGED
@@ -11,7 +11,7 @@ class NavMenuCheck implements themecheck {
|
|
11 |
$php = implode( ' ', $php_files );
|
12 |
checkcount();
|
13 |
if ( strpos( $php, 'nav_menu' ) === false ) {
|
14 |
-
$this->error[] =
|
15 |
}
|
16 |
|
17 |
return $ret;
|
11 |
$php = implode( ' ', $php_files );
|
12 |
checkcount();
|
13 |
if ( strpos( $php, 'nav_menu' ) === false ) {
|
14 |
+
$this->error[] = '<span class="tc-lead tc-recommended">'.__('RECOMMENDED','theme-check').'</span>: '.__("No reference to nav_menu's was found in the theme. Note that if your theme has a menu bar, it is required to use the WordPress nav_menu functionality for it.", 'theme-check' );
|
15 |
}
|
16 |
|
17 |
return $ret;
|
checks/nonprintable.php
CHANGED
@@ -13,7 +13,7 @@ class NonPrintableCheck implements themecheck {
|
|
13 |
if ( preg_match('/[\x00-\x08\x0B-\x0C\x0E-\x1F\x80-\xFF]/', $content, $matches ) ) {
|
14 |
$filename = tc_filename( $name );
|
15 |
$non_print = tc_preg( '/[\x00-\x08\x0B-\x0C\x0E-\x1F\x80-\xFF]/', $name );
|
16 |
-
$this->error[] = sprintf(
|
17 |
}
|
18 |
}
|
19 |
|
13 |
if ( preg_match('/[\x00-\x08\x0B-\x0C\x0E-\x1F\x80-\xFF]/', $content, $matches ) ) {
|
14 |
$filename = tc_filename( $name );
|
15 |
$non_print = tc_preg( '/[\x00-\x08\x0B-\x0C\x0E-\x1F\x80-\xFF]/', $name );
|
16 |
+
$this->error[] = sprintf('<span class="tc-lead tc-info">'.__('INFO','theme-check').'</span>: '.__('Non-printable characters were found in the %1$s file. You may want to check this file for errors.%2$s', 'theme-check'), '<strong>' . $filename . '</strong>', $non_print);
|
17 |
}
|
18 |
}
|
19 |
|
checks/phpshort.php
CHANGED
@@ -8,10 +8,10 @@ class PHPShortTagsCheck implements themecheck {
|
|
8 |
|
9 |
foreach ( $php_files as $php_key => $phpfile ) {
|
10 |
checkcount();
|
11 |
-
if ( preg_match( '/<\?(\=?)(?!php|xml)/', $phpfile ) ) {
|
12 |
$filename = tc_filename( $php_key );
|
13 |
$grep = tc_preg( '/<\?(\=?)(?!php|xml)/', $php_key );
|
14 |
-
$this->error[] = sprintf(
|
15 |
$ret = false;
|
16 |
}
|
17 |
}
|
8 |
|
9 |
foreach ( $php_files as $php_key => $phpfile ) {
|
10 |
checkcount();
|
11 |
+
if ( preg_match( '/<\?(\=?)(?!php|xml)/i', $phpfile ) ) {
|
12 |
$filename = tc_filename( $php_key );
|
13 |
$grep = tc_preg( '/<\?(\=?)(?!php|xml)/', $php_key );
|
14 |
+
$this->error[] = sprintf('<span class="tc-lead tc-warning">'.__('WARNING','theme-check').'</span>: '.__('Found PHP short tags in file %1$s.%2$s', 'theme-check'), '<strong>' . $filename . '</strong>', $grep);
|
15 |
$ret = false;
|
16 |
}
|
17 |
}
|
checks/plugin-territory.php
ADDED
@@ -0,0 +1,41 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
/**
|
3 |
+
* Checks for Plugin Territory Guidelines.
|
4 |
+
*
|
5 |
+
* See http://make.wordpress.org/themes/guidelines/guidelines-plugin-territory/
|
6 |
+
*/
|
7 |
+
|
8 |
+
class Plugin_Territory implements themecheck {
|
9 |
+
protected $error = array();
|
10 |
+
|
11 |
+
function check( $php_files, $css_files, $other_files ) {
|
12 |
+
$ret = true;
|
13 |
+
$php = implode( ' ', $php_files );
|
14 |
+
|
15 |
+
// Functions that are required to be removed from the theme.
|
16 |
+
$forbidden_functions = array(
|
17 |
+
'register_post_type',
|
18 |
+
'register_taxonomy',
|
19 |
+
);
|
20 |
+
|
21 |
+
foreach ( $forbidden_functions as $function ) {
|
22 |
+
checkcount();
|
23 |
+
if ( preg_match( '/[\s?]' . $function . '\(/', $php ) ) {
|
24 |
+
$this->error[] = '<span class="tc-lead tc-required">' . __( 'REQUIRED', 'theme-check').'</span>: ' . sprintf( __( 'The theme uses the %s function, which is plugin-territory functionality.', 'theme-check' ), '<strong>' . esc_html( $function ) . '()</strong>' ) ;
|
25 |
+
$ret = false;
|
26 |
+
}
|
27 |
+
}
|
28 |
+
|
29 |
+
// Shortcodes can't be used in the post content, so warn about them.
|
30 |
+
if ( false !== strpos( $php, 'add_shortcode' ) ) {
|
31 |
+
checkcount();
|
32 |
+
$this->error[] = '<span class="tc-lead tc-warning">' . __( 'WARNING', 'theme-check').'</span>: ' . sprintf( __( 'The theme uses the %s function. Custom post-content shortcodes are plugin-territory functionality.', 'theme-check' ), '<strong>add_shortcode()</strong>' ) ;
|
33 |
+
$ret = false;
|
34 |
+
}
|
35 |
+
|
36 |
+
return $ret;
|
37 |
+
}
|
38 |
+
|
39 |
+
function getError() { return $this->error; }
|
40 |
+
}
|
41 |
+
$themechecks[] = new Plugin_Territory;
|
checks/post-formats.php
CHANGED
@@ -24,7 +24,7 @@ class PostFormatCheck implements themecheck {
|
|
24 |
$matches[0] = str_replace(array('"',"'"),'', $matches[0]);
|
25 |
$error = esc_html( rtrim($matches[0], '(' ) );
|
26 |
$grep = tc_grep( rtrim($matches[0], '(' ), $php_key);
|
27 |
-
$this->error[] = sprintf(
|
28 |
$ret = false;
|
29 |
}
|
30 |
}
|
24 |
$matches[0] = str_replace(array('"',"'"),'', $matches[0]);
|
25 |
$error = esc_html( rtrim($matches[0], '(' ) );
|
26 |
$grep = tc_grep( rtrim($matches[0], '(' ), $php_key);
|
27 |
+
$this->error[] = sprintf('<span class="tc-lead tc-required">'.__('REQUIRED','theme-check').'</span>: '.__('%1$s was found in the file %2$s. However get_post_format and/or has_post_format were not found, and no use of formats in the CSS was detected.', 'theme-check'), '<strong>' . $error . '</strong>', '<strong>' . $filename . '</strong>');
|
28 |
$ret = false;
|
29 |
}
|
30 |
}
|
checks/postsnav.php
CHANGED
@@ -10,10 +10,13 @@ class PostPaginationCheck implements themecheck {
|
|
10 |
// combine all the php files into one string to make it easier to search
|
11 |
$php = implode( ' ', $php_files );
|
12 |
checkcount();
|
13 |
-
if ( strpos( $php, 'posts_nav_link' ) === false &&
|
|
|
|
|
|
|
14 |
( strpos( $php, 'previous_posts_link' ) === false && strpos( $php, 'next_posts_link' ) === false )
|
15 |
) {
|
16 |
-
$this->error[] =
|
17 |
$ret = false;
|
18 |
}
|
19 |
|
10 |
// combine all the php files into one string to make it easier to search
|
11 |
$php = implode( ' ', $php_files );
|
12 |
checkcount();
|
13 |
+
if ( strpos( $php, 'posts_nav_link' ) === false &&
|
14 |
+
strpos( $php, 'paginate_links' ) === false &&
|
15 |
+
strpos( $php, 'the_posts_pagination' ) === false &&
|
16 |
+
strpos( $php, 'the_posts_navigation' ) === false &&
|
17 |
( strpos( $php, 'previous_posts_link' ) === false && strpos( $php, 'next_posts_link' ) === false )
|
18 |
) {
|
19 |
+
$this->error[] = '<span class="tc-lead tc-required">'.__('REQUIRED','theme-check').'</span>: '.__("The theme doesn't have post pagination code in it. Use <strong>posts_nav_link()</strong> or <strong>paginate_links()</strong> or <strong>the_posts_pagination()</strong> or <strong>the_posts_navigation()</strong> or <strong>next_posts_link()</strong> and <strong>previous_posts_link()</strong> to add post pagination.", 'theme-check' );
|
20 |
$ret = false;
|
21 |
}
|
22 |
|
checks/postthumb.php
CHANGED
@@ -12,11 +12,11 @@ class PostThumbnailCheck implements themecheck {
|
|
12 |
checkcount();
|
13 |
|
14 |
if ( strpos( $php, 'the_post_thumbnail' ) === false ) {
|
15 |
-
$this->error[] =
|
16 |
}
|
17 |
|
18 |
if ( strpos( $php, 'post-thumbnails' ) === false ) {
|
19 |
-
$this->error[] =
|
20 |
}
|
21 |
|
22 |
return $ret;
|
12 |
checkcount();
|
13 |
|
14 |
if ( strpos( $php, 'the_post_thumbnail' ) === false ) {
|
15 |
+
$this->error[] = '<span class="tc-lead tc-recommended">'.__('RECOMMENDED','theme-check').'</span>: '.__('No reference to <strong>the_post_thumbnail()</strong> was found in the theme. It is recommended that the theme implement this functionality instead of using custom fields for thumbnails.', 'theme-check' );
|
16 |
}
|
17 |
|
18 |
if ( strpos( $php, 'post-thumbnails' ) === false ) {
|
19 |
+
$this->error[] = '<span class="tc-lead tc-recommended">'.__('RECOMMENDED','theme-check').'</span>: '.__('No reference to post-thumbnails was found in the theme. If the theme has a thumbnail like functionality, it should be implemented with <strong>add_theme_support( "post-thumbnails" )</strong>in the functions.php file.', 'theme-check' );
|
20 |
}
|
21 |
|
22 |
return $ret;
|
checks/required.php
DELETED
@@ -1,31 +0,0 @@
|
|
1 |
-
<?php
|
2 |
-
|
3 |
-
class Required implements themecheck {
|
4 |
-
protected $error = array();
|
5 |
-
|
6 |
-
function check( $php_files, $css_files, $other_files ) {
|
7 |
-
|
8 |
-
$ret = true;
|
9 |
-
$checks = array(
|
10 |
-
'/\s?get_option\(\s?("|\')home("|\')\s?\)/' => 'home_url()',
|
11 |
-
'/\s?get_option\(\s?("|\')site_url("|\')\s?\)/' => 'site_url()',
|
12 |
-
);
|
13 |
-
|
14 |
-
foreach ( $php_files as $php_key => $phpfile ) {
|
15 |
-
foreach ( $checks as $key => $check ) {
|
16 |
-
checkcount();
|
17 |
-
if ( preg_match( $key, $phpfile, $matches ) ) {
|
18 |
-
$filename = tc_filename( $php_key );
|
19 |
-
$matches[0] = str_replace(array('"',"'"),'', $matches[0]);
|
20 |
-
$error = esc_html( rtrim($matches[0], '(' ) );
|
21 |
-
$grep = tc_grep( rtrim($matches[0], '(' ), $php_key );
|
22 |
-
$this->error[] = sprintf(__('<span class="tc-lead tc-required">REQUIRED</span>: <strong>%1$s</strong> was found in the file <strong>%2$s</strong>. Use <strong>%3$s</strong> instead.%4$s', 'themecheck'), $error, $filename, $check, $grep);
|
23 |
-
$ret = false;
|
24 |
-
}
|
25 |
-
}
|
26 |
-
}
|
27 |
-
return $ret;
|
28 |
-
}
|
29 |
-
function getError() { return $this->error; }
|
30 |
-
}
|
31 |
-
$themechecks[] = new Required;
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
checks/screenshot.php
CHANGED
@@ -12,18 +12,27 @@ class Screenshot_Checks implements themecheck {
|
|
12 |
}
|
13 |
|
14 |
checkcount();
|
15 |
-
|
|
|
|
|
16 |
foreach ( $other_files as $other_key => $otherfile ) {
|
17 |
-
|
|
|
18 |
// we have or screenshot!
|
19 |
$image = getimagesize( $other_key );
|
20 |
-
if ( $image[0] >
|
21 |
-
$this->error[] = sprintf(
|
|
|
|
|
|
|
|
|
|
|
|
|
22 |
}
|
23 |
}
|
24 |
}
|
25 |
} else {
|
26 |
-
$this->error[] =
|
27 |
$ret = false;
|
28 |
}
|
29 |
return $ret;
|
@@ -31,4 +40,4 @@ class Screenshot_Checks implements themecheck {
|
|
31 |
|
32 |
function getError() { return $this->error; }
|
33 |
}
|
34 |
-
$themechecks[] = new Screenshot_Checks;
|
12 |
}
|
13 |
|
14 |
checkcount();
|
15 |
+
|
16 |
+
if ( in_array( 'screenshot.png', $filenames ) || in_array( 'screenshot.jpg', $filenames ) ) {
|
17 |
+
|
18 |
foreach ( $other_files as $other_key => $otherfile ) {
|
19 |
+
|
20 |
+
if ( ( basename( $other_key ) === 'screenshot.png' || basename( $other_key ) === 'screenshot.jpg' ) && preg_match( '/.*themes\/[^\/]*\/screenshot\.(png|jpg)/', $other_key ) ) {
|
21 |
// we have or screenshot!
|
22 |
$image = getimagesize( $other_key );
|
23 |
+
if ( $image[0] > 1200 || $image[1] > 900 ) {
|
24 |
+
$this->error[] = sprintf('<span class="tc-lead tc-recommended">'. __( 'RECOMMENDED','theme-check' ) . '</span>: ' . __( 'Screenshot is wrong size! Detected: %1$sx%2$spx. Maximum allowed size is 1200x900px.', 'theme-check' ), '<strong>' . $image[0], $image[1] . '</strong>' );
|
25 |
+
}
|
26 |
+
if ( $image[1] / $image[0] != 0.75 ) {
|
27 |
+
$this->error[] = '<span class="tc-lead tc-recommended">'.__('RECOMMENDED','theme-check').'</span>: '.__('Screenshot dimensions are wrong! Ratio of width to height should be 4:3.', 'theme-check');
|
28 |
+
}
|
29 |
+
if ( $image[0] != 1200 || $image[1] != 900 ) {
|
30 |
+
$this->error[] = '<span class="tc-lead tc-recommended">'.__('RECOMMENDED','theme-check').'</span>: '.__('Screenshot size should be 1200x900, to account for HiDPI displays. Any 4:3 image size is acceptable, but 1200x900 is preferred.', 'theme-check');
|
31 |
}
|
32 |
}
|
33 |
}
|
34 |
} else {
|
35 |
+
$this->error[] = '<span class="tc-lead tc-warning">'.__('WARNING','theme-check').'</span>: '.__('No screenshot detected! Please include a screenshot.png or screenshot.jpg.', 'theme-check' );
|
36 |
$ret = false;
|
37 |
}
|
38 |
return $ret;
|
40 |
|
41 |
function getError() { return $this->error; }
|
42 |
}
|
43 |
+
$themechecks[] = new Screenshot_Checks;
|
checks/searchform.php
CHANGED
@@ -6,14 +6,14 @@ class SearchFormCheck implements themecheck {
|
|
6 |
function check( $php_files, $css_files, $other_files ) {
|
7 |
|
8 |
$ret = true;
|
9 |
-
$checks = array( '/(include\s?\(\s?TEMPLATEPATH\s?\.?\s?["|\']\/searchform.php["|\']\s?\))/' => __( 'Please use <strong>get_search_form()</strong> instead of including searchform.php directly.', '
|
10 |
foreach ( $php_files as $php_key => $phpfile ) {
|
11 |
foreach ($checks as $key => $check) {
|
12 |
checkcount();
|
13 |
if ( preg_match( $key, $phpfile, $out ) ) {
|
14 |
$grep = tc_preg( $key, $php_key );
|
15 |
$filename = tc_filename( $php_key );
|
16 |
-
$this->error[] = sprintf(
|
17 |
$ret = false;
|
18 |
}
|
19 |
}
|
6 |
function check( $php_files, $css_files, $other_files ) {
|
7 |
|
8 |
$ret = true;
|
9 |
+
$checks = array( '/(include\s?\(\s?TEMPLATEPATH\s?\.?\s?["|\']\/searchform.php["|\']\s?\))/' => __( 'Please use <strong>get_search_form()</strong> instead of including searchform.php directly.', 'theme-check' ) );
|
10 |
foreach ( $php_files as $php_key => $phpfile ) {
|
11 |
foreach ($checks as $key => $check) {
|
12 |
checkcount();
|
13 |
if ( preg_match( $key, $phpfile, $out ) ) {
|
14 |
$grep = tc_preg( $key, $php_key );
|
15 |
$filename = tc_filename( $php_key );
|
16 |
+
$this->error[] = sprintf('<span class="tc-lead tc-required">'.__('REQUIRED','theme-check').'</span>: '.__('%1$s %2$s%3$s', 'theme-check'), '<strong>' . $filename . '</strong>', $check, $grep);
|
17 |
$ret = false;
|
18 |
}
|
19 |
}
|
checks/style_needed.php
CHANGED
@@ -8,26 +8,28 @@ class Style_Needed implements themecheck {
|
|
8 |
$ret = true;
|
9 |
|
10 |
$checks = array(
|
11 |
-
'[ \t\/*#]*Theme Name:' => __( '<strong>Theme name:</strong> is missing from your style.css header.', '
|
12 |
-
'[ \t\/*#]*Description:' => __( '<strong>Description:</strong> is missing from your style.css header.', '
|
13 |
-
'[ \t\/*#]*Author:' => __( '<strong>Author:</strong> is missing from your style.css header.', '
|
14 |
-
'[ \t\/*#]*Version' => __( '<strong>Version:</strong> is missing from your style.css header.', '
|
15 |
-
'[ \t\/*#]*License:' => __( '<strong>License:</strong> is missing from your style.css header.', '
|
16 |
-
'[ \t\/*#]*License URI:' => __( '<strong>License URI:</strong> is missing from your style.css header.', '
|
17 |
-
'
|
18 |
-
'\.
|
19 |
-
'\.
|
20 |
-
'\.
|
21 |
-
'\.
|
22 |
-
'\.
|
23 |
-
'\.wp-caption
|
24 |
-
'\.
|
|
|
|
|
25 |
);
|
26 |
|
27 |
foreach ($checks as $key => $check) {
|
28 |
checkcount();
|
29 |
if ( !preg_match( '/' . $key . '/i', $css, $matches ) ) {
|
30 |
-
$this->error[] =
|
31 |
$ret = false;
|
32 |
}
|
33 |
}
|
@@ -36,4 +38,4 @@ class Style_Needed implements themecheck {
|
|
36 |
}
|
37 |
function getError() { return $this->error; }
|
38 |
}
|
39 |
-
$themechecks[] = new Style_Needed;
|
8 |
$ret = true;
|
9 |
|
10 |
$checks = array(
|
11 |
+
'[ \t\/*#]*Theme Name:' => __( '<strong>Theme name:</strong> is missing from your style.css header.', 'theme-check' ),
|
12 |
+
'[ \t\/*#]*Description:' => __( '<strong>Description:</strong> is missing from your style.css header.', 'theme-check' ),
|
13 |
+
'[ \t\/*#]*Author:' => __( '<strong>Author:</strong> is missing from your style.css header.', 'theme-check' ),
|
14 |
+
'[ \t\/*#]*Version' => __( '<strong>Version:</strong> is missing from your style.css header.', 'theme-check' ),
|
15 |
+
'[ \t\/*#]*License:' => __( '<strong>License:</strong> is missing from your style.css header.', 'theme-check' ),
|
16 |
+
'[ \t\/*#]*License URI:' => __( '<strong>License URI:</strong> is missing from your style.css header.', 'theme-check' ),
|
17 |
+
'[ \t\/*#]*Text Domain:' => __( '<strong>Text Domain:</strong> is missing from your style.css header.', 'theme-check' ),
|
18 |
+
'\.sticky' => __( '<strong>.sticky</strong> css class is needed in your theme css.', 'theme-check' ),
|
19 |
+
'\.bypostauthor' => __( '<strong>.bypostauthor</strong> css class is needed in your theme css.', 'theme-check' ),
|
20 |
+
'\.alignleft' => __( '<strong>.alignleft</strong> css class is needed in your theme css.', 'theme-check' ),
|
21 |
+
'\.alignright' => __( '<strong>.alignright</strong> css class is needed in your theme css.', 'theme-check' ),
|
22 |
+
'\.aligncenter' => __( '<strong>.aligncenter</strong> css class is needed in your theme css.', 'theme-check' ),
|
23 |
+
'\.wp-caption' => __( '<strong>.wp-caption</strong> css class is needed in your theme css.', 'theme-check' ),
|
24 |
+
'\.wp-caption-text' => __( '<strong>.wp-caption-text</strong> css class is needed in your theme css.', 'theme-check' ),
|
25 |
+
'\.gallery-caption' => __( '<strong>.gallery-caption</strong> css class is needed in your theme css.', 'theme-check' ),
|
26 |
+
'\.screen-reader-text' => __( '<strong>.screen-reader-text</strong> css class is needed in your theme css. See See: <a href="http://codex.wordpress.org/CSS#WordPress_Generated_Classes">the Codex</a> for an example implementation.', 'theme-check' )
|
27 |
);
|
28 |
|
29 |
foreach ($checks as $key => $check) {
|
30 |
checkcount();
|
31 |
if ( !preg_match( '/' . $key . '/i', $css, $matches ) ) {
|
32 |
+
$this->error[] = "<span class='tc-lead tc-required'>" . __('REQUIRED', 'theme-check' ) . "</span>: " . $check;
|
33 |
$ret = false;
|
34 |
}
|
35 |
}
|
38 |
}
|
39 |
function getError() { return $this->error; }
|
40 |
}
|
41 |
+
$themechecks[] = new Style_Needed;
|
checks/style_suggested.php
CHANGED
@@ -17,7 +17,7 @@ class Style_Suggested implements themecheck {
|
|
17 |
|
18 |
foreach ($checks as $key => $check) {
|
19 |
if ( !preg_match( '/' . $key . '/i', $css, $matches ) ) {
|
20 |
-
$this->error[] = sprintf(
|
21 |
}
|
22 |
}
|
23 |
|
17 |
|
18 |
foreach ($checks as $key => $check) {
|
19 |
if ( !preg_match( '/' . $key . '/i', $css, $matches ) ) {
|
20 |
+
$this->error[] = sprintf('<span class="tc-lead tc-recommended">'.__('RECOMMENDED','theme-check').'</span>: '.__('%s is missing from your style.css header.', 'theme-check'), '<strong>' . $check . '</strong>' );
|
21 |
}
|
22 |
}
|
23 |
|
checks/style_tags.php
CHANGED
@@ -13,26 +13,31 @@ class Style_Tags implements themecheck {
|
|
13 |
}
|
14 |
|
15 |
if ( !$data[ 'Tags' ] ) {
|
16 |
-
$this->error[] =
|
17 |
return $ret;
|
18 |
}
|
|
|
|
|
19 |
|
20 |
-
$allowed_tags = array("black","blue","brown","gray","green","orange","pink","purple","red","silver","tan","white","yellow","dark","light","one-column",
|
21 |
-
"two-columns","three-columns","four-columns","left-sidebar","right-sidebar","fixed-width","flexible-width","blavatar","buddypress","custom-background",
|
22 |
-
"custom-colors","custom-header","custom-menu","editor-style","featured-image-header","featured-images","front-page-post-form","full-width-template",
|
23 |
-
"microformats","post-formats","rtl-language-support","sticky-post","theme-options","threaded-comments","translation-ready","holiday","photoblogging",
|
24 |
-
"seasonal");
|
25 |
-
|
26 |
foreach( $data[ 'Tags' ] as $tag ) {
|
27 |
-
|
28 |
-
|
29 |
-
$
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
30 |
}
|
31 |
}
|
32 |
-
|
33 |
return $ret;
|
34 |
}
|
35 |
|
36 |
function getError() { return $this->error; }
|
37 |
}
|
38 |
-
$themechecks[] = new Style_Tags;
|
13 |
}
|
14 |
|
15 |
if ( !$data[ 'Tags' ] ) {
|
16 |
+
$this->error[] = '<span class="tc-lead tc-recommended">' . __('RECOMMENDED','theme-check') . '</span>: ' . __( '<strong>Tags:</strong> is either empty or missing in style.css header.', 'theme-check' );
|
17 |
return $ret;
|
18 |
}
|
19 |
+
$deprecated_tags = array("flexible-width","fixed-width","black","blue","brown","gray","green","orange","pink","purple","red","silver","tan","white","yellow","dark","light","fixed-layout","fluid-layout","responsive-layout","blavatar","holiday","photoblogging","seasonal");
|
20 |
+
$allowed_tags = array('grid-layout',"one-column","two-columns","three-columns","four-columns","left-sidebar","right-sidebar","flexible-header",'footer-widgets',"accessibility-ready","buddypress","custom-background","custom-colors","custom-header","custom-menu","custom-logo","editor-style","featured-image-header","featured-images","front-page-post-form","full-width-template","microformats","post-formats","rtl-language-support","sticky-post","theme-options","threaded-comments","translation-ready",'blog','e-commerce','education','entertainment','food-and-drink','holiday','news','photography','portfolio');
|
21 |
|
|
|
|
|
|
|
|
|
|
|
|
|
22 |
foreach( $data[ 'Tags' ] as $tag ) {
|
23 |
+
|
24 |
+
if ( strpos( strtolower( $tag ), "accessibility-ready") !== false ) {
|
25 |
+
$this->error[] = '<span class="tc-lead tc-info">'. __('INFO','theme-check'). '</span>: ' . __( 'Themes that use the tag accessibility-ready will need to undergo an accessibility review.','theme-check' ) . ' ' . __('See <a href="https://make.wordpress.org/themes/handbook/review/accessibility/">https://make.wordpress.org/themes/handbook/review/accessibility/</a>', 'theme-check' );
|
26 |
+
}
|
27 |
+
|
28 |
+
if ( ! in_array( strtolower( $tag ), $allowed_tags ) ) {
|
29 |
+
if ( in_array( strtolower( $tag ), $deprecated_tags ) ) {
|
30 |
+
$this->error[] = '<span class="tc-lead tc-warning">'. __('WARNING','theme-check'). '</span>: ' . sprintf( __('The tag %s has been deprecated, please remove it from your style.css header.', 'theme-check'), '<strong>' . $tag . '</strong>' );
|
31 |
+
} else {
|
32 |
+
$this->error[] = '<span class="tc-lead tc-warning">'. __('WARNING','theme-check'). '</span>: ' . sprintf( __('Found wrong tag, remove %s from your style.css header.', 'theme-check'), '<strong>' . $tag . '</strong>' );
|
33 |
+
$ret = false;
|
34 |
+
}
|
35 |
}
|
36 |
}
|
37 |
+
|
38 |
return $ret;
|
39 |
}
|
40 |
|
41 |
function getError() { return $this->error; }
|
42 |
}
|
43 |
+
$themechecks[] = new Style_Tags;
|
checks/suggested.php
DELETED
@@ -1,43 +0,0 @@
|
|
1 |
-
<?php
|
2 |
-
class Suggested implements themecheck {
|
3 |
-
protected $error = array();
|
4 |
-
|
5 |
-
function check( $php_files, $css_files, $other_files ) {
|
6 |
-
|
7 |
-
$ret = true;
|
8 |
-
|
9 |
-
$checks = array(
|
10 |
-
'/[\s|]get_bloginfo\(\s?("|\')url("|\')\s?\)/' => 'home_url()',
|
11 |
-
'/[\s|]get_bloginfo\(\s?("|\')wpurl("|\')\s?\)/' => 'site_url()',
|
12 |
-
'/[\s|]get_bloginfo\(\s?("|\')stylesheet_directory("|\')\s?\)/' => 'get_stylesheet_directory_uri()',
|
13 |
-
'/[\s|]get_bloginfo\(\s?("|\')template_directory("|\')\s?\)/' => 'get_template_directory_uri()',
|
14 |
-
'/[\s|]get_bloginfo\(\s?("|\')template_url("|\')\s?\)/' => 'get_template_directory_uri()',
|
15 |
-
'/[\s|]get_bloginfo\(\s?("|\')text_direction("|\')\s?\)/' => 'is_rtl()',
|
16 |
-
'/[\s|]get_bloginfo\(\s?("|\')feed_url("|\')\s?\)/' => 'get_feed_link( \'feed\' ) (where feed is rss, rss2, atom)',
|
17 |
-
'/[\s|]bloginfo\(\s?("|\')url("|\')\s?\)/' => 'echo home_url()',
|
18 |
-
'/[\s|]bloginfo\(\s?("|\')wpurl("|\')\s?\)/' => 'echo site_url()',
|
19 |
-
'/[\s|]bloginfo\(\s?("|\')stylesheet_directory("|\')\s?\)/' => 'get_stylesheet_directory_uri()',
|
20 |
-
'/[\s|]bloginfo\(\s?("|\')template_directory("|\')\s?\)/' => 'get_template_directory_uri()',
|
21 |
-
'/[\s|]bloginfo\(\s?("|\')template_url("|\')\s?\)/' => 'get_template_directory_uri()',
|
22 |
-
'/[\s|]bloginfo\(\s?("|\')text_direction("|\')\s?\)/' => 'is_rtl()',
|
23 |
-
'/[\s|]bloginfo\(\s?("|\')feed_url("|\')\s?\)/' => 'get_feed_link( \'feed\' ) (where feed is rss, rss2, atom)',
|
24 |
-
);
|
25 |
-
|
26 |
-
foreach ( $php_files as $php_key => $phpfile ) {
|
27 |
-
foreach ( $checks as $key => $check ) {
|
28 |
-
checkcount();
|
29 |
-
if ( preg_match( $key, $phpfile, $matches ) ) {
|
30 |
-
$filename = tc_filename( $php_key );
|
31 |
-
$matches[0] = str_replace(array('"',"'"),'', $matches[0]);
|
32 |
-
$error = trim( esc_html( rtrim($matches[0], '(' ) ) );
|
33 |
-
$grep = tc_grep( rtrim( $matches[0], '(' ), $php_key );
|
34 |
-
$this->error[] = sprintf(__('<span class="tc-lead tc-recommended">RECOMMENDED</span>: <strong>%1$s</strong> was found in the file <strong>%2$s</strong>. Use <strong>%3$s</strong> instead.%4$s', 'themecheck'), $error, $filename, $check, $grep);
|
35 |
-
}
|
36 |
-
}
|
37 |
-
}
|
38 |
-
return $ret;
|
39 |
-
}
|
40 |
-
|
41 |
-
function getError() { return $this->error; }
|
42 |
-
}
|
43 |
-
$themechecks[] = new Suggested;
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
checks/tags.php
CHANGED
@@ -10,7 +10,7 @@ class TagCheck implements themecheck {
|
|
10 |
checkcount();
|
11 |
$ret = true;
|
12 |
if ( strpos( $php, 'the_tags' ) === false && strpos( $php, 'get_the_tag_list' ) === false && strpos( $php, 'get_the_term_list' ) === false ) {
|
13 |
-
$this->error[] =
|
14 |
$ret = false;
|
15 |
}
|
16 |
|
10 |
checkcount();
|
11 |
$ret = true;
|
12 |
if ( strpos( $php, 'the_tags' ) === false && strpos( $php, 'get_the_tag_list' ) === false && strpos( $php, 'get_the_term_list' ) === false ) {
|
13 |
+
$this->error[] = "<span class='tc-lead tc-required'>" . __( 'REQUIRED', 'theme-check' ) . '</span>: '. __( "This theme doesn't seem to display tags. Modify it to display tags in appropriate locations.", "theme-check" );
|
14 |
$ret = false;
|
15 |
}
|
16 |
|
checks/textdomain.php
CHANGED
@@ -1,71 +1,164 @@
|
|
1 |
<?php
|
2 |
-
|
3 |
class TextDomainCheck implements themecheck {
|
4 |
protected $error = array();
|
5 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
6 |
function check( $php_files, $css_files, $other_files ) {
|
7 |
global $data, $themename;
|
|
|
8 |
$ret = true;
|
9 |
$error = '';
|
10 |
checkcount();
|
11 |
-
if ( $data['Name'] === 'Twenty Ten' || $data['Name'] === 'Twenty Eleven')
|
12 |
-
return $ret;
|
13 |
|
14 |
-
|
15 |
-
|
16 |
-
|
|
|
|
|
|
|
|
|
|
|
17 |
|
18 |
foreach ( $php_files as $php_key => $phpfile ) {
|
19 |
-
$error
|
20 |
-
|
21 |
-
|
22 |
-
|
23 |
-
|
24 |
-
|
25 |
-
|
26 |
-
|
27 |
-
|
28 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
29 |
}
|
30 |
-
$this->error[] = sprintf( __( '<span class=\'tc-lead tc-recommended\'>RECOMMENDED</span>: Text domain problems in <strong>%1$s</strong>. %2$s %3$s ', 'themecheck' ), $filename, $check, $error );
|
31 |
}
|
32 |
}
|
33 |
}
|
34 |
|
35 |
-
$
|
36 |
-
|
37 |
-
|
38 |
-
|
39 |
-
|
40 |
-
|
41 |
-
|
42 |
-
|
43 |
-
|
44 |
-
|
45 |
-
|
46 |
-
|
47 |
-
|
48 |
-
|
49 |
-
|
50 |
-
|
51 |
-
$error = tc_grep( $matches[0][$count], $php_key );
|
52 |
-
if ( $matches[1][$count] === 'twentyten' || $matches[1][$count] === 'twentyeleven' ):
|
53 |
-
$this->error[] = sprintf(__( '<span class=\'tc-lead tc-recommended\'>RECOMMENDED</span>: Text domain problems in <strong>%1$s</strong>. The twentyten text domain is being used!%2$s', 'themecheck' ), $filename, $error );
|
54 |
-
else:
|
55 |
-
if ( defined( 'TC_TEST' ) && strpos( strtolower( $themename ), $matches[1][$count] ) === false ) {
|
56 |
-
$error = tc_grep( $matches[0][$count], $php_key );
|
57 |
-
$this->error[] = sprintf( __( '<span class=\'tc-lead tc-recommended\'>RECOMMENDED</span>: Text domain problems in <strong>%1$s</strong>. %2$s You are using: <strong>%3s</strong>%4$s', 'themecheck' ), $filename, $check, $matches[1][$count], $error );
|
58 |
-
}
|
59 |
-
endif;
|
60 |
-
}
|
61 |
-
$count++;
|
62 |
-
} //end while
|
63 |
-
}
|
64 |
}
|
65 |
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
66 |
return $ret;
|
67 |
}
|
68 |
|
69 |
function getError() { return $this->error; }
|
70 |
}
|
71 |
-
$themechecks[] = new TextDomainCheck;
|
1 |
<?php
|
|
|
2 |
class TextDomainCheck implements themecheck {
|
3 |
protected $error = array();
|
4 |
|
5 |
+
// rules come from WordPress core tool makepot.php, modified by me to have domain info
|
6 |
+
var $rules = array(
|
7 |
+
'__' => array('string', 'domain'),
|
8 |
+
'_e' => array('string', 'domain'),
|
9 |
+
'_c' => array('string', 'domain'),
|
10 |
+
'_n' => array('singular', 'plural', 'domain'),
|
11 |
+
'_n_noop' => array('singular', 'plural', 'domain'),
|
12 |
+
'_nc' => array('singular', 'plural', 'domain'),
|
13 |
+
'__ngettext' => array('singular', 'plural', 'domain'),
|
14 |
+
'__ngettext_noop' => array('singular', 'plural', 'domain'),
|
15 |
+
'_x' => array('string', 'context', 'domain'),
|
16 |
+
'_ex' => array('string', 'context', 'domain'),
|
17 |
+
'_nx' => array('singular', 'plural', 'context', 'domain'),
|
18 |
+
'_nx_noop' => array('singular', 'plural', 'context', 'domain'),
|
19 |
+
'_n_js' => array('singular', 'plural', 'domain'),
|
20 |
+
'_nx_js' => array('singular', 'plural', 'context', 'domain'),
|
21 |
+
'esc_attr__' => array('string', 'domain'),
|
22 |
+
'esc_html__' => array('string', 'domain'),
|
23 |
+
'esc_attr_e' => array('string', 'domain'),
|
24 |
+
'esc_html_e' => array('string', 'domain'),
|
25 |
+
'esc_attr_x' => array('string', 'context', 'domain'),
|
26 |
+
'esc_html_x' => array('string', 'context', 'domain'),
|
27 |
+
'comments_number_link' => array('string', 'singular', 'plural', 'domain'),
|
28 |
+
);
|
29 |
+
|
30 |
+
// core names their themes differently
|
31 |
+
var $exceptions = array( 'twentyten', 'twentyeleven', 'twentytwelve', 'twentythirteen', 'twentyfourteen', 'twentyfifteen', 'twentysixteen', 'twentyseventeen', 'twentyeighteen', 'twentynineteen', 'twentytwenty' );
|
32 |
+
|
33 |
function check( $php_files, $css_files, $other_files ) {
|
34 |
global $data, $themename;
|
35 |
+
|
36 |
$ret = true;
|
37 |
$error = '';
|
38 |
checkcount();
|
|
|
|
|
39 |
|
40 |
+
// make sure the tokenizer is available
|
41 |
+
if ( !function_exists( 'token_get_all' ) ) {
|
42 |
+
return true;
|
43 |
+
}
|
44 |
+
|
45 |
+
$funcs = array_keys($this->rules);
|
46 |
+
|
47 |
+
$domains = array();
|
48 |
|
49 |
foreach ( $php_files as $php_key => $phpfile ) {
|
50 |
+
$error='';
|
51 |
+
|
52 |
+
// tokenize the file
|
53 |
+
$tokens = token_get_all($phpfile);
|
54 |
+
|
55 |
+
$in_func = false;
|
56 |
+
$args_started = false;
|
57 |
+
$parens_balance = 0;
|
58 |
+
$found_domain = false;
|
59 |
+
|
60 |
+
foreach($tokens as $token) {
|
61 |
+
$string_success = false;
|
62 |
+
|
63 |
+
if (is_array($token)) {
|
64 |
+
list($id, $text) = $token;
|
65 |
+
if (T_STRING == $id && in_array($text, $funcs)) {
|
66 |
+
$in_func = true;
|
67 |
+
$func = $text;
|
68 |
+
$parens_balance = 0;
|
69 |
+
$args_started = false;
|
70 |
+
$found_domain = false;
|
71 |
+
} elseif (T_CONSTANT_ENCAPSED_STRING == $id) {
|
72 |
+
if ($in_func && $args_started) {
|
73 |
+
if (! isset( $this->rules[$func][$args_count] ) ) {
|
74 |
+
// avoid a warning when too many arguments are in a function, cause a fail case
|
75 |
+
$new_args = $args;
|
76 |
+
$new_args[] = $text;
|
77 |
+
$this->error[] = '<span class="tc-lead tc-warning">' . __( 'WARNING', 'theme-check' ) . '</span>: '
|
78 |
+
. sprintf (
|
79 |
+
__( 'Found a translation function that has an incorrect number of arguments. Function %1$s, with the arguments %2$s', 'theme-check' ),
|
80 |
+
'<strong>' . $func . '</strong>',
|
81 |
+
'<strong>' . implode(', ',$new_args) . '</strong>'
|
82 |
+
);
|
83 |
+
} else if ($this->rules[$func][$args_count] == 'domain') {
|
84 |
+
// strip quotes from the domain, avoids 'domain' and "domain" not being recognized as the same
|
85 |
+
$text = str_replace(array('"', "'"), '', $text);
|
86 |
+
$domains[] = $text;
|
87 |
+
$found_domain=true;
|
88 |
+
}
|
89 |
+
if ($parens_balance == 1) {
|
90 |
+
$args_count++;
|
91 |
+
$args[] = $text;
|
92 |
+
}
|
93 |
+
}
|
94 |
+
}
|
95 |
+
$token = $text;
|
96 |
+
} elseif ('(' == $token){
|
97 |
+
if ($parens_balance == 0) {
|
98 |
+
$args=array();
|
99 |
+
$args_started = true;
|
100 |
+
$args_count = 0;
|
101 |
+
}
|
102 |
+
++$parens_balance;
|
103 |
+
} elseif (')' == $token) {
|
104 |
+
--$parens_balance;
|
105 |
+
if ($in_func && 0 == $parens_balance) {
|
106 |
+
if (!$found_domain) {
|
107 |
+
$this->error[] = '<span class="tc-lead tc-warning">' . __( 'WARNING', 'theme-check' ) . '</span>: '
|
108 |
+
. sprintf (
|
109 |
+
__( 'Found a translation function that is missing a text-domain. Function %1$s, with the arguments %2$s', 'theme-check' ),
|
110 |
+
'<strong>' . $func . '</strong>',
|
111 |
+
'<strong>' . implode(', ',$args) . '</strong>'
|
112 |
+
);
|
113 |
+
}
|
114 |
+
$in_func = false;
|
115 |
+
$func='';
|
116 |
+
$args_started = false;
|
117 |
+
$found_domain = false;
|
118 |
}
|
|
|
119 |
}
|
120 |
}
|
121 |
}
|
122 |
|
123 |
+
$domains = array_unique($domains);
|
124 |
+
$domainlist = implode( ', ', $domains );
|
125 |
+
$domainscount = count($domains);
|
126 |
+
|
127 |
+
// ignore core themes and uploads on w.org for this one check
|
128 |
+
if ( !in_array($themename, $this->exceptions) && ! defined( 'WPORGPATH' ) ) {
|
129 |
+
$correct_domain = sanitize_title_with_dashes($data['Name']);
|
130 |
+
if ( $themename != $correct_domain ) {
|
131 |
+
$this->error[] = '<span class="tc-lead tc-warning">' . __( 'WARNING', 'theme-check' ) . '</span>: '
|
132 |
+
. sprintf ( __( "Your theme appears to be in the wrong directory for the theme name. The directory name must match the slug of the theme. This theme's correct slug and text-domain is %s.", 'theme-check' ), '<strong>' . $correct_domain . '</strong>' ).
|
133 |
+
'<br>'. __( '(If this is a child theme, you can ignore this error.)' , 'theme-check' );
|
134 |
+
} elseif ( ! in_array( $correct_domain, $domains ) ) {
|
135 |
+
$this->error[] = '<span class="tc-lead tc-required">' . __( 'REQUIRED', 'theme-check' ) . '</span>: '
|
136 |
+
. sprintf ( __( "This theme text domain does not match the theme's slug. The text domain used: %s", 'theme-check' ), '<strong>' . $domainlist . '</strong>' )
|
137 |
+
. sprintf ( __( "This theme's correct slug and text-domain is %s.", 'theme-check' ), '<strong>' . $correct_domain . '</strong>' );
|
138 |
+
$ret = false;
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
139 |
}
|
140 |
}
|
141 |
+
|
142 |
+
if ( $domainscount > 1 ) {
|
143 |
+
$this->error[] = '<span class="tc-lead tc-warning">' . __( 'Warning', 'theme-check' ) . '</span>: '
|
144 |
+
. __( 'More than one text-domain is being used in this theme. This means the theme will not be compatible with WordPress.org language packs.', 'theme-check' )
|
145 |
+
. '<br>'
|
146 |
+
. sprintf( __( 'The domains found are %s', 'theme-check'), '<strong>' . $domainlist . '</strong>' );
|
147 |
+
} else {
|
148 |
+
$this->error[] = '<span class="tc-lead tc-info">' . __( 'INFO', 'theme-check' ) . '</span>: '
|
149 |
+
. __( "Only one text-domain is being used in this theme. Make sure it matches the theme's slug correctly so that the theme will be compatible with WordPress.org language packs.", 'theme-check' )
|
150 |
+
. '<br>'
|
151 |
+
. sprintf( __( 'The domain found is %s', 'theme-check'), '<strong>' . $domainlist . '</strong>' );
|
152 |
+
|
153 |
+
}
|
154 |
+
|
155 |
+
if ( $domainscount > 2 ) {
|
156 |
+
$ret = false;
|
157 |
+
}
|
158 |
+
|
159 |
return $ret;
|
160 |
}
|
161 |
|
162 |
function getError() { return $this->error; }
|
163 |
}
|
164 |
+
$themechecks[] = new TextDomainCheck;
|
checks/theme_support.php
DELETED
@@ -1,33 +0,0 @@
|
|
1 |
-
<?php
|
2 |
-
class Theme_Support implements themecheck {
|
3 |
-
protected $error = array();
|
4 |
-
|
5 |
-
function check( $php_files, $css_files, $other_files ) {
|
6 |
-
|
7 |
-
$ret = true;
|
8 |
-
|
9 |
-
$checks = array(
|
10 |
-
// '/add_theme_support\(\s?("|\')custom-headers("|\')\s?\)/' => 'add_custom_image_header()',
|
11 |
-
//s '/add_theme_support\(\s?("|\')custom-background("|\')\s?\)/' => 'add_custom_background()',
|
12 |
-
);
|
13 |
-
|
14 |
-
foreach ( $php_files as $php_key => $phpfile ) {
|
15 |
-
foreach ( $checks as $key => $check ) {
|
16 |
-
checkcount();
|
17 |
-
if ( preg_match( $key, $phpfile, $matches ) ) {
|
18 |
-
$filename = tc_filename( $php_key );
|
19 |
-
$matches[0] = str_replace(array('"',"'"),'', $matches[0]);
|
20 |
-
$error = esc_html( rtrim( $matches[0], '(' ) );
|
21 |
-
$grep = tc_grep( rtrim( $matches[0], '(' ), $php_key );
|
22 |
-
$this->error[] = sprintf(__('<span class="tc-lead tc-required">REQUIRED</span>: <strong>%1$s</strong> was found in the file <strong>%2$s</strong>. Use <strong>%3$s</strong> instead.%4$s', 'themecheck'), $error, $filename, $check, $grep );
|
23 |
-
$ret = false;
|
24 |
-
}
|
25 |
-
}
|
26 |
-
|
27 |
-
}
|
28 |
-
return $ret;
|
29 |
-
}
|
30 |
-
|
31 |
-
function getError() { return $this->error; }
|
32 |
-
}
|
33 |
-
$themechecks[] = new Theme_support;
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
checks/time_date.php
CHANGED
@@ -19,7 +19,7 @@ class Time_Date implements themecheck {
|
|
19 |
$filename = tc_filename( $php_key );
|
20 |
$matches[0] = str_replace(array('"',"'"),'', $matches[0]);
|
21 |
$error = trim( esc_html( rtrim( $matches[0], '(' ) ) );
|
22 |
-
$this->error[] = sprintf(
|
23 |
}
|
24 |
}
|
25 |
}
|
19 |
$filename = tc_filename( $php_key );
|
20 |
$matches[0] = str_replace(array('"',"'"),'', $matches[0]);
|
21 |
$error = trim( esc_html( rtrim( $matches[0], '(' ) ) );
|
22 |
+
$this->error[] = sprintf( '<span class="tc-lead tc-info">' . __( 'INFO', 'theme-check' ) . '</span>: ' . __( 'At least one hard coded date was found in the file %1$s. Consider %2$s instead.', 'theme-check' ), '<strong>' . $filename . '</strong>', "<strong>get_option( 'date_format' )</strong>" );
|
23 |
}
|
24 |
}
|
25 |
}
|
checks/title.php
ADDED
@@ -0,0 +1,60 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
/**
|
3 |
+
* Checks for the title:
|
4 |
+
* Are there <title> and </title> tags?
|
5 |
+
* Is there a call to wp_title()?
|
6 |
+
* There can't be any hardcoded text in the <title> tag.
|
7 |
+
*
|
8 |
+
* See: http://make.wordpress.org/themes/guidelines/guidelines-theme-check/
|
9 |
+
*/
|
10 |
+
class Title_Checks implements themecheck {
|
11 |
+
protected $error = array();
|
12 |
+
|
13 |
+
function check( $php_files, $css_files, $other_files ) {
|
14 |
+
$ret = true;
|
15 |
+
$php = implode( ' ', $php_files );
|
16 |
+
|
17 |
+
// Look for add_theme_support( 'title-tag' ) first
|
18 |
+
$titletag = true;
|
19 |
+
if ( ! preg_match( '#add_theme_support\s?\(\s?[\'|"]title-tag#', $php ) ) {
|
20 |
+
$this->error[] = '<span class="tc-lead tc-required">'.__('REQUIRED','theme-check').'</span>: '.__('No reference to <strong>add_theme_support( "title-tag" )</strong> was found in the theme.', 'theme-check' );
|
21 |
+
$titletag = false;
|
22 |
+
$ret = false;
|
23 |
+
}
|
24 |
+
|
25 |
+
// Look for <title> and </title> tags.
|
26 |
+
checkcount();
|
27 |
+
if ( ( 0 <= strpos( $php, '<title>' ) || 0 <= strpos( $php, '</title>' ) ) && !$titletag ) {
|
28 |
+
$this->error[] = '<span class="tc-lead tc-required">' . __( 'REQUIRED', 'theme-check').'</span>: ' . __( 'The theme must not used the <strong><title></strong> tags.', 'theme-check' );
|
29 |
+
$ret = false;
|
30 |
+
}
|
31 |
+
|
32 |
+
// Check whether there is a call to wp_title()
|
33 |
+
checkcount();
|
34 |
+
if ( 0 <= strpos( $php, 'wp_title(' ) && !$titletag ) {
|
35 |
+
$this->error[] = '<span class="tc-lead tc-required">' . __( 'REQUIRED', 'theme-check').'</span>: ' . __( 'The theme must not call to <strong>wp_title()</strong>.', 'theme-check' );
|
36 |
+
$ret = false;
|
37 |
+
}
|
38 |
+
|
39 |
+
//Check whether the the <title> tag contains something besides a call to wp_title()
|
40 |
+
checkcount();
|
41 |
+
|
42 |
+
foreach ( $php_files as $file_path => $file_content ) {
|
43 |
+
// Look for anything that looks like <svg>...</svg> and exclude it (inline svg's have titles too)
|
44 |
+
$file_content = preg_replace('/<svg.*>.*<\/svg>/s', '', $file_content);
|
45 |
+
|
46 |
+
// First looks ahead to see of there's <title>...</title>
|
47 |
+
// Then performs a negative look ahead for <title> wp_title(...); </title>
|
48 |
+
if ( preg_match( '/(?=<title>(.*)<\/title>)(?!<title>\s*<\?php\s*wp_title\([^\)]*\);?\s*\?>\s*<\/title>)/s', $file_content ) ) {
|
49 |
+
$this->error[] = '<span class="tc-lead tc-required">' . __( 'REQUIRED', 'theme-check').'</span>: ' . __( 'The <strong><title></strong> tags can only contain a call to <strong>wp_title()</strong>. Use the <strong>wp_title filter</strong> to modify the output', 'theme-check' );
|
50 |
+
$ret = false;
|
51 |
+
}
|
52 |
+
}
|
53 |
+
|
54 |
+
return $ret;
|
55 |
+
}
|
56 |
+
|
57 |
+
function getError() { return $this->error; }
|
58 |
+
}
|
59 |
+
|
60 |
+
$themechecks[] = new Title_Checks;
|
checks/uri.php
ADDED
@@ -0,0 +1,31 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
|
3 |
+
class Check_URI implements themecheck {
|
4 |
+
protected $error = array();
|
5 |
+
|
6 |
+
function check( $php_files, $css_files, $other_files ) {
|
7 |
+
|
8 |
+
checkcount();
|
9 |
+
$ret = true;
|
10 |
+
global $data;
|
11 |
+
|
12 |
+
if ( !empty( $data['AuthorURI'] ) && !empty( $data['URI'] ) ) {
|
13 |
+
|
14 |
+
if ( strtolower( preg_replace('/https?:\/\/|www./i', '', trim( $data['URI'] , '/' ) ) ) == strtolower( preg_replace('/https?:\/\/|www./i', '', trim( $data['AuthorURI'], '/' ) ) ) ) {
|
15 |
+
$this->error[] = __('<span class="tc-lead tc-required">'.__('REQUIRED','theme-check').'</span>: '.__('Your Theme URI and Author URI should not be the same.', 'theme-check') );
|
16 |
+
$ret = false;
|
17 |
+
}
|
18 |
+
|
19 |
+
//We allow .org user profiles as Author URI, so only check the Theme URI. We also allow WordPress.com links.
|
20 |
+
if ( stripos( $data['URI'], 'wordpress.org' ) && $data[ 'AuthorName' ] <> "the WordPress team" || stripos( $data['URI'], 'w.org' ) && $data[ 'AuthorName' ] <> "the WordPress team" ) {
|
21 |
+
$this->error[] .= __('<span class="tc-lead tc-required">'.__('REQUIRED','theme-check').'</span>: '.__('Using a WordPress.org Theme URI is reserved for official themes.', 'theme-check') );
|
22 |
+
$ret = false;
|
23 |
+
}
|
24 |
+
}
|
25 |
+
|
26 |
+
return $ret;
|
27 |
+
}
|
28 |
+
|
29 |
+
function getError() { return $this->error; }
|
30 |
+
}
|
31 |
+
$themechecks[] = new Check_URI;
|
checks/widgets.php
ADDED
@@ -0,0 +1,42 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
|
3 |
+
class WidgetsCheck implements themecheck {
|
4 |
+
protected $error = array();
|
5 |
+
|
6 |
+
function check( $php_files, $css_files, $other_files ) {
|
7 |
+
|
8 |
+
$ret = true;
|
9 |
+
|
10 |
+
// combine all the php files into one string to make it easier to search
|
11 |
+
$php = implode( ' ', $php_files );
|
12 |
+
checkcount();
|
13 |
+
|
14 |
+
// no widgets registered or used...
|
15 |
+
if ( strpos( $php, 'register_sidebar' ) === false && strpos( $php, 'dynamic_sidebar' ) === false ) {
|
16 |
+
$this->error[] = "<span class='tc-lead tc-recommended'>" . __( "RECOMMENDED", 'theme-check') . '</span>: '. __( "This theme contains no sidebars/widget areas. See <a href='https://codex.wordpress.org/Widgets_API'>Widgets API</a>", "theme-check" );
|
17 |
+
$ret = true;
|
18 |
+
}
|
19 |
+
|
20 |
+
if ( strpos( $php, 'register_sidebar' ) !== false && strpos( $php, 'dynamic_sidebar' ) === false ) {
|
21 |
+
$this->error[] = "<span class='tc-lead tc-required'>" . __( "REQUIRED", 'theme-check') . '</span>: '. __( "The theme appears to use <strong>register_sidebar()</strong> but no <strong>dynamic_sidebar()</strong> was found. See: <a href='https://codex.wordpress.org/Function_Reference/dynamic_sidebar'>dynamic_sidebar</a><pre> <?php dynamic_sidebar( \$index ); ?></pre>", "theme-check" );
|
22 |
+
$ret = false;
|
23 |
+
}
|
24 |
+
|
25 |
+
if ( strpos( $php, 'register_sidebar' ) === false && strpos( $php, 'dynamic_sidebar' ) !== false ) {
|
26 |
+
$this->error[] = "<span class='tc-lead tc-required'>" . __( "REQUIRED", 'theme-check') . '</span>: '. __( "The theme appears to use <strong>dynamic_sidebars()</strong> but no <strong>register_sidebar()</strong> was found. See: <a href='https://codex.wordpress.org/Function_Reference/register_sidebar'>register_sidebar</a><pre> <?php register_sidebar( \$args ); ?></pre>", "theme-check" );
|
27 |
+
$ret = false;
|
28 |
+
}
|
29 |
+
|
30 |
+
/**
|
31 |
+
* There are widgets registered, is the widgets_init action present?
|
32 |
+
*/
|
33 |
+
if ( strpos( $php, 'register_sidebar' ) !== false && preg_match( '/add_action\s*\(\s*("|\')widgets_init("|\')\s*,/', $php ) == false ) {
|
34 |
+
$this->error[] = "<span class='tc-lead tc-required'>" . __( "REQUIRED", 'theme-check') . '</span>: '. sprintf( __( "Sidebars need to be registered in a custom function hooked to the <strong>widgets_init</strong> action. See: %s.", "theme-check" ), '<a href="https://codex.wordpress.org/Function_Reference/register_sidebar">register_sidebar()</a>' );
|
35 |
+
$ret = false;
|
36 |
+
}
|
37 |
+
return $ret;
|
38 |
+
}
|
39 |
+
|
40 |
+
function getError() { return $this->error; }
|
41 |
+
}
|
42 |
+
$themechecks[] = new WidgetsCheck;
|
checks/worms.php
CHANGED
@@ -6,17 +6,11 @@ class WormCheck implements themecheck {
|
|
6 |
$ret = true;
|
7 |
$php_files = array_merge( $php_files, $other_files );
|
8 |
$checks = array(
|
9 |
-
'/wshell\.php/'=> __( 'This may be a script used by hackers to get control of your server!', '
|
10 |
-
'/ShellBOT/' => __( 'This may be a script used by hackers to get control of your server', '
|
11 |
-
'/uname -a/' => __( 'Tells a hacker what operating system your server is running', '
|
12 |
-
'/
|
13 |
-
'
|
14 |
-
'/ekibastos/' => __( 'Possible Ekibastos attack <a href="http://ocaoimh.ie/did-your-wordpress-site-get-hacked/">[1]</a>', 'themecheck' ),
|
15 |
-
'/<!--[A-Za-z0-9]+--><\?php/' => __( 'Symptom of a link injection attack <a href="http://www.kyle-brady.com/2009/11/07/wordpress-mediatemple-and-an-injection-attack/">[1]</a>', 'themecheck' ),
|
16 |
-
'/<script>\/\*(GNU GPL|LGPL)\*\/ try\{window.onload.+catch\(e\) \{\}<\/script>/' => __( 'Possible "Gumblar" JavaScript attack <a href="http://threatinfo.trendmicro.com/vinfo/articles/securityarticles.asp?xmlfile=042710-GUMBLAR.xml">[1]</a> <a href="http://justcoded.com/article/gumblar-family-virus-removal-tool/">[2]</a>', 'themecheck' ),
|
17 |
-
'/php \$[a-zA-Z]*=\'as\';/' => __( 'Symptom of the "Pharma Hack" <a href="http://blog.sucuri.net/2010/07/understanding-and-cleaning-the-pharma-hack-on-wordpress.html">[1]</a>', 'themecheck' ),
|
18 |
-
'/defined?\(\'wp_class_support/' => __( 'Symptom of the "Pharma Hack" <a href="http://blog.sucuri.net/2010/07/understanding-and-cleaning-the-pharma-hack-on-wordpress.html">[1]</a>', 'themecheck' ),
|
19 |
-
'/AGiT3NiT3NiT3fUQKxJvI/' => __( 'Malicious footer code injection detected!', 'themecheck' )
|
20 |
);
|
21 |
|
22 |
foreach ( $php_files as $php_key => $phpfile ) {
|
@@ -26,7 +20,7 @@ class WormCheck implements themecheck {
|
|
26 |
$filename = tc_filename( $php_key );
|
27 |
$error = $matches[0];
|
28 |
$grep = tc_grep( $error, $php_key );
|
29 |
-
$this->error[] = sprintf(
|
30 |
$ret = false;
|
31 |
}
|
32 |
}
|
6 |
$ret = true;
|
7 |
$php_files = array_merge( $php_files, $other_files );
|
8 |
$checks = array(
|
9 |
+
'/wshell\.php/'=> __( 'This may be a script used by hackers to get control of your server!', 'theme-check' ),
|
10 |
+
'/ShellBOT/' => __( 'This may be a script used by hackers to get control of your server', 'theme-check' ),
|
11 |
+
'/uname -a/' => __( 'Tells a hacker what operating system your server is running', 'theme-check' ),
|
12 |
+
'/php \$[a-zA-Z]*=\'as\';/' => __( 'Symptom of the "Pharma Hack" <a href="http://blog.sucuri.net/2010/07/understanding-and-cleaning-the-pharma-hack-on-wordpress.html">[1]</a>', 'theme-check' ),
|
13 |
+
'/defined?\(\'wp_class_support/' => __( 'Symptom of the "Pharma Hack" <a href="http://blog.sucuri.net/2010/07/understanding-and-cleaning-the-pharma-hack-on-wordpress.html">[1]</a>', 'theme-check' ),
|
|
|
|
|
|
|
|
|
|
|
|
|
14 |
);
|
15 |
|
16 |
foreach ( $php_files as $php_key => $phpfile ) {
|
20 |
$filename = tc_filename( $php_key );
|
21 |
$error = $matches[0];
|
22 |
$grep = tc_grep( $error, $php_key );
|
23 |
+
$this->error[] = sprintf('<span class="tc-lead tc-warning">'. __( 'WARNING', 'theme-check') . '</span>: <strong>%1$s</strong> %2$s%3$s', $filename, $check, $grep );
|
24 |
$ret = false;
|
25 |
}
|
26 |
}
|
lang/themecheck-de_DE.mo
DELETED
Binary file
|
lang/themecheck-de_DE.po
DELETED
@@ -1,364 +0,0 @@
|
|
1 |
-
# Copyright (C) 2010 Theme-Check
|
2 |
-
# This file is distributed under the same license as the Theme-Check package.
|
3 |
-
msgid ""
|
4 |
-
msgstr ""
|
5 |
-
"Project-Id-Version: Theme-Check 20101228.2\n"
|
6 |
-
"Report-Msgid-Bugs-To: http://wordpress.org/tag/theme-check\n"
|
7 |
-
"POT-Creation-Date: 2011-01-23 14:04:21+00:00\n"
|
8 |
-
"MIME-Version: 1.0\n"
|
9 |
-
"Content-Type: text/plain; charset=UTF-8\n"
|
10 |
-
"Content-Transfer-Encoding: 8bit\n"
|
11 |
-
"PO-Revision-Date: 2011-01-25 23:41+0200\n"
|
12 |
-
"Last-Translator: Daniel Tara <contact@onedesigns.com>\n"
|
13 |
-
"Language-Team: WPTRT <theme-reviewers@lists.wordpress.org>\n"
|
14 |
-
"X-Poedit-Language: German\n"
|
15 |
-
"X-Poedit-Country: GERMANY\n"
|
16 |
-
"X-Poedit-SourceCharset: utf-8\n"
|
17 |
-
|
18 |
-
#: main.php:66
|
19 |
-
msgid "Theme Info"
|
20 |
-
msgstr "Theme Info"
|
21 |
-
|
22 |
-
#: main.php:67
|
23 |
-
msgid "Title"
|
24 |
-
msgstr "Titel"
|
25 |
-
|
26 |
-
#: main.php:68
|
27 |
-
msgid "Version"
|
28 |
-
msgstr "Version"
|
29 |
-
|
30 |
-
#: main.php:69
|
31 |
-
msgid "Author"
|
32 |
-
msgstr "Autor"
|
33 |
-
|
34 |
-
#: main.php:70
|
35 |
-
msgid "Author URI"
|
36 |
-
msgstr "Autor URI"
|
37 |
-
|
38 |
-
#: main.php:71
|
39 |
-
msgid "Theme URI"
|
40 |
-
msgstr "Theme URI"
|
41 |
-
|
42 |
-
#: main.php:72
|
43 |
-
msgid "License"
|
44 |
-
msgstr "Lizenz"
|
45 |
-
|
46 |
-
#: main.php:73
|
47 |
-
msgid "LicenseURI"
|
48 |
-
msgstr "LizenzURI"
|
49 |
-
|
50 |
-
#: main.php:75
|
51 |
-
msgid "Tags"
|
52 |
-
msgstr "Schlagwörter"
|
53 |
-
|
54 |
-
#: main.php:76
|
55 |
-
msgid "Description"
|
56 |
-
msgstr "Beschreibung"
|
57 |
-
|
58 |
-
#: main.php:79
|
59 |
-
msgid "This is a child theme. The parent theme is"
|
60 |
-
msgstr "Das ist ein Child Theme. Das Parent Theme ist"
|
61 |
-
|
62 |
-
#: main.php:91
|
63 |
-
msgid "One or more errors were found for "
|
64 |
-
msgstr "Ein oder mehrere Fehler wurden gefunden für "
|
65 |
-
|
66 |
-
#: main.php:93
|
67 |
-
msgid " passed the tests"
|
68 |
-
msgstr "hat die Teste durchgelaufen"
|
69 |
-
|
70 |
-
#: main.php:96
|
71 |
-
msgid "<strong>WP_DEBUG is not enabled!</strong> Please test your theme with <a href=\"http://codex.wordpress.org/Editing_wp-config.php\">debug enabled</a> before you upload!</div>"
|
72 |
-
msgstr "<strong>WP_DEBUG ist nicht aktiv!</strong> Bitte überprüf dein Theme mit <a href=\"http://codex.wordpress.org/Editing_wp-config.php\">debug aktiv</a> bevor du auflädst!</div>"
|
73 |
-
|
74 |
-
#: main.php:161
|
75 |
-
msgid "Check it!"
|
76 |
-
msgstr "Überprüf es!"
|
77 |
-
|
78 |
-
#: checkbase.php:87
|
79 |
-
#: checkbase.php:106
|
80 |
-
msgid "<pre class='tc-grep'>Line "
|
81 |
-
msgstr "<pre class='tc-grep'>Linie "
|
82 |
-
|
83 |
-
#: theme-check.php:23
|
84 |
-
msgid "You do not have sufficient permissions to access this page."
|
85 |
-
msgstr "Du hast nicht die nötigen Rechte, auf diese Seite zurückzugreifen."
|
86 |
-
|
87 |
-
#: checks/tags.php:13
|
88 |
-
msgid "<span class='tc-lead tc-required'>REQUIRED</span>: This theme doesn't seem to display tags. Modify it to display tags in appropriate locations."
|
89 |
-
msgstr "<span class='tc-lead tc-required'>ERFORDERLICH</span>: Dieses Theme scheint nicht, Schlagwörter anzuzeigen. Ändere es, um Schlagwörter in den passenden Positionen anzuzeigen."
|
90 |
-
|
91 |
-
#: checks/gravatar.php:15
|
92 |
-
msgid "<span class='tc-lead tc-required'>REQUIRED</span>: This theme doesn't seem to support the standard avatar functions. Use <strong>get_avatar</strong> or <strong>wp_list_comments</strong> to add this support."
|
93 |
-
msgstr "<span class='tc-lead tc-required'>ERFORDERLICH</span>: Dieses Thema scheint nicht, die standard Avatar Funktionen zu unterstützen. Verwende <strong>get_avatar</strong> oder <strong>wp_list_comments</strong>, um diese Unterstützung hinzufügen."
|
94 |
-
|
95 |
-
#: checks/commpage.php:15
|
96 |
-
msgid "<span class='tc-lead tc-required'>REQUIRED</span>: The theme doesn't have comment pagination code in it. Use <strong>paginate_comments_links()</strong> or <strong>next_comments_link()</strong> and <strong>previous_comments_link()</strong> to add comment pagination."
|
97 |
-
msgstr "<span class='tc-lead tc-required'>ERFORDERLICH</span>: Das Theme hat keine Paginierungcode für Kommentare. Benutze <strong>paginate_comments_links()</strong> oder <strong>next_comments_link()</strong> und <strong>previous_comments_link()</strong> um Komentarepaginierungen hinzufügen."
|
98 |
-
|
99 |
-
#: checks/postthumb.php:15
|
100 |
-
msgid "<span class='tc-lead tc-recommended'>RECOMMENDED</span>: No reference to <strong>the_post_thumbnail()</strong> was found in the theme. It is recommended that the theme implement this functionality instead of using custom fields for thumbnails."
|
101 |
-
msgstr "<span class='tc-lead tc-recommended'>EMPFOHLEN</span>: Kein Hinweis auf <strong>the_post_thumbnail()</strong> wurde im Theme gefunden. Es ist empfohlen, dass das Theme diese Funktionalität einführt, anstatt benutzerdefinierte Felder für Thumbnails zu benutzen."
|
102 |
-
|
103 |
-
#: checks/postthumb.php:19
|
104 |
-
msgid "<span class='tc-lead tc-recommended'>RECOMMENDED</span>: No reference to post-thumbnails was found in the theme. If the theme has a thumbnail like functionality, it should be implemented with <strong>add_theme_support( 'post-thumbnails' )</strong>in the functions.php file."
|
105 |
-
msgstr "<span class='tc-lead tc-recommended'>EMPFOHLEN</span>: Kein Hinweis auf post-thumbnails wurde im Theme gefunden. Wenn das Thema Thumbnail Funktionalität hat, soltle es mit <strong>add_theme_support(' post-thumbnails' )</strong> in die functions.php Datei eingeführt werden."
|
106 |
-
|
107 |
-
#: checks/navmenu.php:14
|
108 |
-
msgid "<span class='tc-lead tc-recommended'>RECOMMENDED</span>: No reference to nav_menu's was found in the theme. Note that if your theme has a menu bar, it is required to use the WordPress nav_menu functionality for it."
|
109 |
-
msgstr "<span class='tc-lead tc-recommended'>EMPFOHLEN</span>: Kein Hinweis auf nav_menu' s wurde im Theme gefunden. Merke dass, wenn dein Thema einen Menü hat, es angefordert ist, die WordPress nav_menu Funktionalität dafür zu verwenden."
|
110 |
-
|
111 |
-
#: checks/directories.php:27
|
112 |
-
msgid "Please remove any extraneous directories like .git or .svn from the ZIP file before uploading it."
|
113 |
-
msgstr "Entferne bitte alle äußeren Ordner wie .git oder .svn von der ZIP Datei, bevor es aufladen."
|
114 |
-
|
115 |
-
#: checks/customs.php:14
|
116 |
-
msgid "<span class='tc-lead tc-recommended'>RECOMMENDED</span>: No reference to <strong>add_custom_image_header</strong> was found in the theme. It is recommended that the theme implement this functionality if using an image for the header."
|
117 |
-
msgstr "<span class='tc-lead tc-recommended'>EMPFOHLEN</span>: Kein Hinweis auf <strong>add_custom_image_header</strong> wurde im Theme gefunden. Es ist empfohlen, dass das Theme diese Funktionalität einführt, wenn ein Bild für den Header verwendet wird."
|
118 |
-
|
119 |
-
#: checks/customs.php:18
|
120 |
-
msgid "<span class='tc-lead tc-recommended'>RECOMMENDED</span>: No reference to <strong>add_custom_background()</strong> was found in the theme. If the theme uses background images or solid colors for the background, then it is recommended that the theme implement this functionality."
|
121 |
-
msgstr "<span class='tc-lead tc-recommended'>EMPFOHLEN</span>: Kein Hinweis auf <strong>add_custom_background()</strong> wurde im Theme gefunden. Wenn das Thema Hintergründe oder feste Farben für den Hintergrund verwendet, ist es empfohlen, dass das Theme diese Funktionalität einführt."
|
122 |
-
|
123 |
-
#: checks/filenames.php:21
|
124 |
-
msgid "Windows thumbnail store"
|
125 |
-
msgstr "Windows thumbnail store"
|
126 |
-
|
127 |
-
#: checks/filenames.php:22
|
128 |
-
msgid "windows system file"
|
129 |
-
msgstr "Windows System Datei"
|
130 |
-
|
131 |
-
#: checks/filenames.php:23
|
132 |
-
msgid "Komodo Project File"
|
133 |
-
msgstr "Komodo Projekt Datei"
|
134 |
-
|
135 |
-
#: checks/filenames.php:24
|
136 |
-
msgid "Hidden File"
|
137 |
-
msgstr "Versteckte Datei"
|
138 |
-
|
139 |
-
#: checks/filenames.php:25
|
140 |
-
msgid "PHP server settings file"
|
141 |
-
msgstr "PHP Server Einstellungen Datei"
|
142 |
-
|
143 |
-
#: checks/filenames.php:26
|
144 |
-
msgid "Dreamweaver project file"
|
145 |
-
msgstr "Dreamweaver Projekt Datei"
|
146 |
-
|
147 |
-
#: checks/filenames.php:27
|
148 |
-
msgid "PHP error log"
|
149 |
-
msgstr "PHP Fehler Protokoll"
|
150 |
-
|
151 |
-
#: checks/filenames.php:28
|
152 |
-
msgid "Server settings file"
|
153 |
-
msgstr "Server Einstellungen Datei"
|
154 |
-
|
155 |
-
#: checks/filenames.php:32
|
156 |
-
msgid "Please see <a href=\"http://codex.wordpress.org/Theme_Review#Theme_Documentation\">Theme_Documentation</a> for more information."
|
157 |
-
msgstr "Bitte siehe <a href=\"http://codex.wordpress.org/Theme_Review#Theme_Documentation\">Theme_Documentation</a> für mehrere Informationen."
|
158 |
-
|
159 |
-
#: checks/style_needed.php:11
|
160 |
-
msgid "<strong>Theme name:</strong> is missing from your style.css header."
|
161 |
-
msgstr "<strong>Theme name:</strong> fehlt von dein style.css Überschrift."
|
162 |
-
|
163 |
-
#: checks/style_needed.php:12
|
164 |
-
msgid "<strong>Description:</strong> is missing from your style.css header."
|
165 |
-
msgstr "<strong>Description:</strong> fehlt von dein style.css Überschrift."
|
166 |
-
|
167 |
-
#: checks/style_needed.php:13
|
168 |
-
msgid "<strong>Author:</strong> is missing from your style.css header."
|
169 |
-
msgstr "<strong>Author:</strong> fehlt von dein style.css Überschrift."
|
170 |
-
|
171 |
-
#: checks/style_needed.php:14
|
172 |
-
msgid "<strong>Version:</strong> is missing from your style.css header."
|
173 |
-
msgstr "<strong>Version:</strong> fehlt von dein style.css Überschrift."
|
174 |
-
|
175 |
-
#: checks/style_needed.php:15
|
176 |
-
msgid "<strong>License:</strong> is missing from your style.css header."
|
177 |
-
msgstr "<strong>License:</strong> fehlt von dein style.css Überschrift."
|
178 |
-
|
179 |
-
#: checks/style_needed.php:16
|
180 |
-
msgid "<strong>License URI:</strong> is missing from your style.css header."
|
181 |
-
msgstr "<strong>License URI:</strong> fehlt von dein style.css Überschrift."
|
182 |
-
|
183 |
-
#: checks/style_needed.php:17
|
184 |
-
msgid "<strong>.alignleft</strong> css class is needed in your theme css."
|
185 |
-
msgstr "<strong>.alignleft</strong> CSS Klasse ist gebraucht in dein theme's CSS."
|
186 |
-
|
187 |
-
#: checks/style_needed.php:18
|
188 |
-
msgid "<strong>.alignright</strong> css class is needed in your theme css."
|
189 |
-
msgstr "<strong>.alignright</strong> CSS Klasse ist gebraucht in dein theme's CSS."
|
190 |
-
|
191 |
-
#: checks/style_needed.php:19
|
192 |
-
msgid "<strong>.aligncenter</strong> css class is needed in your theme css."
|
193 |
-
msgstr "<strong>.aligncenter</strong> CSS Klasse ist gebraucht in dein theme's CSS."
|
194 |
-
|
195 |
-
#: checks/style_needed.php:20
|
196 |
-
msgid "<strong>.wp-caption</strong> css class is needed in your theme css."
|
197 |
-
msgstr "<strong>.wp-caption</strong> CSS Klasse ist gebraucht in dein theme's CSS."
|
198 |
-
|
199 |
-
#: checks/style_needed.php:21
|
200 |
-
msgid "<strong>.wp-caption-text</strong> css class is needed in your theme css."
|
201 |
-
msgstr "<strong>.wp-caption-text</strong> CSS Klasse ist gebraucht in dein theme's CSS."
|
202 |
-
|
203 |
-
#: checks/style_needed.php:22
|
204 |
-
msgid "<strong>.gallery-caption</strong> css class is needed in your theme css."
|
205 |
-
msgstr "<strong>.gallery-caption</strong> CSS Klasse ist gebraucht in dein theme's CSS."
|
206 |
-
|
207 |
-
#: checks/style_tags.php:20
|
208 |
-
msgid "<span class='tc-lead tc-recommended'>RECOMMENDED</span>: <strong>Tags:</strong> is either empty or missing in style.css header."
|
209 |
-
msgstr "<span class='tc-lead tc-recommended'>EMPFOHLEN</span>: <strong>Tags:</strong> ist entweder leer oder fehlt in style.css Überschrift."
|
210 |
-
|
211 |
-
#: checks/searchform.php:14
|
212 |
-
msgid "<span class='tc-lead tc-required'>REQUIRED</span>: Please use <strong>get_search_form()</strong> instead of including searchform.php directly."
|
213 |
-
msgstr "<span class='tc-lead tc-required'>ERFORDERLICH</span>: Bitte benutze <strong>get_search_form()</strong> anstatt searchform.php direkt einschließen."
|
214 |
-
|
215 |
-
#: checks/worms.php:9
|
216 |
-
msgid "<strong>PHP shell was found!</strong>"
|
217 |
-
msgstr "<strong>PHP shell wurde gefunded!</strong>"
|
218 |
-
|
219 |
-
#: checks/include.php:10
|
220 |
-
msgid "The theme appears to use include or require. If these are being used to include separate sections of a template from independent files, then <strong>get_template_part()</strong> should be used instead."
|
221 |
-
msgstr "Das Theme scheint include oder require zu benutzen. Wenn diese benutzt sind, um unterschiedliche Abschnitte eines Templates von selbständige Dateien einzuschließen, dann <strong>get_template_part()</strong> sollte anstatt benutzt werden."
|
222 |
-
|
223 |
-
#: checks/malware.php:9
|
224 |
-
msgid "possible file operations"
|
225 |
-
msgstr "mögliche Datei Operationen"
|
226 |
-
|
227 |
-
#: checks/postsnav.php:16
|
228 |
-
msgid "<span class='tc-lead tc-required'>REQUIRED</span>: The theme doesn't have post pagination code in it. Use <strong>posts_nav_link()</strong> or <strong>paginate_links()</strong> or <strong>next_posts_link()</strong> and <strong>previous_posts_link()</strong> to add post pagination."
|
229 |
-
msgstr "<span class='tc-lead tc-required'>ERFORDERLICH</span>: Das Theme hat keine Paginierungcode für Einträge. Benutze <strong>posts_nav_link()</strong> oder <strong>paginate_links()</strong> oder <strong>next_posts_link()</strong> und <strong>previous_posts_link()</strong> um Einträgepaginierungen hinzufügen."
|
230 |
-
|
231 |
-
#: checks/admin_menu.php:13
|
232 |
-
msgid "User levels were deprecated in <strong>2.0</strong>. Please see <a href=\"http://codex.wordpress.org/Roles_and_Capabilities\">Roles_and_Capabilities</a>"
|
233 |
-
msgstr "Benutzerniveaus wurden missbilligt in <strong>2.0</strong>. Bitte siehe <a href=\"http://codex.wordpress.org/Roles_and_Capabilities\">Roles_and_Capabilities</a>"
|
234 |
-
|
235 |
-
#: checks/admin_menu.php:33
|
236 |
-
msgid "Themes should use <strong>add_theme_page()</strong> for adding admin pages."
|
237 |
-
msgstr "Themes sollen <strong>add_theme_page()</strong> benutzen, um Admin Seiten hinzufügen."
|
238 |
-
|
239 |
-
#: checks/artisteer.php:23
|
240 |
-
msgid "This theme appears to have been auto-generated. Generated themes are not allowed in the themes directory."
|
241 |
-
msgstr "Dieses Theme scheint Selbst-erzeugt worden zu sein. Erzeugte Themes sind im Themesverzeichnis nicht erlaubt."
|
242 |
-
|
243 |
-
#: checks/editorstyle.php:13
|
244 |
-
msgid "<span class='tc-lead tc-recommended'>RECOMMENDED</span>: No reference to <strong>add_editor_style()</strong> was found in the theme. It is recommended that the theme implement editor styling, so as to make the editor content match the resulting post output in the theme, for a better user experience."
|
245 |
-
msgstr "<span class='tc-lead tc-recommended'>EMPFOHLEN</span>: Kein Hinweis auf <strong>add_editor_style()</strong> wurde im Theme gefunden. Es ist empfohlen, dass das Theme Editor Stilisierung einführt, damit derEditorinhalt den resultierenden Eintragausgabeinhalt übereinstimmt, für eine bessere Benutzererfahrung."
|
246 |
-
|
247 |
-
#: checks/content-width.php:14
|
248 |
-
msgid "<span class='tc-lead tc-required'>REQUIRED</span>: No content width has been defined. Example: <pre>if ( ! isset( $content_width ) ) $content_width = 900;</pre>"
|
249 |
-
msgstr "<span class='tc-lead tc-required'>ERFORDERLICH</span>: Einhalt Breite wurde nicht definiert. Beispiel: <pre>if ( ! isset( $content_width ) ) $content_width = 900;</pre>"
|
250 |
-
|
251 |
-
#: checks/badthings.php:9
|
252 |
-
msgid "eval() is not allowed."
|
253 |
-
msgstr "eval() ist nicht erlaubt."
|
254 |
-
|
255 |
-
#: checks/badthings.php:10
|
256 |
-
msgid "PHP sytem calls should be disabled by server admins anyway!"
|
257 |
-
msgstr "PHP Systemaufrufe sollten jedenfalls vom Serveradmin deaktiviert werden!"
|
258 |
-
|
259 |
-
#: checks/badthings.php:11
|
260 |
-
msgid "Themes should not change server PHP settings"
|
261 |
-
msgstr "Themes sollen PHP server einstellungen nicht ändern."
|
262 |
-
|
263 |
-
#: checks/badthings.php:12
|
264 |
-
msgid "base64_decode() is not allowed"
|
265 |
-
msgstr "base64_decode() ist nicht erlaubt."
|
266 |
-
|
267 |
-
#: checks/badthings.php:13
|
268 |
-
msgid "base64_encode() is not allowed"
|
269 |
-
msgstr "base64_encode() ist nicht erlaubt."
|
270 |
-
|
271 |
-
#: checks/badthings.php:14
|
272 |
-
msgid "uudecode() is not allowed"
|
273 |
-
msgstr "uudecode() ist nicht erlaubt."
|
274 |
-
|
275 |
-
#: checks/badthings.php:15
|
276 |
-
msgid "str_rot13() is not allowed"
|
277 |
-
msgstr "str_rot13() ist nicht erlaubt."
|
278 |
-
|
279 |
-
#: checks/badthings.php:16
|
280 |
-
#: checks/badthings.php:37
|
281 |
-
msgid "Google search code detected"
|
282 |
-
msgstr "Google Suche Code entdeckt"
|
283 |
-
|
284 |
-
#: checks/badthings.php:17
|
285 |
-
#: checks/badthings.php:38
|
286 |
-
msgid "Googe advertising code detected"
|
287 |
-
msgstr "Google Werbung Code entdeckt"
|
288 |
-
|
289 |
-
#: checks/basic.php:14
|
290 |
-
msgid "See: <a href=\"http://codex.wordpress.org/HTML_to_XHTML\">http://codex.wordpress.org/HTML_to_XHTML</a><pre><!DOCTYPE html PUBLIC \"-//W3C//DTD XHTML 1.0 Strict//EN\"<br />\"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd\"?></pre>"
|
291 |
-
msgstr "Siehe: <a href=\"http://codex.wordpress.org/HTML_to_XHTML\">http://codex.wordpress.org/HTML_to_XHTML</a><pre><!DOCTYPE html PUBLIC \"-//W3C//DTD XHTML 1.0 Strict//EN\"<br />\"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd\"?></pre>"
|
292 |
-
|
293 |
-
#: checks/basic.php:15
|
294 |
-
msgid "See: <a href=\"http://codex.wordpress.org/Function_Reference/wp_footer\">wp_footer</a><pre> <?php wp_footer(); ?></pre>"
|
295 |
-
msgstr "Siehe: <a href=\"http://codex.wordpress.org/Function_Reference/wp_footer\">wp_footer</a><pre> <?php wp_footer(); ?></pre>"
|
296 |
-
|
297 |
-
#: checks/basic.php:16
|
298 |
-
msgid "See: <a href=\"http://codex.wordpress.org/Function_Reference/wp_head\">wp_head</a><pre> <?php wp_head(); ?></pre>"
|
299 |
-
msgstr "Siehe: <a href=\"http://codex.wordpress.org/Function_Reference/wp_head\">wp_head</a><pre> <?php wp_head(); ?></pre>"
|
300 |
-
|
301 |
-
#: checks/basic.php:17
|
302 |
-
msgid "See: <a href=\"http://codex.wordpress.org/Function_Reference/language_attributes\">language_attributes</a><pre><html <?php language_attributes(); ?></pre>"
|
303 |
-
msgstr "Siehe: <a href=\"http://codex.wordpress.org/Function_Reference/language_attributes\">language_attributes</a><pre><html <?php language_attributes(); ?></pre>"
|
304 |
-
|
305 |
-
#: checks/basic.php:18
|
306 |
-
msgid "There must be a charset defined in the Content-Type or the meta charset tag in the head."
|
307 |
-
msgstr "Ein charset muss in den Content-Type oder den meta charset tag im head definiert werden."
|
308 |
-
|
309 |
-
#: checks/basic.php:19
|
310 |
-
msgid "See: <a href=\"http://codex.wordpress.org/Function_Reference/add_theme_support\">add_theme_support</a><pre> <?php add_theme_support( $feature ); ?></pre>"
|
311 |
-
msgstr "Siehe: <a href=\"http://codex.wordpress.org/Function_Reference/add_theme_support\">add_theme_support</a><pre> <?php add_theme_support( $feature ); ?></pre>"
|
312 |
-
|
313 |
-
#: checks/basic.php:20
|
314 |
-
msgid "See: <ahref=\"http://codex.wordpress.org/Function_Reference/register_sidebar\">register_sidebar</a><pre> <?php register_sidebar( $args ); ?></pre>"
|
315 |
-
msgstr "Siehe: <ahref=\"http://codex.wordpress.org/Function_Reference/register_sidebar\">register_sidebar</a><pre> <?php register_sidebar( $args ); ?></pre>"
|
316 |
-
|
317 |
-
#: checks/basic.php:21
|
318 |
-
msgid "See: <a href=\"http://codex.wordpress.org/Function_Reference/dynamic_sidebar\">dynamic_sidebar</a><pre> <?php dynamic_sidebar( $index ); ?></pre>"
|
319 |
-
msgstr "Siehe: <a href=\"http://codex.wordpress.org/Function_Reference/dynamic_sidebar\">dynamic_sidebar</a><pre> <?php dynamic_sidebar( $index ); ?></pre>"
|
320 |
-
|
321 |
-
#: checks/basic.php:22
|
322 |
-
msgid "See: <a href=\"http://codex.wordpress.org/Template_Tags/comments_template\">comments_template</a><pre> <?php comments_template( $file, $separate_comments ); ?></pre>"
|
323 |
-
msgstr "Siehe: <a href=\"http://codex.wordpress.org/Template_Tags/comments_template\">comments_template</a><pre> <?php comments_template( $file, $separate_comments ); ?></pre>"
|
324 |
-
|
325 |
-
#: checks/basic.php:23
|
326 |
-
msgid "See: <a href=\"http://codex.wordpress.org/Template_Tags/wp_list_comments\">wp_list_comments</a><pre> <?php wp_list_comments( $args ); ?></pre>"
|
327 |
-
msgstr "Siehe: <a href=\"http://codex.wordpress.org/Template_Tags/wp_list_comments\">wp_list_comments</a><pre> <?php wp_list_comments( $args ); ?></pre>"
|
328 |
-
|
329 |
-
#: checks/basic.php:24
|
330 |
-
msgid "See: <a href=\"http://codex.wordpress.org/Template_Tags/comment_form\">comment_form</a><pre> <?php comment_form(); ?></pre>"
|
331 |
-
msgstr "Siehe: <a href=\"http://codex.wordpress.org/Template_Tags/comment_form\">comment_form</a><pre> <?php comment_form(); ?></pre>"
|
332 |
-
|
333 |
-
#: checks/basic.php:25
|
334 |
-
msgid "See: <a href=\"http://codex.wordpress.org/Migrating_Plugins_and_Themes_to_2.7/Enhanced_Comment_Display\">Migrating Plugins and Themes to 2.7/Enhanced Comment Display</a><pre> <?php if ( is_singular() ) wp_enqueue_script( \"comment-reply\" ); ?></pre>"
|
335 |
-
msgstr "Siehe: <a href=\"http://codex.wordpress.org/Migrating_Plugins_and_Themes_to_2.7/Enhanced_Comment_Display\">Migrating Plugins and Themes to 2.7/Enhanced Comment Display</a><pre> <?php if ( is_singular() ) wp_enqueue_script( \"comment-reply\" ); ?></pre>"
|
336 |
-
|
337 |
-
#: checks/basic.php:26
|
338 |
-
msgid "See: <a href=\"http://codex.wordpress.org/Template_Tags/body_class\">body_class</a><pre> <?php body_class( $class ); ?></pre>"
|
339 |
-
msgstr "Siehe: <a href=\"http://codex.wordpress.org/Template_Tags/body_class\">body_class</a><pre> <?php body_class( $class ); ?></pre>"
|
340 |
-
|
341 |
-
#: checks/basic.php:27
|
342 |
-
msgid "See: <a href=\"http://codex.wordpress.org/Template_Tags/post_class\">post_class</a><pre> <div id=\"post-<?php the_ID(); ?>\" <?php post_class(); ?>></pre>"
|
343 |
-
msgstr "Siehe: <a href=\"http://codex.wordpress.org/Template_Tags/post_class\">post_class</a><pre> <div id=\"post-<?php the_ID(); ?>\" <?php post_class(); ?>></pre>"
|
344 |
-
|
345 |
-
#. Plugin Name of the plugin/theme
|
346 |
-
msgid "Theme-Check"
|
347 |
-
msgstr "Theme-Check"
|
348 |
-
|
349 |
-
#. Plugin URI of the plugin/theme
|
350 |
-
msgid "http://pross.org.uk/plugins"
|
351 |
-
msgstr "http://pross.org.uk/plugins"
|
352 |
-
|
353 |
-
#. Description of the plugin/theme
|
354 |
-
msgid "A simple and easy way to test your theme for all the latest WordPress standards and practices. A great theme development tool!"
|
355 |
-
msgstr "Eine einfache und leichte Art, dein Theme auf alle letzten WordPress Standards und Praxis zu überprüfen. Ein großes Theme-Entwicklungswerkzeug!"
|
356 |
-
|
357 |
-
#. Author of the plugin/theme
|
358 |
-
msgid "Pross"
|
359 |
-
msgstr "Pross"
|
360 |
-
|
361 |
-
#. Author URI of the plugin/theme
|
362 |
-
msgid "http://pross.org.uk"
|
363 |
-
msgstr "http://pross.org.uk"
|
364 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
lang/themecheck-ja.mo
DELETED
Binary file
|
lang/themecheck-ja.po
DELETED
@@ -1,719 +0,0 @@
|
|
1 |
-
# Copyright (C) 2012
|
2 |
-
# This file is distributed under the same license as the package.
|
3 |
-
msgid ""
|
4 |
-
msgstr ""
|
5 |
-
"Project-Id-Version: theme check ja\n"
|
6 |
-
"Report-Msgid-Bugs-To: \n"
|
7 |
-
"POT-Creation-Date: 2012-02-19 18:15+0900\n"
|
8 |
-
"PO-Revision-Date: 2012-02-19 21:36+0900\n"
|
9 |
-
"Last-Translator: JOTAKI, Taisuke <tekapo@gmail.com>\n"
|
10 |
-
"Language-Team: wp ja <tekapo@gmail.com>\n"
|
11 |
-
"Language: \n"
|
12 |
-
"MIME-Version: 1.0\n"
|
13 |
-
"Content-Type: text/plain; charset=UTF-8\n"
|
14 |
-
"Content-Transfer-Encoding: 8bit\n"
|
15 |
-
"X-Poedit-Language: Japanese\n"
|
16 |
-
"X-Poedit-Country: JAPAN\n"
|
17 |
-
"X-Poedit-SourceCharset: utf-8\n"
|
18 |
-
"X-Poedit-KeywordsList: __;_e\n"
|
19 |
-
|
20 |
-
#: theme-check/theme-check.php:34
|
21 |
-
msgid "You do not have sufficient permissions to access this page."
|
22 |
-
msgstr "このページにアクセスするための十分なアクセス権がありません。"
|
23 |
-
|
24 |
-
#: theme-check/main.php:12
|
25 |
-
#, php-format
|
26 |
-
msgid "Parent theme <strong>%1$s</strong> not found! You have to have parent AND child-theme installed!"
|
27 |
-
msgstr "親テーマ <strong>%1$s</strong> が見つかりませんでした! 親テーマと子テーマをインストールしてください!"
|
28 |
-
|
29 |
-
#: theme-check/main.php:39
|
30 |
-
msgid "Theme Info"
|
31 |
-
msgstr "テーマ情報"
|
32 |
-
|
33 |
-
#: theme-check/main.php:50
|
34 |
-
msgid "Title"
|
35 |
-
msgstr "タイトル"
|
36 |
-
|
37 |
-
#: theme-check/main.php:51
|
38 |
-
msgid "Version"
|
39 |
-
msgstr "バージョン"
|
40 |
-
|
41 |
-
#: theme-check/main.php:52
|
42 |
-
msgid "Author"
|
43 |
-
msgstr "作成者"
|
44 |
-
|
45 |
-
#: theme-check/main.php:53
|
46 |
-
msgid "Author URI"
|
47 |
-
msgstr "作成者の URI"
|
48 |
-
|
49 |
-
#: theme-check/main.php:54
|
50 |
-
msgid "Theme URI"
|
51 |
-
msgstr "テーマの URI"
|
52 |
-
|
53 |
-
#: theme-check/main.php:55
|
54 |
-
msgid "License"
|
55 |
-
msgstr "ライセンス"
|
56 |
-
|
57 |
-
#: theme-check/main.php:56
|
58 |
-
msgid "LicenseURI"
|
59 |
-
msgstr "ライセンスの URI"
|
60 |
-
|
61 |
-
#: theme-check/main.php:57
|
62 |
-
msgid "Tags"
|
63 |
-
msgstr "タグ"
|
64 |
-
|
65 |
-
#: theme-check/main.php:58
|
66 |
-
msgid "Description"
|
67 |
-
msgstr "説明"
|
68 |
-
|
69 |
-
#: theme-check/main.php:62
|
70 |
-
#, php-format
|
71 |
-
msgid "This child theme requires at least version <strong>%1$s</strong> of theme <strong>%2$s</strong> to be installed. You only have <strong>%3$s</strong> please update the parent theme."
|
72 |
-
msgstr "この子テーマは、親テーマ <strong>%2$s</strong> のバージョン <strong>%1$s</strong> 以上を必要とします。現在の親テーマのバージョンは <strong>%3$s</strong> なので、アップデートしてください。"
|
73 |
-
|
74 |
-
#: theme-check/main.php:64
|
75 |
-
#, php-format
|
76 |
-
msgid "This is a child theme. The parent theme is: <strong>%1$s</strong>. These files have been included automatically!"
|
77 |
-
msgstr "これは子テーマです。親テーマは <strong>%1$s</strong> です。親テーマのファイルは自動的にインクルードされます!"
|
78 |
-
|
79 |
-
#: theme-check/main.php:66
|
80 |
-
msgid "Child theme does not have the <strong>Template Version</strong> tag in style.css."
|
81 |
-
msgstr "子テーマの style.css に<strong>Template Version</strong> タグがありません。"
|
82 |
-
|
83 |
-
#: theme-check/main.php:68
|
84 |
-
#, php-format
|
85 |
-
msgid "Child theme is only tested up to version %1$s of %2$s breakage may occur! %3$s installed version is %4$s"
|
86 |
-
msgstr "子テーマは %2$s のバージョン %1$s までしかテストされていないので、表示がおかしくなるかもしれません。インストールされている %3$s のバージョンは %4$s です。"
|
87 |
-
|
88 |
-
#: theme-check/main.php:75
|
89 |
-
#, php-format
|
90 |
-
msgid " Running <strong>%1$s</strong> tests against <strong>%2$s</strong> using Guidelines Version: <strong>%3$s</strong> Plugin revision: <strong>%4$s</strong>"
|
91 |
-
msgstr "ガイドラインバージョン: <strong>%3$s</strong>、プラグインリビジョン: <strong>%4$s</strong> を利用し、<strong>%2$s</strong> に対して <strong>%1$s</strong> 項目のテストを実施しました。"
|
92 |
-
|
93 |
-
#: theme-check/main.php:81
|
94 |
-
#, php-format
|
95 |
-
msgid "One or more errors were found for %1$s."
|
96 |
-
msgstr "%1$s にて、エラーが見つかりました。"
|
97 |
-
|
98 |
-
#: theme-check/main.php:83
|
99 |
-
#, php-format
|
100 |
-
msgid "%1$s passed the tests"
|
101 |
-
msgstr "%1$s はテストをパスしました"
|
102 |
-
|
103 |
-
#: theme-check/main.php:86
|
104 |
-
msgid "<strong>WP_DEBUG is not enabled!</strong> Please test your theme with <a href=\"http://codex.wordpress.org/Editing_wp-config.php\">debug enabled</a> before you upload!</div>"
|
105 |
-
msgstr "<strong>WP_DEBUG が無効になっています!</strong> テーマをアップロードする前に、<a href=\"http://wpdocs.sourceforge.jp/wp-config.php_%E3%81%AE%E7%B7%A8%E9%9B%86\">デバッグモードを有効にして</a>テーマをテストしてください。</div>"
|
106 |
-
|
107 |
-
#: theme-check/main.php:96
|
108 |
-
msgid "<h2>About</h2>"
|
109 |
-
msgstr "<h2>このプラグインについて</h2>"
|
110 |
-
|
111 |
-
#: theme-check/main.php:97
|
112 |
-
msgid "<p>The theme check plugin is an easy way to test your theme and make sure it's up to spec with the latest theme review standards.<br />"
|
113 |
-
msgstr "<p>テーマチェックプラグインは、テーマをテストし、最新のテーマレビュー基準の仕様に従っていることを簡単に確認することができるプラグインです。<br />"
|
114 |
-
|
115 |
-
#: theme-check/main.php:98
|
116 |
-
msgid "With it, you can run all the same automated testing tools on your theme that WordPress.org uses for theme submissions.</p>"
|
117 |
-
msgstr "このプラグインにより、WordPress.org がテーマの受付時に使用する自動化されたテストツールとまったく同じテストを自分のテーマに対して行うことができます。</p>"
|
118 |
-
|
119 |
-
#: theme-check/main.php:99
|
120 |
-
msgid "<h2>Contact</h2>"
|
121 |
-
msgstr "<h2>コンタクト</h2>"
|
122 |
-
|
123 |
-
#: theme-check/main.php:100
|
124 |
-
msgid "<p>Theme-Check is maintained by <a href=\"http://profiles.wordpress.org/users/pross/\">Pross</a> and <a href=\"http://profiles.wordpress.org/users/otto42/\">Otto42</a><br />"
|
125 |
-
msgstr "<p>Theme-Check は <a href=\"http://profiles.wordpress.org/users/pross/\">Pross</a> と <a href=\"http://profiles.wordpress.org/users/otto42/\">Otto42</a> によってメンテナンスされています。<br />"
|
126 |
-
|
127 |
-
#: theme-check/main.php:101
|
128 |
-
msgid "If you have found a bug or would like to make a suggestion or contribution why not join the <a href=\"http://wordpress.org/extend/themes/contact/\">theme-reviewers mailing list</a><br />"
|
129 |
-
msgstr "もしバグを見つけたり、もしくは提案や貢献をしてくれるのなら、 <a href=\"http://wordpress.org/extend/themes/contact/\">theme-reviewers メーリングリスト</a>に参加するか、<br />"
|
130 |
-
|
131 |
-
#: theme-check/main.php:102
|
132 |
-
msgid "or leave a post on the <a href=\"http://wordpress.org/tags/theme-check?forum_id=10\">WordPress forums</a>.<br /></p>"
|
133 |
-
msgstr "<a href=\"http://wordpress.org/tags/theme-check?forum_id=10\">WordPress フォーラム</a>に投稿してください。<br /></p>"
|
134 |
-
|
135 |
-
#: theme-check/main.php:104
|
136 |
-
msgid "<h2>Contributors</h2>"
|
137 |
-
msgstr "<h2>貢献者</h2>"
|
138 |
-
|
139 |
-
#: theme-check/main.php:105
|
140 |
-
msgid "<h3>localization</h3>"
|
141 |
-
msgstr "<h3>ローカライズ</h3>"
|
142 |
-
|
143 |
-
#: theme-check/main.php:110
|
144 |
-
msgid "<h3>Testers</h3>"
|
145 |
-
msgstr "<h3>テスター</h3>"
|
146 |
-
|
147 |
-
#: theme-check/main.php:111
|
148 |
-
msgid "<p><a href=\"http://make.wordpress.org/themes/\">The WordPress Theme Review Team</a></p>"
|
149 |
-
msgstr "<p><a href=\"http://make.wordpress.org/themes/\">WordPress テーマレビューチーム</a></p>"
|
150 |
-
|
151 |
-
#: theme-check/main.php:115
|
152 |
-
msgid "<div class=\"tc-success\"><p>Now your theme has passed the basic tests you need to check it properly using the test data before you upload to the WordPress Themes Directory.</p>"
|
153 |
-
msgstr "<div class=\"tc-success\"><p>このテーマは基本的なテストをパスしました。WordPress テーマディレクトリにアップロードする前にテストデータを使って適切にチェックする必要があります。</p>"
|
154 |
-
|
155 |
-
#: theme-check/main.php:117
|
156 |
-
msgid "<p>Make sure to review the guidelines at <a href=\"http://codex.wordpress.org/Theme_Review\">Theme Review</a> before uploading a Theme.</p>"
|
157 |
-
msgstr "<p>テーマをアップロードする前に、<a href=\"http://wpdocs.sourceforge.jp/Theme_Review\">テーマレビュー</a>のガイドラインを確実に復習してください。</p>"
|
158 |
-
|
159 |
-
#: theme-check/main.php:118
|
160 |
-
msgid "<h3>Codex Links</h3>"
|
161 |
-
msgstr "<h3>Codex のリンク</h3>"
|
162 |
-
|
163 |
-
#: theme-check/main.php:120
|
164 |
-
msgid "<li><a href=\"http://codex.wordpress.org/Theme_Development\">Theme Development</a></li>"
|
165 |
-
msgstr "<li><a href=\"http://wpdocs.sourceforge.jp/%E3%83%86%E3%83%BC%E3%83%9E%E3%81%AE%E4%BD%9C%E6%88%90\">テーマの作成</a></li>"
|
166 |
-
|
167 |
-
#: theme-check/main.php:121
|
168 |
-
msgid "<li><a href=\"http://wordpress.org/support/forum/5\">Themes and Templates forum</a></li>"
|
169 |
-
msgstr "<li><a href=\"http://wordpress.org/support/forum/5\">テーマとテンプレートのフォーラム (英語)</a> (<a href=\"http://ja.forums.wordpress.org/forum/4\">日本語</a>)</li>"
|
170 |
-
|
171 |
-
#: theme-check/main.php:122
|
172 |
-
msgid "<li><a href=\"http://codex.wordpress.org/Theme_Unit_Test\">Theme Unit Tests</a></li>"
|
173 |
-
msgstr "<li><a href=\"http://wpdocs.sourceforge.jp/Theme_Unit_Test\">テーマユニットテスト</a></li>"
|
174 |
-
|
175 |
-
#: theme-check/main.php:140
|
176 |
-
msgid "Check it!"
|
177 |
-
msgstr "テスト実行 !"
|
178 |
-
|
179 |
-
#: theme-check/main.php:141
|
180 |
-
msgid "Output in Trac format."
|
181 |
-
msgstr "Trac フォーマットでの出力。"
|
182 |
-
|
183 |
-
#: theme-check/main.php:142
|
184 |
-
msgid "Suppress INFO."
|
185 |
-
msgstr "情報 を表示させない。"
|
186 |
-
|
187 |
-
#: theme-check/checkbase.php:91
|
188 |
-
#: theme-check/checkbase.php:109
|
189 |
-
msgid "<pre class='tc-grep'>Line "
|
190 |
-
msgstr "<pre class='tc-grep'>行 "
|
191 |
-
|
192 |
-
#: theme-check/checkbase.php:250
|
193 |
-
msgid "Visit author homepage"
|
194 |
-
msgstr "作成者のホームページを表示"
|
195 |
-
|
196 |
-
#: theme-check/checkbase.php:253
|
197 |
-
msgid "Anonymous"
|
198 |
-
msgstr "匿名"
|
199 |
-
|
200 |
-
#: theme-check/checks/navmenu.php:14
|
201 |
-
msgid "<span class='tc-lead tc-recommended'>RECOMMENDED</span>: No reference to nav_menu's was found in the theme. Note that if your theme has a menu bar, it is required to use the WordPress nav_menu functionality for it."
|
202 |
-
msgstr "<span class='tc-lead tc-recommended'>推奨</span>: このテーマ内に nav_menu への参照が見つかりませんでした。テーマにメニューバーがあるのなら、そのための WordPress の nav_menu 機能を使用してください。"
|
203 |
-
|
204 |
-
#: theme-check/checks/style_tags.php:16
|
205 |
-
msgid "<span class='tc-lead tc-recommended'>RECOMMENDED</span>: <strong>Tags:</strong> is either empty or missing in style.css header."
|
206 |
-
msgstr "<span class='tc-lead tc-recommended'>推奨</span>: style.css のヘッダーの <strong>Tags:</strong> が空か存在していません。"
|
207 |
-
|
208 |
-
#: theme-check/checks/style_tags.php:28
|
209 |
-
#, php-format
|
210 |
-
msgid "<span class=\"tc-lead tc-warning\">WARNING</span>: Found wrong tag, remove <strong>%1$s</strong> from your style.css header."
|
211 |
-
msgstr "<span class=\"tc-lead tc-warning\">注意</span>: 誤ったタグが見つかりました。style.css のヘッダーから <strong>%1$s</strong> を取り除いてください。"
|
212 |
-
|
213 |
-
#: theme-check/checks/tags.php:13
|
214 |
-
msgid "<span class='tc-lead tc-required'>REQUIRED</span>: This theme doesn't seem to display tags. Modify it to display tags in appropriate locations."
|
215 |
-
msgstr "<span class='tc-lead tc-required'>必須</span>: このテーマではタグを表示していないようです。適した場所にタグを表示するように修正してください。"
|
216 |
-
|
217 |
-
#: theme-check/checks/basic.php:14
|
218 |
-
msgid "See: <a href=\"http://codex.wordpress.org/HTML_to_XHTML\">http://codex.wordpress.org/HTML_to_XHTML</a><pre><!DOCTYPE html PUBLIC \"-//W3C//DTD XHTML 1.0 Strict//EN\"<br />\"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd\"?></pre>"
|
219 |
-
msgstr "参照: <a href=\"http://wpdocs.sourceforge.jp/HTML_to_XHTML\">http://wpdocs.sourceforge.jp/HTML_to_XHTML</a><pre><!DOCTYPE html PUBLIC \"-//W3C//DTD XHTML 1.0 Strict//EN\"<br />\"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd\"?></pre>"
|
220 |
-
|
221 |
-
#: theme-check/checks/basic.php:15
|
222 |
-
msgid "See: <a href=\"http://codex.wordpress.org/Function_Reference/wp_footer\">wp_footer</a><pre> <?php wp_footer(); ?></pre>"
|
223 |
-
msgstr "参照: <a href=\"http://wpdocs.sourceforge.jp/%E9%96%A2%E6%95%B0%E3%83%AA%E3%83%95%E3%82%A1%E3%83%AC%E3%83%B3%E3%82%B9/wp_footer\">wp_footer</a><pre> <?php wp_footer(); ?></pre>"
|
224 |
-
|
225 |
-
#: theme-check/checks/basic.php:16
|
226 |
-
msgid "See: <a href=\"http://codex.wordpress.org/Function_Reference/wp_head\">wp_head</a><pre> <?php wp_head(); ?></pre>"
|
227 |
-
msgstr "参照: <a href=\"http://wpdocs.sourceforge.jp/%E9%96%A2%E6%95%B0%E3%83%AA%E3%83%95%E3%82%A1%E3%83%AC%E3%83%B3%E3%82%B9/wp_head\">wp_head</a><pre> <?php wp_head(); ?></pre>"
|
228 |
-
|
229 |
-
#: theme-check/checks/basic.php:17
|
230 |
-
msgid "See: <a href=\"http://codex.wordpress.org/Function_Reference/language_attributes\">language_attributes</a><pre><html <?php language_attributes(); ?></pre>"
|
231 |
-
msgstr "参照: <a href=\"http://wpdocs.sourceforge.jp/%E9%96%A2%E6%95%B0%E3%83%AA%E3%83%95%E3%82%A1%E3%83%AC%E3%83%B3%E3%82%B9/language_attributes\">language_attributes</a><pre><html <?php language_attributes(); ?></pre>"
|
232 |
-
|
233 |
-
#: theme-check/checks/basic.php:18
|
234 |
-
msgid "There must be a charset defined in the Content-Type or the meta charset tag in the head."
|
235 |
-
msgstr "ヘッダー内の Content-Type もしくは meta charset タグ内に charset の設定が必ず必要です。"
|
236 |
-
|
237 |
-
#: theme-check/checks/basic.php:19
|
238 |
-
msgid "See: <a href=\"http://codex.wordpress.org/Function_Reference/add_theme_support\">add_theme_support</a><pre> <?php add_theme_support( $feature ); ?></pre>"
|
239 |
-
msgstr "参照: <a href=\"http://wpdocs.sourceforge.jp/%E9%96%A2%E6%95%B0%E3%83%AA%E3%83%95%E3%82%A1%E3%83%AC%E3%83%B3%E3%82%B9/add_theme_support\">add_theme_support</a><pre> <?php add_theme_support( $feature ); ?></pre>"
|
240 |
-
|
241 |
-
#: theme-check/checks/basic.php:20
|
242 |
-
msgid "See: <ahref=\"http://codex.wordpress.org/Function_Reference/register_sidebar\">register_sidebar</a><pre> <?php register_sidebar( $args ); ?></pre>"
|
243 |
-
msgstr "参照: <ahref=\"http://wpdocs.sourceforge.jp/%E9%96%A2%E6%95%B0%E3%83%AA%E3%83%95%E3%82%A1%E3%83%AC%E3%83%B3%E3%82%B9/register_sidebar\">register_sidebar</a><pre> <?php register_sidebar( $args ); ?></pre>"
|
244 |
-
|
245 |
-
#: theme-check/checks/basic.php:21
|
246 |
-
msgid "See: <a href=\"http://codex.wordpress.org/Function_Reference/dynamic_sidebar\">dynamic_sidebar</a><pre> <?php dynamic_sidebar( $index ); ?></pre>"
|
247 |
-
msgstr "参照: <a href=\"http://wpdocs.sourceforge.jp/%E9%96%A2%E6%95%B0%E3%83%AA%E3%83%95%E3%82%A1%E3%83%AC%E3%83%B3%E3%82%B9/dynamic_sidebar\">dynamic_sidebar</a><pre> <?php dynamic_sidebar( $index ); ?></pre>"
|
248 |
-
|
249 |
-
#: theme-check/checks/basic.php:22
|
250 |
-
msgid "See: <a href=\"http://codex.wordpress.org/Template_Tags/comments_template\">comments_template</a><pre> <?php comments_template( $file, $separate_comments ); ?></pre>"
|
251 |
-
msgstr "参照: <a href=\"http://wpdocs.sourceforge.jp/%E9%96%A2%E6%95%B0%E3%83%AA%E3%83%95%E3%82%A1%E3%83%AC%E3%83%B3%E3%82%B9/comments_template\">comments_template</a><pre> <?php comments_template( $file, $separate_comments ); ?></pre>"
|
252 |
-
|
253 |
-
#: theme-check/checks/basic.php:23
|
254 |
-
msgid "See: <a href=\"http://codex.wordpress.org/Template_Tags/wp_list_comments\">wp_list_comments</a><pre> <?php wp_list_comments( $args ); ?></pre>"
|
255 |
-
msgstr "参照: <a href=\"http://wpdocs.sourceforge.jp/%E3%83%86%E3%83%B3%E3%83%97%E3%83%AC%E3%83%BC%E3%83%88%E3%82%BF%E3%82%B0/wp_list_comments\">wp_list_comments</a><pre> <?php wp_list_comments( $args ); ?></pre>"
|
256 |
-
|
257 |
-
#: theme-check/checks/basic.php:24
|
258 |
-
msgid "See: <a href=\"http://codex.wordpress.org/Template_Tags/comment_form\">comment_form</a><pre> <?php comment_form(); ?></pre>"
|
259 |
-
msgstr "参照: <a href=\"http://wpdocs.sourceforge.jp/%E3%83%86%E3%83%B3%E3%83%97%E3%83%AC%E3%83%BC%E3%83%88%E3%82%BF%E3%82%B0/comment_form\">comment_form</a><pre> <?php comment_form(); ?></pre>"
|
260 |
-
|
261 |
-
#: theme-check/checks/basic.php:25
|
262 |
-
msgid "See: <a href=\"http://codex.wordpress.org/Template_Tags/body_class\">body_class</a><pre> <?php body_class( $class ); ?></pre>"
|
263 |
-
msgstr "参照: <a href=\"http://wpdocs.sourceforge.jp/%E3%83%86%E3%83%B3%E3%83%97%E3%83%AC%E3%83%BC%E3%83%88%E3%82%BF%E3%82%B0/body_class\">body_class</a><pre> <?php body_class( $class ); ?></pre>"
|
264 |
-
|
265 |
-
#: theme-check/checks/basic.php:26
|
266 |
-
msgid "See: <a href=\"http://codex.wordpress.org/Function_Reference/wp_link_pages\">wp_link_pages</a><pre> <?php wp_link_pages( $args ); ?></pre>"
|
267 |
-
msgstr "参考: <a href=\"http://wpdocs.sourceforge.jp/%E3%83%86%E3%83%B3%E3%83%97%E3%83%AC%E3%83%BC%E3%83%88%E3%82%BF%E3%82%B0/wp_link_pages\">wp_link_pages</a><pre> <?php wp_link_pages( $args ); ?></pre>"
|
268 |
-
|
269 |
-
#: theme-check/checks/basic.php:27
|
270 |
-
msgid "See: <a href=\"http://codex.wordpress.org/Template_Tags/post_class\">post_class</a><pre> <div id=\"post-<?php the_ID(); ?>\" <?php post_class(); ?>></pre>"
|
271 |
-
msgstr "参照: <a href=\"http://wpdocs.sourceforge.jp/%E3%83%86%E3%83%B3%E3%83%97%E3%83%AC%E3%83%BC%E3%83%88%E3%82%BF%E3%82%B0/post_class\">post_class</a><pre> <div id=\"post-<?php the_ID(); ?>\" <?php post_class(); ?>></pre>"
|
272 |
-
|
273 |
-
#: theme-check/checks/basic.php:33
|
274 |
-
msgid "add_theme_support( 'automatic-feed-links' )"
|
275 |
-
msgstr "add_theme_support( 'automatic-feed-links' )"
|
276 |
-
|
277 |
-
#: theme-check/checks/basic.php:34
|
278 |
-
msgid "wp_enqueue_script( 'comment-reply' )"
|
279 |
-
msgstr "wp_enqueue_script( 'comment-reply' )"
|
280 |
-
|
281 |
-
#: theme-check/checks/basic.php:35
|
282 |
-
msgid "body_class call in body tag"
|
283 |
-
msgstr "body タグ内での body_class 呼び出し"
|
284 |
-
|
285 |
-
#: theme-check/checks/basic.php:36
|
286 |
-
msgid "register_sidebar() or register_sidebars()"
|
287 |
-
msgstr "register_sidebar() または register_sidebars()"
|
288 |
-
|
289 |
-
#: theme-check/checks/basic.php:38
|
290 |
-
#, php-format
|
291 |
-
msgid "<span class=\"tc-lead tc-required\">REQUIRED</span>: Could not find <strong>%1$s</strong>. %2$s"
|
292 |
-
msgstr "<span class=\"tc-lead tc-required\">必須</span>: <strong>%1$s</strong> が見つかりませんでした。%2$s"
|
293 |
-
|
294 |
-
#: theme-check/checks/dep_recommend.php:26
|
295 |
-
#, php-format
|
296 |
-
msgid "<span class=\"tc-lead tc-recommended\">RECOMMENDED</span>: <strong>%1$s</strong> found in the file <strong>%2$s</strong>. Deprecated since version <strong>%3$s</strong>. Use <strong>%4$s</strong> instead.%5$s"
|
297 |
-
msgstr "<span class=\"tc-lead tc-recommended\">推奨</span>: ファイル <strong>%2$s</strong> 内に <strong>%1$s</strong> が見つかりました。これはバージョン <strong>%3$s</strong> 以降、非推奨になっています。代わりに <strong>%4$s</strong> を使用してください。%5$s"
|
298 |
-
|
299 |
-
#: theme-check/checks/more_deprecated.php:22
|
300 |
-
#, php-format
|
301 |
-
msgid "<span class=\"tc-lead tc-required\">REQUIRED</span>: <strong>%1$s</strong> was found in the file <strong>%2$s</strong>. Use <strong>%3$s</strong> instead.%4$s"
|
302 |
-
msgstr "<span class=\"tc-lead tc-required\">必須</span>: ファイル <strong>%2$s</strong> に <strong>%1$s</strong> が見つかりました。%4$s の代わりに <strong>%3$s</strong> を使用してください。"
|
303 |
-
|
304 |
-
#: theme-check/checks/lineendings.php:11
|
305 |
-
#: theme-check/checks/lineendings.php:20
|
306 |
-
#: theme-check/checks/lineendings.php:31
|
307 |
-
#, php-format
|
308 |
-
msgid "<span class=\"tc-lead tc-warning\">WARNING</span>: Both DOS and UNIX style line endings were found in the file <strong>%1$s</strong>. This causes a problem with SVN repositories and must be corrected before the theme can be accepted. Please change the file to use only one style of line endings."
|
309 |
-
msgstr "<span class=\"tc-lead tc-warning\">注意</span>: ファイル <strong>%1$s</strong> 内に DOS と UNIX スタイルの両方の行末コードが見つかりました。これは SVN リポジトリで問題を引き起こします。この問題を修正しないとテーマは承認されません。行末コードをどちらかのスタイルを使うようにファイルを修正してください。"
|
310 |
-
|
311 |
-
#: theme-check/checks/postthumb.php:15
|
312 |
-
msgid "<span class='tc-lead tc-recommended'>RECOMMENDED</span>: No reference to <strong>the_post_thumbnail()</strong> was found in the theme. It is recommended that the theme implement this functionality instead of using custom fields for thumbnails."
|
313 |
-
msgstr "<span class='tc-lead tc-recommended'>推奨</span>: このテーマ内に <strong>the_post_thumbnail()</strong> への参照が見つかりませんでした。サムネイル用には、カスタムフィールドを使う代りにこの機能を実装するようお勧めします。"
|
314 |
-
|
315 |
-
#: theme-check/checks/postthumb.php:19
|
316 |
-
msgid "<span class='tc-lead tc-recommended'>RECOMMENDED</span>: No reference to post-thumbnails was found in the theme. If the theme has a thumbnail like functionality, it should be implemented with <strong>add_theme_support( 'post-thumbnails' )</strong>in the functions.php file."
|
317 |
-
msgstr "<span class='tc-lead tc-recommended'>推奨</span>: このテーマ内に投稿サムネイル (アイキャッチ画像) への参照が見つかりませんでした。 このテーマにサムネイルの機能をもたせるのなら functions.php 内に <strong>add_theme_support( 'post-thumbnails' )</strong> を実装したほうがいいでしょう。"
|
318 |
-
|
319 |
-
#: theme-check/checks/searchform.php:9
|
320 |
-
msgid "Please use <strong>get_search_form()</strong> instead of including searchform.php directly."
|
321 |
-
msgstr "searchform.php を直接インクルードする代りに <strong>get_search_form()</strong> を使ってください。"
|
322 |
-
|
323 |
-
#: theme-check/checks/searchform.php:16
|
324 |
-
#, php-format
|
325 |
-
msgid "<span class=\"tc-lead tc-required\">REQUIRED</span>: <strong>%1$s</strong> %2$s%3$s"
|
326 |
-
msgstr "<span class=\"tc-lead tc-required\">必須</span>: <strong>%1$s</strong> %2$s%3$s"
|
327 |
-
|
328 |
-
#: theme-check/checks/editorstyle.php:13
|
329 |
-
msgid "<span class='tc-lead tc-recommended'>RECOMMENDED</span>: No reference to <strong>add_editor_style()</strong> was found in the theme. It is recommended that the theme implement editor styling, so as to make the editor content match the resulting post output in the theme, for a better user experience."
|
330 |
-
msgstr "<span class='tc-lead tc-recommended'>推奨</span>: このテーマ内に <strong>add_editor_style()</strong> への参照が見つかりませんでした。テーマへのエディタースタイルの実装を推奨します。これにより、エディターのコンテンツとこのテーマの実際の出力とをマッチさせることができ、ユーザーエクスペリエンスが向上します。"
|
331 |
-
|
332 |
-
#: theme-check/checks/style_needed.php:11
|
333 |
-
msgid "<strong>Theme name:</strong> is missing from your style.css header."
|
334 |
-
msgstr "style.css のヘッダーに <strong>Theme name:</strong> がありません。"
|
335 |
-
|
336 |
-
#: theme-check/checks/style_needed.php:12
|
337 |
-
msgid "<strong>Description:</strong> is missing from your style.css header."
|
338 |
-
msgstr "style.css のヘッダーに <strong>Description:</strong> がありません。"
|
339 |
-
|
340 |
-
#: theme-check/checks/style_needed.php:13
|
341 |
-
msgid "<strong>Author:</strong> is missing from your style.css header."
|
342 |
-
msgstr "style.css のヘッダーに <strong>Author:</strong> がありません。"
|
343 |
-
|
344 |
-
#: theme-check/checks/style_needed.php:14
|
345 |
-
msgid "<strong>Version:</strong> is missing from your style.css header."
|
346 |
-
msgstr "style.css のヘッダーに <strong>Version:</strong> がありません。"
|
347 |
-
|
348 |
-
#: theme-check/checks/style_needed.php:15
|
349 |
-
msgid "<strong>License:</strong> is missing from your style.css header."
|
350 |
-
msgstr "style.css のヘッダーに <strong>License:</strong> がありません。"
|
351 |
-
|
352 |
-
#: theme-check/checks/style_needed.php:16
|
353 |
-
msgid "<strong>License URI:</strong> is missing from your style.css header."
|
354 |
-
msgstr "style.css のヘッダーに <strong>License URI:</strong> がありません。"
|
355 |
-
|
356 |
-
#: theme-check/checks/style_needed.php:17
|
357 |
-
msgid "<strong>.sticky</strong> css class is needed in your theme css."
|
358 |
-
msgstr "テーマの css には <strong>.sticky</strong> の css クラスが必要です。"
|
359 |
-
|
360 |
-
#: theme-check/checks/style_needed.php:18
|
361 |
-
msgid "<strong>.bypostauthor</strong> css class is needed in your theme css."
|
362 |
-
msgstr "テーマの css には <strong>.bypostauthor</strong> の css クラスが必要です。"
|
363 |
-
|
364 |
-
#: theme-check/checks/style_needed.php:19
|
365 |
-
msgid "<strong>.alignleft</strong> css class is needed in your theme css."
|
366 |
-
msgstr "テーマの css には <strong>.alignleft</strong> の css クラスが必要です。"
|
367 |
-
|
368 |
-
#: theme-check/checks/style_needed.php:20
|
369 |
-
msgid "<strong>.alignright</strong> css class is needed in your theme css."
|
370 |
-
msgstr "テーマの css には <strong>.alignright</strong> の css クラスが必要です。"
|
371 |
-
|
372 |
-
#: theme-check/checks/style_needed.php:21
|
373 |
-
msgid "<strong>.aligncenter</strong> css class is needed in your theme css."
|
374 |
-
msgstr "テーマの css には <strong>.aligncenter</strong> の css クラスが必要です。"
|
375 |
-
|
376 |
-
#: theme-check/checks/style_needed.php:22
|
377 |
-
msgid "<strong>.wp-caption</strong> css class is needed in your theme css."
|
378 |
-
msgstr "テーマの css には <strong>.wp-caption</strong> の css クラスが必要です。"
|
379 |
-
|
380 |
-
#: theme-check/checks/style_needed.php:23
|
381 |
-
msgid "<strong>.wp-caption-text</strong> css class is needed in your theme css."
|
382 |
-
msgstr "テーマの css には <strong>.wp-caption-text</strong> の css クラスが必要です。"
|
383 |
-
|
384 |
-
#: theme-check/checks/style_needed.php:24
|
385 |
-
msgid "<strong>.gallery-caption</strong> css class is needed in your theme css."
|
386 |
-
msgstr "テーマの css には <strong>.gallery-caption</strong> の css クラスが必要です。"
|
387 |
-
|
388 |
-
#: theme-check/checks/style_needed.php:30
|
389 |
-
msgid "<span class='tc-lead tc-required'>REQUIRED</span>:"
|
390 |
-
msgstr "<span class='tc-lead tc-required'>必須</span>:"
|
391 |
-
|
392 |
-
#: theme-check/checks/commpage.php:15
|
393 |
-
msgid "<span class=\"tc-lead tc-required\">REQUIRED</span>: The theme doesn't have comment pagination code in it. Use <strong>paginate_comments_links()</strong> or <strong>next_comments_link()</strong> and <strong>previous_comments_link()</strong> to add comment pagination."
|
394 |
-
msgstr "<span class='tc-lead tc-required'>必須</span>: このテーマにはコメントページネーションのコードがありません。<strong>paginate_comments_links()</strong> もしくは <strong>next_comments_link()</strong> と <strong>previous_comments_link()</strong> を使用してコメントページネーションを追加してください。"
|
395 |
-
|
396 |
-
#: theme-check/checks/customs.php:14
|
397 |
-
msgid "<span class='tc-lead tc-recommended'>RECOMMENDED</span>: No reference to <strong>add_custom_image_header</strong> was found in the theme. It is recommended that the theme implement this functionality if using an image for the header."
|
398 |
-
msgstr "<span class='tc-lead tc-recommended'>推奨</span>: テーマ内に <strong>add_custom_image_header</strong> への参照が見つかりませんでした。ヘッダーに画像を使用するのならこの機能の実装をお勧めします。"
|
399 |
-
|
400 |
-
#: theme-check/checks/customs.php:18
|
401 |
-
msgid "<span class='tc-lead tc-recommended'>RECOMMENDED</span>: No reference to <strong>add_custom_background()</strong> was found in the theme. If the theme uses background images or solid colors for the background, then it is recommended that the theme implement this functionality."
|
402 |
-
msgstr "<span class='tc-lead tc-recommended'>推奨</span>: このテーマ内に <strong>add_custom_background()</strong> への参照が見つかりませんでした。テーマで背景に画像やソリッドカラーを使用するのなら、この機能の実装をお勧めします。"
|
403 |
-
|
404 |
-
#: theme-check/checks/suggested.php:34
|
405 |
-
#: theme-check/checks/constants.php:24
|
406 |
-
#, php-format
|
407 |
-
msgid "<span class=\"tc-lead tc-recommended\">RECOMMENDED</span>: <strong>%1$s</strong> was found in the file <strong>%2$s</strong>. Use <strong>%3$s</strong> instead.%4$s"
|
408 |
-
msgstr "<span class=\"tc-lead tc-recommended\">推奨</span>: ファイル <strong>%2$s</strong> に <strong>%1$s</strong> が見つかりました。%4$s の代わりに<strong>%3$s</strong> を使ってください。"
|
409 |
-
|
410 |
-
#: theme-check/checks/gravatar.php:15
|
411 |
-
msgid "<span class='tc-lead tc-required'>REQUIRED</span>: This theme doesn't seem to support the standard avatar functions. Use <strong>get_avatar</strong> or <strong>wp_list_comments</strong> to add this support."
|
412 |
-
msgstr "<span class='tc-lead tc-required'>必須</span>: このテーマは標準のアバター機能をサポートしていないようです。このサポートを追加するには <strong>get_avatar</strong> もしくは <strong>wp_list_comments</strong> を使用してください。"
|
413 |
-
|
414 |
-
#: theme-check/checks/links.php:26
|
415 |
-
#, php-format
|
416 |
-
msgid "<span class=\"tc-lead tc-info\">INFO</span>: Possible hard-coded links were found in the file <strong>%1$s</strong>.%2$s"
|
417 |
-
msgstr "<span class=\"tc-lead tc-info\">情報</span>: ファイル <strong>%1$s</strong> 内にハードコードされているようなリンクが見つかりました。%2$s"
|
418 |
-
|
419 |
-
#: theme-check/checks/textdomain.php:15
|
420 |
-
msgid "You have not included a text domain!"
|
421 |
-
msgstr "テキストドメインが含まれていません!"
|
422 |
-
|
423 |
-
#: theme-check/checks/textdomain.php:30
|
424 |
-
#, php-format
|
425 |
-
msgid "<span class='tc-lead tc-recommended'>RECOMMENDED</span>: Text domain problems in <strong>%1$s</strong>. %2$s %3$s "
|
426 |
-
msgstr "<span class='tc-lead tc-recommended'>推奨</span>: <strong>%1$s</strong> 内にテキストドメインに関する問題があります。 %2$s %3$s "
|
427 |
-
|
428 |
-
#: theme-check/checks/textdomain.php:36
|
429 |
-
#: theme-check/checks/textdomain.php:37
|
430 |
-
#, php-format
|
431 |
-
msgid "Text domain should match theme slug: <strong>%1$s</strong>"
|
432 |
-
msgstr "テキストドメインはテーマのスラッグと合わせてください: <strong>%1$s</strong>"
|
433 |
-
|
434 |
-
#: theme-check/checks/textdomain.php:53
|
435 |
-
#, php-format
|
436 |
-
msgid "<span class='tc-lead tc-recommended'>RECOMMENDED</span>: Text domain problems in <strong>%1$s</strong>. The twentyten text domain is being used!%2$s"
|
437 |
-
msgstr "<span class='tc-lead tc-recommended'>推奨</span>: <strong>%1$s</strong> 内にテキストドメインに関する問題があります。 twentyten のテキストドメインが使われています! %2$s"
|
438 |
-
|
439 |
-
#: theme-check/checks/textdomain.php:57
|
440 |
-
#, php-format
|
441 |
-
msgid "<span class='tc-lead tc-recommended'>RECOMMENDED</span>: Text domain problems in <strong>%1$s</strong>. %2$s You are using: <strong>%3s</strong>%4$s"
|
442 |
-
msgstr "<span class='tc-lead tc-recommended'>推奨</span>: <strong>%1$s</strong> 内にテキストドメインに関する問題があります。 %2$s 次のが使われています: <strong>%3s</strong>%4$s"
|
443 |
-
|
444 |
-
#: theme-check/checks/badthings.php:9
|
445 |
-
msgid "eval() is not allowed."
|
446 |
-
msgstr "eval() は許可されていません。"
|
447 |
-
|
448 |
-
#: theme-check/checks/badthings.php:10
|
449 |
-
msgid "PHP sytem calls should be disabled by server admins anyway!"
|
450 |
-
msgstr "PHP システムコールはサーバー管理者によってとにかく無効にされるべきです!"
|
451 |
-
|
452 |
-
#: theme-check/checks/badthings.php:11
|
453 |
-
msgid "Themes should not change server PHP settings"
|
454 |
-
msgstr "テーマでサーバーの PHP の設定を変更するべきではありません"
|
455 |
-
|
456 |
-
#: theme-check/checks/badthings.php:12
|
457 |
-
msgid "base64_decode() is not allowed"
|
458 |
-
msgstr "base64_decode() は許可されていません。"
|
459 |
-
|
460 |
-
#: theme-check/checks/badthings.php:13
|
461 |
-
msgid "base64_encode() is not allowed"
|
462 |
-
msgstr "base64_encode() は許可されていません。"
|
463 |
-
|
464 |
-
#: theme-check/checks/badthings.php:14
|
465 |
-
msgid "uudecode() is not allowed"
|
466 |
-
msgstr "uudecode() は許可されていません。"
|
467 |
-
|
468 |
-
#: theme-check/checks/badthings.php:15
|
469 |
-
msgid "str_rot13() is not allowed"
|
470 |
-
msgstr "str_rot13() は許可されていません。"
|
471 |
-
|
472 |
-
#: theme-check/checks/badthings.php:16
|
473 |
-
#: theme-check/checks/badthings.php:37
|
474 |
-
msgid "Google search code detected"
|
475 |
-
msgstr "Google 検索のコードが検知されました"
|
476 |
-
|
477 |
-
#: theme-check/checks/badthings.php:17
|
478 |
-
#: theme-check/checks/badthings.php:38
|
479 |
-
msgid "Googe advertising code detected"
|
480 |
-
msgstr "Goolge 広告のコードが検知されました"
|
481 |
-
|
482 |
-
#: theme-check/checks/badthings.php:29
|
483 |
-
#, php-format
|
484 |
-
msgid "<span class=\"tc-lead tc-warning\">WARNING</span>: Found <strong>%1$s</strong> in the file <strong>%2$s</strong>. %3$s. %4$s"
|
485 |
-
msgstr "<span class=\"tc-lead tc-warning\">注意</span>: ファイル <strong>%2$s</strong> 内に <strong>%1$s</strong> が見つかりました。 %3$s. %4$s"
|
486 |
-
|
487 |
-
#: theme-check/checks/badthings.php:48
|
488 |
-
#, php-format
|
489 |
-
msgid "<span class=\"tc-lead tc-warning\">WARNING</span>: Found <strong>%1$s</strong> in the file <strong>%2$s</strong>. %3$s.%4$s"
|
490 |
-
msgstr "<span class=\"tc-lead tc-warning\">注意</span>: ファイル <strong>%2$s</strong> 内に <strong>%1$s</strong> が見つかりました。 %3$s.%4$s"
|
491 |
-
|
492 |
-
#: theme-check/checks/comment_reply.php:14
|
493 |
-
msgid "See: <a href=\"http://codex.wordpress.org/Migrating_Plugins_and_Themes_to_2.7/Enhanced_Comment_Display\">Migrating Plugins and Themes to 2.7/Enhanced Comment Display</a><pre> <?php if ( is_singular() ) wp_enqueue_script( \"comment-reply\" ); ?></pre>"
|
494 |
-
msgstr "参照: <a href=\"http://wpdocs.sourceforge.jp/Migrating_Plugins_and_Themes_to_2.7/Enhanced_Comment_Display\">Migrating Plugins and Themes to 2.7/Enhanced Comment Display</a><pre> <?php if ( is_singular() ) wp_enqueue_script( \"comment-reply\" ); ?></pre>"
|
495 |
-
|
496 |
-
#: theme-check/checks/comment_reply.php:15
|
497 |
-
#, php-format
|
498 |
-
msgid "<span class=\"tc-lead tc-required\">REQUIRED</span>: Could not find the <strong>comment-reply</strong> script enqueued. %1$s"
|
499 |
-
msgstr "<span class=\"tc-lead tc-required\">必須</span>: <strong>comment-reply</strong> スクリプトが呼び出されていません。 %1$s"
|
500 |
-
|
501 |
-
#: theme-check/checks/comment_reply.php:18
|
502 |
-
msgid "<span class=\"tc-lead tc-info\">INFO</span>: Could not find the <strong>comment-reply</strong> script enqueued, however a reference to 'comment-reply' was found. Make sure that the comment-reply script is being enqueued properly on singular pages."
|
503 |
-
msgstr "<span class=\"tc-lead tc-info\">情報</span>: 'comment-reply' への参照が見つかりましたが、<strong>comment-reply</strong> スクリプトが呼び出されていません。単独ページで comment-reply スクリプトが正しく呼び出されているか確認してください。"
|
504 |
-
|
505 |
-
#: theme-check/checks/directories.php:27
|
506 |
-
msgid "<span class=\"tc-lead tc-required\">REQUIRED</span>: Please remove any extraneous directories like .git or .svn from the ZIP file before uploading it."
|
507 |
-
msgstr "<span class=\"tc-lead tc-required\">必須</span>: アップロードする前に、ZIP ファイルから .git や .svn などの無関係なディレクトリを取り除いてください。"
|
508 |
-
|
509 |
-
#: theme-check/checks/style_suggested.php:20
|
510 |
-
#, php-format
|
511 |
-
msgid "<span class=\"tc-lead tc-recommended\">RECOMMENDED</span>: <strong>%1$s</strong> is missing from your style.css header."
|
512 |
-
msgstr "<span class=\"tc-lead tc-recommended\">推奨</span>: style.css のヘッダーに <strong>%1$s</strong> がありません。"
|
513 |
-
|
514 |
-
#: theme-check/checks/time_date.php:22
|
515 |
-
#, php-format
|
516 |
-
msgid "<span class=\"tc-lead tc-info\">INFO</span>: At least one hard coded date was found in the file <strong>%s</strong>. Consider get_option( 'date_format' )"
|
517 |
-
msgstr "<span class=\"tc-lead tc-info\">情報</span>: 少なくともひとつのハードコードされた日付がファイル <strong>%s</strong> に見つかりました。get_option( 'date_format' ) の使用を検討してください。"
|
518 |
-
|
519 |
-
#: theme-check/checks/nonprintable.php:16
|
520 |
-
#, php-format
|
521 |
-
msgid "<span class=\"tc-lead tc-info\">INFO</span>: Non-printable characters were found in the <strong>%1$s</strong> file. You may want to check this file for errors.%2$s"
|
522 |
-
msgstr "<span class=\"tc-lead tc-info\">情報</span>: ファイル <strong>%1$s</strong> 内に非アスキー文字および/または制御文字が見つかりました。対象が日本語ユーザーのみの場合は日本語が入っていてもかまいませんが、公式テーマディレクトリに登録する場合は他言語ユーザーに配慮してテンプレートファイル内に日本語は使わないようにしてください。日本語以外の文字でこのエラーが出ている場合は次のエラーを確認して制御文字が入り込んでいないかファイルをチェックしてみてください。%2$s"
|
523 |
-
|
524 |
-
#: theme-check/checks/postsnav.php:16
|
525 |
-
msgid "<span class='tc-lead tc-required'>REQUIRED</span>: The theme doesn't have post pagination code in it. Use <strong>posts_nav_link()</strong> or <strong>paginate_links()</strong> or <strong>next_posts_link()</strong> and <strong>previous_posts_link()</strong> to add post pagination."
|
526 |
-
msgstr "<span class='tc-lead tc-required'>必須</span>: このテーマには投稿記事ページネーションのコードがありません。<strong>posts_nav_link()</strong> もしくは <strong>paginate_links()</strong> もしくは <strong>next_posts_link()</strong> と <strong>previous_posts_link()</strong> を使用して投稿記事ページネーションを追加してください。"
|
527 |
-
|
528 |
-
#: theme-check/checks/filenames.php:21
|
529 |
-
msgid "Windows thumbnail store"
|
530 |
-
msgstr "Windows サムネイルファイル"
|
531 |
-
|
532 |
-
#: theme-check/checks/filenames.php:22
|
533 |
-
msgid "windows system file"
|
534 |
-
msgstr "Windows システムファイル"
|
535 |
-
|
536 |
-
#: theme-check/checks/filenames.php:23
|
537 |
-
#: theme-check/checks/filenames.php:24
|
538 |
-
msgid "NetBeans Project File"
|
539 |
-
msgstr "NetBeans プロジェクトファイル"
|
540 |
-
|
541 |
-
#: theme-check/checks/filenames.php:25
|
542 |
-
msgid "Komodo Project File"
|
543 |
-
msgstr "Komodo プロジェクトファイル"
|
544 |
-
|
545 |
-
#: theme-check/checks/filenames.php:26
|
546 |
-
msgid "Hidden Files or Folders"
|
547 |
-
msgstr "隠しファイルもしくは隠しフォルダ"
|
548 |
-
|
549 |
-
#: theme-check/checks/filenames.php:27
|
550 |
-
msgid "PHP server settings file"
|
551 |
-
msgstr "PHP サーバー設定ファイル"
|
552 |
-
|
553 |
-
#: theme-check/checks/filenames.php:28
|
554 |
-
msgid "Dreamweaver project file"
|
555 |
-
msgstr "Dreamweaver プロジェクトファイル"
|
556 |
-
|
557 |
-
#: theme-check/checks/filenames.php:29
|
558 |
-
msgid "PHP error log"
|
559 |
-
msgstr "PHP エラーログ"
|
560 |
-
|
561 |
-
#: theme-check/checks/filenames.php:30
|
562 |
-
msgid "Server settings file"
|
563 |
-
msgstr "サーバー設定ファイル"
|
564 |
-
|
565 |
-
#: theme-check/checks/filenames.php:31
|
566 |
-
msgid "SQL dump file"
|
567 |
-
msgstr "SQL ダンプファイル"
|
568 |
-
|
569 |
-
#: theme-check/checks/filenames.php:35
|
570 |
-
msgid "Please see <a href=\"http://codex.wordpress.org/Theme_Review#Theme_Documentation\">Theme_Documentation</a> for more information."
|
571 |
-
msgstr "より詳しい情報は <a href=\"http://wpdocs.sourceforge.jp/Theme_Review#Theme_Documentation\">Theme_Documentation</a> をご覧ください。"
|
572 |
-
|
573 |
-
#: theme-check/checks/filenames.php:42
|
574 |
-
#, php-format
|
575 |
-
msgid "<span class=\"tc-lead tc-warning\">WARNING</span>: <strong>%1$s</strong> %2$s found."
|
576 |
-
msgstr "<span class=\"tc-lead tc-warning\">注意</span>: <strong>%1$s</strong> %2$s が見つかりました。"
|
577 |
-
|
578 |
-
#: theme-check/checks/filenames.php:49
|
579 |
-
#, php-format
|
580 |
-
msgid "<span class=\"tc-lead tc-warning\">WARNING</span>: could not find the file <strong>%1$s</strong> in the theme."
|
581 |
-
msgstr "<span class=\"tc-lead tc-warning\">注意</span>: テーマ内にファイル <strong>%1$s</strong> が見つかりませんでした。"
|
582 |
-
|
583 |
-
#: theme-check/checks/filenames.php:56
|
584 |
-
#, php-format
|
585 |
-
msgid "<span class=\"tc-lead tc-recommended\">RECOMMENDED</span>: could not find the file <strong>%1$s</strong> in the theme. %2$s"
|
586 |
-
msgstr "<span class=\"tc-lead tc-recommended\">推奨</span>: テーマ内にファイル <strong>%1$s</strong> が見つかりませんでした。 %2$s"
|
587 |
-
|
588 |
-
#: theme-check/checks/worms.php:9
|
589 |
-
msgid "This may be a script used by hackers to get control of your server!"
|
590 |
-
msgstr "これはあなたのサーバーをコントロールするためにクラッカーが利用しているスクリプトかもしれません!"
|
591 |
-
|
592 |
-
#: theme-check/checks/worms.php:10
|
593 |
-
msgid "This may be a script used by hackers to get control of your server"
|
594 |
-
msgstr "これはあなたのサーバーをコントロールするためにクラッカーが利用しているスクリプトかもしれません!"
|
595 |
-
|
596 |
-
#: theme-check/checks/worms.php:11
|
597 |
-
msgid "Tells a hacker what operating system your server is running"
|
598 |
-
msgstr "サーバーの OS をクラッカーに伝えます"
|
599 |
-
|
600 |
-
#: theme-check/checks/worms.php:12
|
601 |
-
msgid "base64 encoded text found in Search Engine Redirect hack <a href=\"http://blogbuildingu.com/wordpress/wordpress-search-engine-redirect-hack\">[1]</a>"
|
602 |
-
msgstr "検索エンジンリダイレクトハック <a href=\"http://blogbuildingu.com/wordpress/wordpress-search-engine-redirect-hack\">[1]</a> に base64 でエンコードされたテキストが見つかりました"
|
603 |
-
|
604 |
-
#: theme-check/checks/worms.php:13
|
605 |
-
msgid "YAHG Googlerank.info exploit code <a href=\"http://creativebriefing.com/wordpress-hacked-googlerankinfo/\">[1]</a>"
|
606 |
-
msgstr "YAHG Googlerank.info 攻撃用コード <a href=\"http://creativebriefing.com/wordpress-hacked-googlerankinfo/\">[1]</a>"
|
607 |
-
|
608 |
-
#: theme-check/checks/worms.php:14
|
609 |
-
msgid "Possible Ekibastos attack <a href=\"http://ocaoimh.ie/did-your-wordpress-site-get-hacked/\">[1]</a>"
|
610 |
-
msgstr "Ekibastos 攻撃の可能性 <a href=\"http://ocaoimh.ie/did-your-wordpress-site-get-hacked/\">[1]</a>"
|
611 |
-
|
612 |
-
#: theme-check/checks/worms.php:15
|
613 |
-
msgid "Symptom of a link injection attack <a href=\"http://www.kyle-brady.com/2009/11/07/wordpress-mediatemple-and-an-injection-attack/\">[1]</a>"
|
614 |
-
msgstr "リンクインジェクション <a href=\"http://www.kyle-brady.com/2009/11/07/wordpress-mediatemple-and-an-injection-attack/\">[1]</a> の兆候"
|
615 |
-
|
616 |
-
#: theme-check/checks/worms.php:16
|
617 |
-
msgid "Possible \"Gumblar\" JavaScript attack <a href=\"http://threatinfo.trendmicro.com/vinfo/articles/securityarticles.asp?xmlfile=042710-GUMBLAR.xml\">[1]</a> <a href=\"http://justcoded.com/article/gumblar-family-virus-removal-tool/\">[2]</a>"
|
618 |
-
msgstr "\"Gumblar\" JavaScript 攻撃 <a href=\"http://threatinfo.trendmicro.com/vinfo/articles/securityarticles.asp?xmlfile=042710-GUMBLAR.xml\">[1]</a> <a href=\"http://justcoded.com/article/gumblar-family-virus-removal-tool/\">[2]</a> の可能性"
|
619 |
-
|
620 |
-
#: theme-check/checks/worms.php:17
|
621 |
-
#: theme-check/checks/worms.php:18
|
622 |
-
msgid "Symptom of the \"Pharma Hack\" <a href=\"http://blog.sucuri.net/2010/07/understanding-and-cleaning-the-pharma-hack-on-wordpress.html\">[1]</a>"
|
623 |
-
msgstr "\"Pharma Hack\" <a href=\"http://blog.sucuri.net/2010/07/understanding-and-cleaning-the-pharma-hack-on-wordpress.html\">[1]</a> の可能性"
|
624 |
-
|
625 |
-
#: theme-check/checks/worms.php:19
|
626 |
-
msgid "Malicious footer code injection detected!"
|
627 |
-
msgstr "悪意のあるフッターコードのインジェクションを検知しました!"
|
628 |
-
|
629 |
-
#: theme-check/checks/worms.php:29
|
630 |
-
#, php-format
|
631 |
-
msgid "<span class=\"tc-lead tc-warning\">WARNING</span>: <strong>%1$s</strong> %2$s%3$s"
|
632 |
-
msgstr "<span class=\"tc-lead tc-warning\">注意</span>: <strong>%1$s</strong> %2$s%3$s"
|
633 |
-
|
634 |
-
#: theme-check/checks/phpshort.php:14
|
635 |
-
#, php-format
|
636 |
-
msgid "<span class=\"tc-lead tc-warning\">WARNING</span>: Found PHP short tags in file <strong>%1$s</strong>.%2$s"
|
637 |
-
msgstr "<span class=\"tc-lead tc-warning\">注意</span>: ファイル <strong>%1$s</strong>に PHP のショートタグが見つかりました。%2$s"
|
638 |
-
|
639 |
-
#: theme-check/checks/screenshot.php:21
|
640 |
-
#, php-format
|
641 |
-
msgid "<span class=\"tc-lead tc-recommended\">RECOMMENDED</span>: Screenshot is wrong size! Detected: <strong>%1$sx%2$spx</strong>. Maximum allowed size is 320x240px."
|
642 |
-
msgstr "<span class=\"tc-lead tc-recommended\">推奨</span>: スクリーンショットのサイズが違います! 検知したサイズ: <strong>%1$sx%2$spx</strong> です。許可されている最大サイズは 320x240px です。"
|
643 |
-
|
644 |
-
#: theme-check/checks/screenshot.php:26
|
645 |
-
msgid "<span class='tc-lead tc-warning'>WARNING</span>: No screenshot detected! Please include a screenshot.png."
|
646 |
-
msgstr "<span class='tc-lead tc-warning'>注意</span>: スクリーンショットがありません! screenshot.png を含めるようにしてください。"
|
647 |
-
|
648 |
-
#: theme-check/checks/deprecated.php:155
|
649 |
-
#, php-format
|
650 |
-
msgid "<span class=\"tc-lead tc-required\">REQUIRED</span>: <strong>%1$s</strong> found in the file <strong>%2$s</strong>. Deprecated since version <strong>%3$s</strong>. Use <strong>%4$s</strong> instead.%5$s"
|
651 |
-
msgstr "<span class=\"tc-lead tc-required\">必須</span>: ファイル <strong>%2$s</strong> 内に <strong>%1$s</strong> が見つかりました。これはバージョン <strong>%3$s</strong> 以降、非推奨になっています。代わりに <strong>%4$s</strong> を使用してください。%5$s"
|
652 |
-
|
653 |
-
#: theme-check/checks/iframes.php:9
|
654 |
-
msgid "iframes are sometimes used to load unwanted adverts and code on your site"
|
655 |
-
msgstr "iframes は、無用な広告やコードのサイトへの読み込みに使われることがあります"
|
656 |
-
|
657 |
-
#: theme-check/checks/iframes.php:20
|
658 |
-
#, php-format
|
659 |
-
msgid "<span class=\"tc-lead tc-info\">INFO</span>: <strong>%1$s</strong> was found in the file <strong>%2$s</strong> %3$s.%4$s"
|
660 |
-
msgstr "<span class=\"tc-lead tc-info\">情報</span>: ファイル <strong>%2$s</strong> 内に <strong>%1$s</strong> が見つかりました。 %3$s。%4$s"
|
661 |
-
|
662 |
-
#: theme-check/checks/artisteer.php:24
|
663 |
-
msgid "This theme appears to have been auto-generated. Generated themes are not allowed in the themes directory."
|
664 |
-
msgstr "このテーマは自動的に生成されたテーマのようです。自動生成されたテーマはテーマディレクトリでは許可されていません。"
|
665 |
-
|
666 |
-
#: theme-check/checks/malware.php:9
|
667 |
-
msgid "possible file operations"
|
668 |
-
msgstr "ファイル操作の可能性"
|
669 |
-
|
670 |
-
#: theme-check/checks/malware.php:23
|
671 |
-
#, php-format
|
672 |
-
msgid "<span class=\"tc-lead tc-warning\">WARNING</span>: <strong>%1$s</strong> was found in the file <strong>%2$s</strong> %3$s.%4$s"
|
673 |
-
msgstr "<span class=\"tc-lead tc-warning\">注意</span>: ファイル <strong>%2$s</strong> に <strong>%1$s</strong> が見つかりました %3$s.%4$s"
|
674 |
-
|
675 |
-
#: theme-check/checks/post-formats.php:27
|
676 |
-
#, php-format
|
677 |
-
msgid "<span class=\"tc-lead tc-required\">REQUIRED</span>: <strong>%1$s</strong> was found in the file <strong>%2$s</strong>. However get_post_format and/or has_post_format were not found, and no use of formats in the CSS was detected."
|
678 |
-
msgstr "<span class=\"tc-lead tc-required\">必須</span>: ファイル <strong>%2$s</strong> 内に <strong>%1$s</strong> が見つかりました。get_post_format および/または has_post_format は見つかりませんでした。また、CSS にはフォーマット用のスタイルは検知されませんでした。"
|
679 |
-
|
680 |
-
#: theme-check/checks/content-width.php:14
|
681 |
-
msgid "<span class='tc-lead tc-required'>REQUIRED</span>: No content width has been defined. Example: <pre>if ( ! isset( $content_width ) ) $content_width = 900;</pre>"
|
682 |
-
msgstr "<span class='tc-lead tc-required'>必須</span>: コンテンツ幅が設定されていません。例: <pre>if ( ! isset( $content_width ) ) $content_width = 900;</pre>"
|
683 |
-
|
684 |
-
#: theme-check/checks/include.php:10
|
685 |
-
msgid "The theme appears to use include or require. If these are being used to include separate sections of a template from independent files, then <strong>get_template_part()</strong> should be used instead."
|
686 |
-
msgstr "このテーマでは include もしくは require が使用されているようです。もし単独ファイルからテンプレートの別個のセクションをインクルードするためなら、代りに <strong>get_template_part()</strong> を使用してください。"
|
687 |
-
|
688 |
-
#: theme-check/checks/include.php:19
|
689 |
-
#, php-format
|
690 |
-
msgid "<span class=\"tc-lead tc-info\">INFO</span>: <strong>%1$s</strong> %2$s %3$s"
|
691 |
-
msgstr "<span class=\"tc-lead tc-info\">情報</span>: <strong>%1$s</strong> %2$s %3$s"
|
692 |
-
|
693 |
-
#: theme-check/checks/admin_menu.php:13
|
694 |
-
#: theme-check/checks/admin_menu.php:14
|
695 |
-
msgid "User levels were deprecated in <strong>2.0</strong>. Please see <a href=\"http://codex.wordpress.org/Roles_and_Capabilities\">Roles_and_Capabilities</a>"
|
696 |
-
msgstr "ユーザーレベルは <strong>2.0</strong> で非推奨になりました。<a href=\"http://wpdocs.sourceforge.jp/%E3%83%A6%E3%83%BC%E3%82%B6%E3%83%BC%E3%81%AE%E7%A8%AE%E9%A1%9E%E3%81%A8%E6%A8%A9%E9%99%90\">ユーザーの種類と権限</a>を参照してください。"
|
697 |
-
|
698 |
-
#: theme-check/checks/admin_menu.php:23
|
699 |
-
#, php-format
|
700 |
-
msgid "<span class=\"tc-lead tc-warning\">WARNING</span>: <strong>%1$s</strong>. %2$s%3$s"
|
701 |
-
msgstr "<span class=\"tc-lead tc-warning\">注意</span>: <strong>%1$s</strong>. %2$s%3$s"
|
702 |
-
|
703 |
-
#: theme-check/checks/admin_menu.php:33
|
704 |
-
msgid "Themes should use <strong>add_theme_page()</strong> for adding admin pages."
|
705 |
-
msgstr "管理画面ページの追加は <strong>add_theme_page()</strong> を使ってください。"
|
706 |
-
|
707 |
-
#: theme-check/checks/admin_menu.php:44
|
708 |
-
#, php-format
|
709 |
-
msgid "<span class=\"tc-lead tc-required\">REQUIRED</span>: <strong>%1$s</strong>. %2$s%3$s"
|
710 |
-
msgstr "<span class=\"tc-lead tc-required\">必須</span>: <strong>%1$s</strong>。 %2$s%3$s"
|
711 |
-
|
712 |
-
#~ msgid "This is a child theme. The parent theme is"
|
713 |
-
#~ msgstr "このテーマは子テーマです。親テーマ"
|
714 |
-
|
715 |
-
#~ msgid "twentyten text domain is being used!"
|
716 |
-
#~ msgstr "twentyten のテキストドメインが使用されています!"
|
717 |
-
|
718 |
-
#~ msgid "<strong>PHP shell was found!</strong>"
|
719 |
-
#~ msgstr "<strong>PHP シェルが見つかりました!</strong>"
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
lang/themecheck-ro_RO.mo
DELETED
Binary file
|
lang/themecheck-ro_RO.po
DELETED
@@ -1,364 +0,0 @@
|
|
1 |
-
# Copyright (C) 2010 Theme-Check
|
2 |
-
# This file is distributed under the same license as the Theme-Check package.
|
3 |
-
msgid ""
|
4 |
-
msgstr ""
|
5 |
-
"Project-Id-Version: Theme-Check 20101228.2\n"
|
6 |
-
"Report-Msgid-Bugs-To: http://wordpress.org/tag/theme-check\n"
|
7 |
-
"POT-Creation-Date: 2011-01-23 14:04:21+00:00\n"
|
8 |
-
"MIME-Version: 1.0\n"
|
9 |
-
"Content-Type: text/plain; charset=utf-8\n"
|
10 |
-
"Content-Transfer-Encoding: 8bit\n"
|
11 |
-
"PO-Revision-Date: 2011-01-26 00:43+0200\n"
|
12 |
-
"Last-Translator: Daniel Tara <contact@onedesigns.com>\n"
|
13 |
-
"Language-Team: WPTRT <theme-reviewers@lists.wordpress.org>\n"
|
14 |
-
"X-Poedit-Language: Romanian\n"
|
15 |
-
"X-Poedit-Country: ROMANIA\n"
|
16 |
-
"X-Poedit-SourceCharset: utf-8\n"
|
17 |
-
|
18 |
-
#: main.php:66
|
19 |
-
msgid "Theme Info"
|
20 |
-
msgstr "Informații Temă"
|
21 |
-
|
22 |
-
#: main.php:67
|
23 |
-
msgid "Title"
|
24 |
-
msgstr "Titlu"
|
25 |
-
|
26 |
-
#: main.php:68
|
27 |
-
msgid "Version"
|
28 |
-
msgstr "Versiune"
|
29 |
-
|
30 |
-
#: main.php:69
|
31 |
-
msgid "Author"
|
32 |
-
msgstr "Autor"
|
33 |
-
|
34 |
-
#: main.php:70
|
35 |
-
msgid "Author URI"
|
36 |
-
msgstr "URI Autor"
|
37 |
-
|
38 |
-
#: main.php:71
|
39 |
-
msgid "Theme URI"
|
40 |
-
msgstr "URI Temă"
|
41 |
-
|
42 |
-
#: main.php:72
|
43 |
-
msgid "License"
|
44 |
-
msgstr "Licență"
|
45 |
-
|
46 |
-
#: main.php:73
|
47 |
-
msgid "LicenseURI"
|
48 |
-
msgstr "URILicență"
|
49 |
-
|
50 |
-
#: main.php:75
|
51 |
-
msgid "Tags"
|
52 |
-
msgstr "Etichete"
|
53 |
-
|
54 |
-
#: main.php:76
|
55 |
-
msgid "Description"
|
56 |
-
msgstr "Descriere"
|
57 |
-
|
58 |
-
#: main.php:79
|
59 |
-
msgid "This is a child theme. The parent theme is"
|
60 |
-
msgstr "Această temă este \"child-theme\". Tema \"parent\" este"
|
61 |
-
|
62 |
-
#: main.php:91
|
63 |
-
msgid "One or more errors were found for "
|
64 |
-
msgstr "Una sau mai multe erori au fost găsite pentru "
|
65 |
-
|
66 |
-
#: main.php:93
|
67 |
-
msgid " passed the tests"
|
68 |
-
msgstr "a trecut testele"
|
69 |
-
|
70 |
-
#: main.php:96
|
71 |
-
msgid "<strong>WP_DEBUG is not enabled!</strong> Please test your theme with <a href=\"http://codex.wordpress.org/Editing_wp-config.php\">debug enabled</a> before you upload!</div>"
|
72 |
-
msgstr "<strong>WP_DEBUG nu este activ!</strong> Testează tema cu <a href=\"http://codex.wordpress.org/Editing_wp-config.php\">modul debug activat</a> inainte sa incarci!</div>"
|
73 |
-
|
74 |
-
#: main.php:161
|
75 |
-
msgid "Check it!"
|
76 |
-
msgstr "Verifică!"
|
77 |
-
|
78 |
-
#: checkbase.php:87
|
79 |
-
#: checkbase.php:106
|
80 |
-
msgid "<pre class='tc-grep'>Line "
|
81 |
-
msgstr "<pre class='tc-grep'>Linie "
|
82 |
-
|
83 |
-
#: theme-check.php:23
|
84 |
-
msgid "You do not have sufficient permissions to access this page."
|
85 |
-
msgstr "Nu ai suficiente drepturi pentru a accesa aceastp pagină."
|
86 |
-
|
87 |
-
#: checks/tags.php:13
|
88 |
-
msgid "<span class='tc-lead tc-required'>REQUIRED</span>: This theme doesn't seem to display tags. Modify it to display tags in appropriate locations."
|
89 |
-
msgstr "<span class='tc-lead tc-required'>REQUIRED</span>: Această temă nu ăare să afișeze etichete. Modifică tema, astfel încât să afișeze etichetele în locurile corespunzătoare."
|
90 |
-
|
91 |
-
#: checks/gravatar.php:15
|
92 |
-
msgid "<span class='tc-lead tc-required'>REQUIRED</span>: This theme doesn't seem to support the standard avatar functions. Use <strong>get_avatar</strong> or <strong>wp_list_comments</strong> to add this support."
|
93 |
-
msgstr "<span class='tc-lead tc-required'>NECESAR</span>: Tema nu pare să suporte funcțiile standard pentru avatare. Folosește <strong>get_avatar</strong> sau <strong>wp_list_comments</strong> pentru a adăuga această funcționalitate."
|
94 |
-
|
95 |
-
#: checks/commpage.php:15
|
96 |
-
msgid "<span class='tc-lead tc-required'>REQUIRED</span>: The theme doesn't have comment pagination code in it. Use <strong>paginate_comments_links()</strong> or <strong>next_comments_link()</strong> and <strong>previous_comments_link()</strong> to add comment pagination."
|
97 |
-
msgstr "<span class='tc-lead tc-required'>NECESAR</span>: Tema nu are cod pentru paginatia comentariilor. Folosește <strong>paginate_comments_links()</strong> sau <strong>next_comments_link()</strong> si <strong>previous_comments_link()</strong> pentru a adăuga paginație comentariilor."
|
98 |
-
|
99 |
-
#: checks/postthumb.php:15
|
100 |
-
msgid "<span class='tc-lead tc-recommended'>RECOMMENDED</span>: No reference to <strong>the_post_thumbnail()</strong> was found in the theme. It is recommended that the theme implement this functionality instead of using custom fields for thumbnails."
|
101 |
-
msgstr "<span class='tc-lead tc-recommended'>RECOMANDAT</span>: Nu s-au găsit referințe către <strong>the_post_thumbnail()</strong> în temă. Este recomandat ca tema să implementeze această de funcționalitate pentru pictograme, in loc de câmpuri particularizate."
|
102 |
-
|
103 |
-
#: checks/postthumb.php:19
|
104 |
-
msgid "<span class='tc-lead tc-recommended'>RECOMMENDED</span>: No reference to post-thumbnails was found in the theme. If the theme has a thumbnail like functionality, it should be implemented with <strong>add_theme_support( 'post-thumbnails' )</strong>in the functions.php file."
|
105 |
-
msgstr "<span class='tc-lead tc-recommended'>RECOMANDAT</span>: Nu s-au găsit referințe către post-thumbnails în temă. Dacă tema are funcționalitate pentru pictograme, ar trebui implementată cu <strong>add_theme_support( 'post-thumbnails' )</strong> în fișierul functions.php."
|
106 |
-
|
107 |
-
#: checks/navmenu.php:14
|
108 |
-
msgid "<span class='tc-lead tc-recommended'>RECOMMENDED</span>: No reference to nav_menu's was found in the theme. Note that if your theme has a menu bar, it is required to use the WordPress nav_menu functionality for it."
|
109 |
-
msgstr "<span class='tc-lead tc-recommended'>RECOMANDAT</span>: Nu s-au găsit referințe către nav_menu în temă. Dacă tema are o bară de meniu, este necesar să folosească funcționalitatea nav_menu din WordPress pentru ea."
|
110 |
-
|
111 |
-
#: checks/directories.php:27
|
112 |
-
msgid "Please remove any extraneous directories like .git or .svn from the ZIP file before uploading it."
|
113 |
-
msgstr "Elimină directoare externe ca .git sau .svn din arhiva ZIP inainte de a o incarca."
|
114 |
-
|
115 |
-
#: checks/customs.php:14
|
116 |
-
msgid "<span class='tc-lead tc-recommended'>RECOMMENDED</span>: No reference to <strong>add_custom_image_header</strong> was found in the theme. It is recommended that the theme implement this functionality if using an image for the header."
|
117 |
-
msgstr "<span class='tc-lead tc-recommended'>RECOMANDAT</span>: Nu s-au găsit referințe către <strong>add_custom_image_header</strong> în temă. Este recomandat ca tema să implementeze această funcționalitate daca folosește o imagine pentru antet."
|
118 |
-
|
119 |
-
#: checks/customs.php:18
|
120 |
-
msgid "<span class='tc-lead tc-recommended'>RECOMMENDED</span>: No reference to <strong>add_custom_background()</strong> was found in the theme. If the theme uses background images or solid colors for the background, then it is recommended that the theme implement this functionality."
|
121 |
-
msgstr "<span class='tc-lead tc-recommended'>RECOMANDAT</span>: Nu s-au găsit referințe către <strong>add_custom_background()</strong> în temă. Daca tema foloseste imagini sau culori pentru fond, este recomandat să implementeze această funcționalitate."
|
122 |
-
|
123 |
-
#: checks/filenames.php:21
|
124 |
-
msgid "Windows thumbnail store"
|
125 |
-
msgstr "Baza de date de pictograme Windows"
|
126 |
-
|
127 |
-
#: checks/filenames.php:22
|
128 |
-
msgid "windows system file"
|
129 |
-
msgstr "Fișier sistem Windows"
|
130 |
-
|
131 |
-
#: checks/filenames.php:23
|
132 |
-
msgid "Komodo Project File"
|
133 |
-
msgstr "Fișier proiect Komodo"
|
134 |
-
|
135 |
-
#: checks/filenames.php:24
|
136 |
-
msgid "Hidden File"
|
137 |
-
msgstr "Fișier ascuns"
|
138 |
-
|
139 |
-
#: checks/filenames.php:25
|
140 |
-
msgid "PHP server settings file"
|
141 |
-
msgstr "Fișier setări server PHP"
|
142 |
-
|
143 |
-
#: checks/filenames.php:26
|
144 |
-
msgid "Dreamweaver project file"
|
145 |
-
msgstr "Fișier proiect Dreamweaver"
|
146 |
-
|
147 |
-
#: checks/filenames.php:27
|
148 |
-
msgid "PHP error log"
|
149 |
-
msgstr "Jurnal erori PHP"
|
150 |
-
|
151 |
-
#: checks/filenames.php:28
|
152 |
-
msgid "Server settings file"
|
153 |
-
msgstr "Fișier setări server"
|
154 |
-
|
155 |
-
#: checks/filenames.php:32
|
156 |
-
msgid "Please see <a href=\"http://codex.wordpress.org/Theme_Review#Theme_Documentation\">Theme_Documentation</a> for more information."
|
157 |
-
msgstr "Vezi <a href=\"http://codex.wordpress.org/Theme_Review#Theme_Documentation\">Theme_Documentation</a> pentru mai multe informații."
|
158 |
-
|
159 |
-
#: checks/style_needed.php:11
|
160 |
-
msgid "<strong>Theme name:</strong> is missing from your style.css header."
|
161 |
-
msgstr "<strong>Theme name:</strong> lipsește din antetul style.css."
|
162 |
-
|
163 |
-
#: checks/style_needed.php:12
|
164 |
-
msgid "<strong>Description:</strong> is missing from your style.css header."
|
165 |
-
msgstr "<strong>Description:</strong> lipsește din antetul style.css."
|
166 |
-
|
167 |
-
#: checks/style_needed.php:13
|
168 |
-
msgid "<strong>Author:</strong> is missing from your style.css header."
|
169 |
-
msgstr "<strong>Author:</strong> lipsește din antetul style.css."
|
170 |
-
|
171 |
-
#: checks/style_needed.php:14
|
172 |
-
msgid "<strong>Version:</strong> is missing from your style.css header."
|
173 |
-
msgstr "<strong>Version:</strong> lipsește din antetul style.css."
|
174 |
-
|
175 |
-
#: checks/style_needed.php:15
|
176 |
-
msgid "<strong>License:</strong> is missing from your style.css header."
|
177 |
-
msgstr "<strong>License:</strong> lipsește din antetul style.css."
|
178 |
-
|
179 |
-
#: checks/style_needed.php:16
|
180 |
-
msgid "<strong>License URI:</strong> is missing from your style.css header."
|
181 |
-
msgstr "<strong>License URI:</strong> lipsește din antetul style.css."
|
182 |
-
|
183 |
-
#: checks/style_needed.php:17
|
184 |
-
msgid "<strong>.alignleft</strong> css class is needed in your theme css."
|
185 |
-
msgstr "Clasa CSS <strong>.alignleft</strong> este necesară in fișierul CSS al temei."
|
186 |
-
|
187 |
-
#: checks/style_needed.php:18
|
188 |
-
msgid "<strong>.alignright</strong> css class is needed in your theme css."
|
189 |
-
msgstr "Clasa CSS <strong>.alignright</strong> este necesară in fișierul CSS al temei."
|
190 |
-
|
191 |
-
#: checks/style_needed.php:19
|
192 |
-
msgid "<strong>.aligncenter</strong> css class is needed in your theme css."
|
193 |
-
msgstr "Clasa CSS <strong>.aligncenter</strong> este necesară in fișierul CSS al temei."
|
194 |
-
|
195 |
-
#: checks/style_needed.php:20
|
196 |
-
msgid "<strong>.wp-caption</strong> css class is needed in your theme css."
|
197 |
-
msgstr "Clasa CSS <strong>.wp-caption</strong> este necesară in fișierul CSS al temei."
|
198 |
-
|
199 |
-
#: checks/style_needed.php:21
|
200 |
-
msgid "<strong>.wp-caption-text</strong> css class is needed in your theme css."
|
201 |
-
msgstr "Clasa CSS <strong>.wp-caption-text</strong> este necesară in fișierul CSS al temei."
|
202 |
-
|
203 |
-
#: checks/style_needed.php:22
|
204 |
-
msgid "<strong>.gallery-caption</strong> css class is needed in your theme css."
|
205 |
-
msgstr "Clasa CSS <strong>.gallery-caption</strong> este necesară in fișierul CSS al temei."
|
206 |
-
|
207 |
-
#: checks/style_tags.php:20
|
208 |
-
msgid "<span class='tc-lead tc-recommended'>RECOMMENDED</span>: <strong>Tags:</strong> is either empty or missing in style.css header."
|
209 |
-
msgstr "<span class='tc-lead tc-recommended'>RECOMANDAT</span>: <strong>Tags:</strong> este gol sau lipsește din antetul style.css."
|
210 |
-
|
211 |
-
#: checks/searchform.php:14
|
212 |
-
msgid "<span class='tc-lead tc-required'>REQUIRED</span>: Please use <strong>get_search_form()</strong> instead of including searchform.php directly."
|
213 |
-
msgstr "<span class='tc-lead tc-required'>NECESAR</span>: Folosește <strong>get_search_form()</strong> în loc de a include direct searchform.php."
|
214 |
-
|
215 |
-
#: checks/worms.php:9
|
216 |
-
msgid "<strong>PHP shell was found!</strong>"
|
217 |
-
msgstr "<strong>Shell PHP a fost găsit!</strong>"
|
218 |
-
|
219 |
-
#: checks/include.php:10
|
220 |
-
msgid "The theme appears to use include or require. If these are being used to include separate sections of a template from independent files, then <strong>get_template_part()</strong> should be used instead."
|
221 |
-
msgstr "Tema pare să folosească include sau require. Dacă acestea sunt folosite pentru a include secțiuni separate ale template-ului din fișiere independente, atunci <strong>get_template_part()</strong> ar trebui folosit."
|
222 |
-
|
223 |
-
#: checks/malware.php:9
|
224 |
-
msgid "possible file operations"
|
225 |
-
msgstr "posibile operațiuni cu fișiere"
|
226 |
-
|
227 |
-
#: checks/postsnav.php:16
|
228 |
-
msgid "<span class='tc-lead tc-required'>REQUIRED</span>: The theme doesn't have post pagination code in it. Use <strong>posts_nav_link()</strong> or <strong>paginate_links()</strong> or <strong>next_posts_link()</strong> and <strong>previous_posts_link()</strong> to add post pagination."
|
229 |
-
msgstr "<span class='tc-lead tc-required'>NECESAR</span>: Tema nu are paginație pentru intrări. Folosește <strong>posts_nav_link()</strong> sau <strong>paginate_links()</strong> sau <strong>next_posts_link()</strong> si <strong>previous_posts_link()</strong> pentru a adăuga paginație intrărilor."
|
230 |
-
|
231 |
-
#: checks/admin_menu.php:13
|
232 |
-
msgid "User levels were deprecated in <strong>2.0</strong>. Please see <a href=\"http://codex.wordpress.org/Roles_and_Capabilities\">Roles_and_Capabilities</a>"
|
233 |
-
msgstr "Nivelele de utilizatori au fost depreciate in <strong>2.0</strong>. Vezi <a href=\"http://codex.wordpress.org/Roles_and_Capabilities\">Roles_and_Capabilities</a>"
|
234 |
-
|
235 |
-
#: checks/admin_menu.php:33
|
236 |
-
msgid "Themes should use <strong>add_theme_page()</strong> for adding admin pages."
|
237 |
-
msgstr "Temele ar trebui să folosească <strong>add_theme_page()</strong> pentru adăugarea paginilor de administrație."
|
238 |
-
|
239 |
-
#: checks/artisteer.php:23
|
240 |
-
msgid "This theme appears to have been auto-generated. Generated themes are not allowed in the themes directory."
|
241 |
-
msgstr "Această tema pare să fie generată automat. Temele generate nu sunt permise în directorul de teme."
|
242 |
-
|
243 |
-
#: checks/editorstyle.php:13
|
244 |
-
msgid "<span class='tc-lead tc-recommended'>RECOMMENDED</span>: No reference to <strong>add_editor_style()</strong> was found in the theme. It is recommended that the theme implement editor styling, so as to make the editor content match the resulting post output in the theme, for a better user experience."
|
245 |
-
msgstr "<span class='tc-lead tc-recommended'>RECOMANDAT</span>: Nu s-au găsit referințe către <strong>add_editor_style()</strong> în temă. Este recomandat ca tema să implementeze stilizarea editorului, pentru a face conținutul din editor să se potrivească cu conținutul intrării din temă, pentru o experiență mai buna a utilizatorului."
|
246 |
-
|
247 |
-
#: checks/content-width.php:14
|
248 |
-
msgid "<span class='tc-lead tc-required'>REQUIRED</span>: No content width has been defined. Example: <pre>if ( ! isset( $content_width ) ) $content_width = 900;</pre>"
|
249 |
-
msgstr "<span class='tc-lead tc-required'>NECESAR</span>: Lățimea conținutului nu a fost definită. Exemplu: <pre>if ( ! isset( $content_width ) ) $content_width = 900;</pre>"
|
250 |
-
|
251 |
-
#: checks/badthings.php:9
|
252 |
-
msgid "eval() is not allowed."
|
253 |
-
msgstr "eval() nu este permis."
|
254 |
-
|
255 |
-
#: checks/badthings.php:10
|
256 |
-
msgid "PHP sytem calls should be disabled by server admins anyway!"
|
257 |
-
msgstr "Apelurile de sistem PHP ar trebui sa fie oricum dezactivate de către administratori."
|
258 |
-
|
259 |
-
#: checks/badthings.php:11
|
260 |
-
msgid "Themes should not change server PHP settings"
|
261 |
-
msgstr "Temele nu ar trebui să modifice setările serverului PHP"
|
262 |
-
|
263 |
-
#: checks/badthings.php:12
|
264 |
-
msgid "base64_decode() is not allowed"
|
265 |
-
msgstr "base64_decode() nu este permis"
|
266 |
-
|
267 |
-
#: checks/badthings.php:13
|
268 |
-
msgid "base64_encode() is not allowed"
|
269 |
-
msgstr "base64_encode() nu este permis"
|
270 |
-
|
271 |
-
#: checks/badthings.php:14
|
272 |
-
msgid "uudecode() is not allowed"
|
273 |
-
msgstr "uudecode() nu este permis"
|
274 |
-
|
275 |
-
#: checks/badthings.php:15
|
276 |
-
msgid "str_rot13() is not allowed"
|
277 |
-
msgstr "str_rot13() nu este permis"
|
278 |
-
|
279 |
-
#: checks/badthings.php:16
|
280 |
-
#: checks/badthings.php:37
|
281 |
-
msgid "Google search code detected"
|
282 |
-
msgstr "Cod căutare Google detectat"
|
283 |
-
|
284 |
-
#: checks/badthings.php:17
|
285 |
-
#: checks/badthings.php:38
|
286 |
-
msgid "Googe advertising code detected"
|
287 |
-
msgstr "Cod reclame Googe detectat"
|
288 |
-
|
289 |
-
#: checks/basic.php:14
|
290 |
-
msgid "See: <a href=\"http://codex.wordpress.org/HTML_to_XHTML\">http://codex.wordpress.org/HTML_to_XHTML</a><pre><!DOCTYPE html PUBLIC \"-//W3C//DTD XHTML 1.0 Strict//EN\"<br />\"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd\"?></pre>"
|
291 |
-
msgstr "Vezi: <a href=\"http://codex.wordpress.org/HTML_to_XHTML\">http://codex.wordpress.org/HTML_to_XHTML</a><pre><!DOCTYPE html PUBLIC \"-//W3C//DTD XHTML 1.0 Strict//EN\"<br />\"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd\"?></pre>"
|
292 |
-
|
293 |
-
#: checks/basic.php:15
|
294 |
-
msgid "See: <a href=\"http://codex.wordpress.org/Function_Reference/wp_footer\">wp_footer</a><pre> <?php wp_footer(); ?></pre>"
|
295 |
-
msgstr "Vezi: <a href=\"http://codex.wordpress.org/Function_Reference/wp_footer\">wp_footer</a><pre> <?php wp_footer(); ?></pre>"
|
296 |
-
|
297 |
-
#: checks/basic.php:16
|
298 |
-
msgid "See: <a href=\"http://codex.wordpress.org/Function_Reference/wp_head\">wp_head</a><pre> <?php wp_head(); ?></pre>"
|
299 |
-
msgstr "Vezi: <a href=\"http://codex.wordpress.org/Function_Reference/wp_head\">wp_head</a><pre> <?php wp_head(); ?></pre>"
|
300 |
-
|
301 |
-
#: checks/basic.php:17
|
302 |
-
msgid "See: <a href=\"http://codex.wordpress.org/Function_Reference/language_attributes\">language_attributes</a><pre><html <?php language_attributes(); ?></pre>"
|
303 |
-
msgstr "Vezi: <a href=\"http://codex.wordpress.org/Function_Reference/language_attributes\">language_attributes</a><pre><html <?php language_attributes(); ?></pre>"
|
304 |
-
|
305 |
-
#: checks/basic.php:18
|
306 |
-
msgid "There must be a charset defined in the Content-Type or the meta charset tag in the head."
|
307 |
-
msgstr "Charset trebuie definit in Content-Type sau meta charset in head"
|
308 |
-
|
309 |
-
#: checks/basic.php:19
|
310 |
-
msgid "See: <a href=\"http://codex.wordpress.org/Function_Reference/add_theme_support\">add_theme_support</a><pre> <?php add_theme_support( $feature ); ?></pre>"
|
311 |
-
msgstr "Vezi: <a href=\"http://codex.wordpress.org/Function_Reference/add_theme_support\">add_theme_support</a><pre> <?php add_theme_support( $feature ); ?></pre>"
|
312 |
-
|
313 |
-
#: checks/basic.php:20
|
314 |
-
msgid "See: <ahref=\"http://codex.wordpress.org/Function_Reference/register_sidebar\">register_sidebar</a><pre> <?php register_sidebar( $args ); ?></pre>"
|
315 |
-
msgstr "Vezi: <ahref=\"http://codex.wordpress.org/Function_Reference/register_sidebar\">register_sidebar</a><pre> <?php register_sidebar( $args ); ?></pre>"
|
316 |
-
|
317 |
-
#: checks/basic.php:21
|
318 |
-
msgid "See: <a href=\"http://codex.wordpress.org/Function_Reference/dynamic_sidebar\">dynamic_sidebar</a><pre> <?php dynamic_sidebar( $index ); ?></pre>"
|
319 |
-
msgstr "Vezi: <a href=\"http://codex.wordpress.org/Function_Reference/dynamic_sidebar\">dynamic_sidebar</a><pre> <?php dynamic_sidebar( $index ); ?></pre>"
|
320 |
-
|
321 |
-
#: checks/basic.php:22
|
322 |
-
msgid "See: <a href=\"http://codex.wordpress.org/Template_Tags/comments_template\">comments_template</a><pre> <?php comments_template( $file, $separate_comments ); ?></pre>"
|
323 |
-
msgstr "Vezi: <a href=\"http://codex.wordpress.org/Template_Tags/comments_template\">comments_template</a><pre> <?php comments_template( $file, $separate_comments ); ?></pre>"
|
324 |
-
|
325 |
-
#: checks/basic.php:23
|
326 |
-
msgid "See: <a href=\"http://codex.wordpress.org/Template_Tags/wp_list_comments\">wp_list_comments</a><pre> <?php wp_list_comments( $args ); ?></pre>"
|
327 |
-
msgstr "Vezi: <a href=\"http://codex.wordpress.org/Template_Tags/wp_list_comments\">wp_list_comments</a><pre> <?php wp_list_comments( $args ); ?></pre>"
|
328 |
-
|
329 |
-
#: checks/basic.php:24
|
330 |
-
msgid "See: <a href=\"http://codex.wordpress.org/Template_Tags/comment_form\">comment_form</a><pre> <?php comment_form(); ?></pre>"
|
331 |
-
msgstr "Vezi: <a href=\"http://codex.wordpress.org/Template_Tags/comment_form\">comment_form</a><pre> <?php comment_form(); ?></pre>"
|
332 |
-
|
333 |
-
#: checks/basic.php:25
|
334 |
-
msgid "See: <a href=\"http://codex.wordpress.org/Migrating_Plugins_and_Themes_to_2.7/Enhanced_Comment_Display\">Migrating Plugins and Themes to 2.7/Enhanced Comment Display</a><pre> <?php if ( is_singular() ) wp_enqueue_script( \"comment-reply\" ); ?></pre>"
|
335 |
-
msgstr "Vezi: <a href=\"http://codex.wordpress.org/Template_Tags/comment_form\">comment_form</a><pre> <?php comment_form(); ?></pre>"
|
336 |
-
|
337 |
-
#: checks/basic.php:26
|
338 |
-
msgid "See: <a href=\"http://codex.wordpress.org/Template_Tags/body_class\">body_class</a><pre> <?php body_class( $class ); ?></pre>"
|
339 |
-
msgstr "Vezi: <a href=\"http://codex.wordpress.org/Template_Tags/comment_form\">comment_form</a><pre> <?php comment_form(); ?></pre>"
|
340 |
-
|
341 |
-
#: checks/basic.php:27
|
342 |
-
msgid "See: <a href=\"http://codex.wordpress.org/Template_Tags/post_class\">post_class</a><pre> <div id=\"post-<?php the_ID(); ?>\" <?php post_class(); ?>></pre>"
|
343 |
-
msgstr "Vezi: <a href=\"http://codex.wordpress.org/Template_Tags/post_class\">post_class</a><pre> <div id=\"post-<?php the_ID(); ?>\" <?php post_class(); ?>></pre>"
|
344 |
-
|
345 |
-
#. Plugin Name of the plugin/theme
|
346 |
-
msgid "Theme-Check"
|
347 |
-
msgstr "Theme-Check"
|
348 |
-
|
349 |
-
#. Plugin URI of the plugin/theme
|
350 |
-
msgid "http://pross.org.uk/plugins"
|
351 |
-
msgstr "http://pross.org.uk/plugins"
|
352 |
-
|
353 |
-
#. Description of the plugin/theme
|
354 |
-
msgid "A simple and easy way to test your theme for all the latest WordPress standards and practices. A great theme development tool!"
|
355 |
-
msgstr "Un mod simplu și ușor de a verifica tema ta pentru toate standardele și practcile WordPress recente."
|
356 |
-
|
357 |
-
#. Author of the plugin/theme
|
358 |
-
msgid "Pross"
|
359 |
-
msgstr "Pross"
|
360 |
-
|
361 |
-
#. Author URI of the plugin/theme
|
362 |
-
msgid "http://pross.org.uk"
|
363 |
-
msgstr "http://pross.org.uk"
|
364 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
lang/themecheck-sr_RS.mo
DELETED
Binary file
|
lang/themecheck-sr_RS.po
DELETED
@@ -1,364 +0,0 @@
|
|
1 |
-
# Copyright (C) 2010 Theme-Check
|
2 |
-
# This file is distributed under the same license as the Theme-Check package.
|
3 |
-
msgid ""
|
4 |
-
msgstr ""
|
5 |
-
"Project-Id-Version: Theme-Check 20101228.2\n"
|
6 |
-
"Report-Msgid-Bugs-To: http://wordpress.org/tag/theme-check\n"
|
7 |
-
"POT-Creation-Date: 2011-01-23 14:04:21+00:00\n"
|
8 |
-
"MIME-Version: 1.0\n"
|
9 |
-
"Content-Type: text/plain; charset=UTF-8\n"
|
10 |
-
"Content-Transfer-Encoding: 8bit\n"
|
11 |
-
"PO-Revision-Date: 2011-01-25 22:26-0600\n"
|
12 |
-
"Last-Translator: Emil Uzelac <emil@themeid.com>\n"
|
13 |
-
"Language-Team: WPTRT <theme-reviewers@lists.wordpress.org>\n"
|
14 |
-
"X-Poedit-Language: Serbian\n"
|
15 |
-
"X-Poedit-Country: SERBIA\n"
|
16 |
-
"X-Poedit-SourceCharset: utf-8\n"
|
17 |
-
|
18 |
-
#: main.php:66
|
19 |
-
msgid "Theme Info"
|
20 |
-
msgstr "Информације Теме"
|
21 |
-
|
22 |
-
#: main.php:67
|
23 |
-
msgid "Title"
|
24 |
-
msgstr "Наслов"
|
25 |
-
|
26 |
-
#: main.php:68
|
27 |
-
msgid "Version"
|
28 |
-
msgstr "Верзија"
|
29 |
-
|
30 |
-
#: main.php:69
|
31 |
-
msgid "Author"
|
32 |
-
msgstr "Аутор"
|
33 |
-
|
34 |
-
#: main.php:70
|
35 |
-
msgid "Author URI"
|
36 |
-
msgstr "Аутор URI"
|
37 |
-
|
38 |
-
#: main.php:71
|
39 |
-
msgid "Theme URI"
|
40 |
-
msgstr "Тема URI"
|
41 |
-
|
42 |
-
#: main.php:72
|
43 |
-
msgid "License"
|
44 |
-
msgstr "Лиценца"
|
45 |
-
|
46 |
-
#: main.php:73
|
47 |
-
msgid "LicenseURI"
|
48 |
-
msgstr "Лиценца URI"
|
49 |
-
|
50 |
-
#: main.php:75
|
51 |
-
msgid "Tags"
|
52 |
-
msgstr "Етикете"
|
53 |
-
|
54 |
-
#: main.php:76
|
55 |
-
msgid "Description"
|
56 |
-
msgstr "Опис"
|
57 |
-
|
58 |
-
#: main.php:79
|
59 |
-
msgid "This is a child theme. The parent theme is"
|
60 |
-
msgstr "Ово је child тема. Parent тема је"
|
61 |
-
|
62 |
-
#: main.php:91
|
63 |
-
msgid "One or more errors were found for "
|
64 |
-
msgstr "Једна или више грешака је пронађено"
|
65 |
-
|
66 |
-
#: main.php:93
|
67 |
-
msgid " passed the tests"
|
68 |
-
msgstr "је прошла све тестове"
|
69 |
-
|
70 |
-
#: main.php:96
|
71 |
-
msgid "<strong>WP_DEBUG is not enabled!</strong> Please test your theme with <a href=\"http://codex.wordpress.org/Editing_wp-config.php\">debug enabled</a> before you upload!</div>"
|
72 |
-
msgstr "<strong>WP_DEBUG није подешен!</strong> Молим Вас да тестирате вашу тему са <a href=\"http://codex.wordpress.org/Editing_wp-config.php\">debug одобрењем</a> пре пребацивања!</div>"
|
73 |
-
|
74 |
-
#: main.php:161
|
75 |
-
msgid "Check it!"
|
76 |
-
msgstr "Провери!"
|
77 |
-
|
78 |
-
#: checkbase.php:87
|
79 |
-
#: checkbase.php:106
|
80 |
-
msgid "<pre class='tc-grep'>Line "
|
81 |
-
msgstr "<pre class='tc-grep'>Ред"
|
82 |
-
|
83 |
-
#: theme-check.php:23
|
84 |
-
msgid "You do not have sufficient permissions to access this page."
|
85 |
-
msgstr "Немате довољно одобрење за приступ овој страници."
|
86 |
-
|
87 |
-
#: checks/tags.php:13
|
88 |
-
msgid "<span class='tc-lead tc-required'>REQUIRED</span>: This theme doesn't seem to display tags. Modify it to display tags in appropriate locations."
|
89 |
-
msgstr "<span class='tc-lead tc-required'>ОБАВЕЗНО</span>: Ова тема није у могућности да прикаже етикете. Модификујте код за етикете у намењеној локацији."
|
90 |
-
|
91 |
-
#: checks/gravatar.php:15
|
92 |
-
msgid "<span class='tc-lead tc-required'>REQUIRED</span>: This theme doesn't seem to support the standard avatar functions. Use <strong>get_avatar</strong> or <strong>wp_list_comments</strong> to add this support."
|
93 |
-
msgstr "<span class='tc-lead tc-required'>ОБАВЕЗНО</span>: Ова тема не подржава основне аватар функције. Користите <strong>get_avatar</strong> или <strong>wp_list_comments</strong> да додате подршку."
|
94 |
-
|
95 |
-
#: checks/commpage.php:15
|
96 |
-
msgid "<span class='tc-lead tc-required'>REQUIRED</span>: The theme doesn't have comment pagination code in it. Use <strong>paginate_comments_links()</strong> or <strong>next_comments_link()</strong> and <strong>previous_comments_link()</strong> to add comment pagination."
|
97 |
-
msgstr "<span class='tc-lead tc-required'>ОБАВЕЗНО</span>: Ова тема нема comment pagination код. Користите <strong>paginate_comments_links()</strong> или <strong>next_comments_link()</strong> и <strong>previous_comments_link()</strong> да додате comment pagination."
|
98 |
-
|
99 |
-
#: checks/postthumb.php:15
|
100 |
-
msgid "<span class='tc-lead tc-recommended'>RECOMMENDED</span>: No reference to <strong>the_post_thumbnail()</strong> was found in the theme. It is recommended that the theme implement this functionality instead of using custom fields for thumbnails."
|
101 |
-
msgstr "<span class='tc-lead tc-recommended'>ПРЕПОРУЧЕНО</span>: Нема ознака да <strong>the_post_thumbnail()</strong> постоји у теми. Препоручено је да тема спроведе ову функцију, уместо да користи custom fields за thumbnails."
|
102 |
-
|
103 |
-
#: checks/postthumb.php:19
|
104 |
-
msgid "<span class='tc-lead tc-recommended'>RECOMMENDED</span>: No reference to post-thumbnails was found in the theme. If the theme has a thumbnail like functionality, it should be implemented with <strong>add_theme_support( 'post-thumbnails' )</strong>in the functions.php file."
|
105 |
-
msgstr "<span class='tc-lead tc-recommended'>ПРЕПОРУЧЕНО</span>: Нема ознака да post-thumbnails постоји у теми. Ако тема има thumbnail функције, требало би да се спроведе са <strong>add_theme_support( 'post-thumbnails' )</strong>у functions.php фајлу."
|
106 |
-
|
107 |
-
#: checks/navmenu.php:14
|
108 |
-
msgid "<span class='tc-lead tc-recommended'>RECOMMENDED</span>: No reference to nav_menu's was found in the theme. Note that if your theme has a menu bar, it is required to use the WordPress nav_menu functionality for it."
|
109 |
-
msgstr "<span class='tc-lead tc-recommended'>ПРЕПОРУЧЕНО</span>: Нема ознака да nav_menu's постоји у теми. Обратите пажњу да уколико Ваша тема има menu bar, обавезно је да користите WordPress nav_menu функције за то."
|
110 |
-
|
111 |
-
#: checks/directories.php:27
|
112 |
-
msgid "Please remove any extraneous directories like .git or .svn from the ZIP file before uploading it."
|
113 |
-
msgstr "Молим Вас да избаците све непотребне датотеке као што су .git или .svn из ZIP фајла пре уплоадовања."
|
114 |
-
|
115 |
-
#: checks/customs.php:14
|
116 |
-
msgid "<span class='tc-lead tc-recommended'>RECOMMENDED</span>: No reference to <strong>add_custom_image_header</strong> was found in the theme. It is recommended that the theme implement this functionality if using an image for the header."
|
117 |
-
msgstr "<span class='tc-lead tc-recommended'>ПРЕПОРУЧЕНО</span>: Нема ознака да <strong>add_custom_image_header</strong> постоји у теми. Препоручено је да спроведете ову функцију у теми уколико користите имиџ у хедеру."
|
118 |
-
|
119 |
-
#: checks/customs.php:18
|
120 |
-
msgid "<span class='tc-lead tc-recommended'>RECOMMENDED</span>: No reference to <strong>add_custom_background()</strong> was found in the theme. If the theme uses background images or solid colors for the background, then it is recommended that the theme implement this functionality."
|
121 |
-
msgstr "<span class='tc-lead tc-recommended'>ПРЕПОРУЧЕНО</span>: Нема ознака да <strong>add_custom_background()</strong> је пронађен у теми. Ако тема користи имиџе за позадину или боје, онда се препоручује да примените ову функционалност."
|
122 |
-
|
123 |
-
#: checks/filenames.php:21
|
124 |
-
msgid "Windows thumbnail store"
|
125 |
-
msgstr "Windows thumbnail магацин"
|
126 |
-
|
127 |
-
#: checks/filenames.php:22
|
128 |
-
msgid "windows system file"
|
129 |
-
msgstr "windows систем фајл"
|
130 |
-
|
131 |
-
#: checks/filenames.php:23
|
132 |
-
msgid "Komodo Project File"
|
133 |
-
msgstr "Komodo Пројект Фајл"
|
134 |
-
|
135 |
-
#: checks/filenames.php:24
|
136 |
-
msgid "Hidden File"
|
137 |
-
msgstr "Скривени Фајл"
|
138 |
-
|
139 |
-
#: checks/filenames.php:25
|
140 |
-
msgid "PHP server settings file"
|
141 |
-
msgstr "PHP сервер подесиони фајл"
|
142 |
-
|
143 |
-
#: checks/filenames.php:26
|
144 |
-
msgid "Dreamweaver project file"
|
145 |
-
msgstr "Dreamweaver пројект фајл"
|
146 |
-
|
147 |
-
#: checks/filenames.php:27
|
148 |
-
msgid "PHP error log"
|
149 |
-
msgstr "PHP протокол грешке"
|
150 |
-
|
151 |
-
#: checks/filenames.php:28
|
152 |
-
msgid "Server settings file"
|
153 |
-
msgstr "Серверов подесиони фајл"
|
154 |
-
|
155 |
-
#: checks/filenames.php:32
|
156 |
-
msgid "Please see <a href=\"http://codex.wordpress.org/Theme_Review#Theme_Documentation\">Theme_Documentation</a> for more information."
|
157 |
-
msgstr "Молим да видите <a href=\"http://codex.wordpress.org/Theme_Review#Theme_Documentation\">Theme_Documentation</a> за више информација."
|
158 |
-
|
159 |
-
#: checks/style_needed.php:11
|
160 |
-
msgid "<strong>Theme name:</strong> is missing from your style.css header."
|
161 |
-
msgstr "<strong>Име Теме:</strong> недостаје из вашег style.css хедера."
|
162 |
-
|
163 |
-
#: checks/style_needed.php:12
|
164 |
-
msgid "<strong>Description:</strong> is missing from your style.css header."
|
165 |
-
msgstr "<strong>Опис:</strong> недостаје из вашег style.css хедера."
|
166 |
-
|
167 |
-
#: checks/style_needed.php:13
|
168 |
-
msgid "<strong>Author:</strong> is missing from your style.css header."
|
169 |
-
msgstr "<strong>Аутор:</strong> недостаје из вашег style.css хедера."
|
170 |
-
|
171 |
-
#: checks/style_needed.php:14
|
172 |
-
msgid "<strong>Version:</strong> is missing from your style.css header."
|
173 |
-
msgstr "<strong>Верзија:</strong> недостаје из вашег style.css хедера."
|
174 |
-
|
175 |
-
#: checks/style_needed.php:15
|
176 |
-
msgid "<strong>License:</strong> is missing from your style.css header."
|
177 |
-
msgstr "<strong>Лиценца:</strong> недостаје из вашег style.css хедера."
|
178 |
-
|
179 |
-
#: checks/style_needed.php:16
|
180 |
-
msgid "<strong>License URI:</strong> is missing from your style.css header."
|
181 |
-
msgstr "<strong>Лиценца URI:</strong> недостаје из вашег style.css хедера."
|
182 |
-
|
183 |
-
#: checks/style_needed.php:17
|
184 |
-
msgid "<strong>.alignleft</strong> css class is needed in your theme css."
|
185 |
-
msgstr "<strong>.alignleft</strong> css класа је неопходна у css фајлу ваше теме."
|
186 |
-
|
187 |
-
#: checks/style_needed.php:18
|
188 |
-
msgid "<strong>.alignright</strong> css class is needed in your theme css."
|
189 |
-
msgstr "<strong>.alignright</strong> css класа је неопходна у css фајлу ваше теме."
|
190 |
-
|
191 |
-
#: checks/style_needed.php:19
|
192 |
-
msgid "<strong>.aligncenter</strong> css class is needed in your theme css."
|
193 |
-
msgstr "<strong>.aligncenter</strong> css класа је неопходна у css фајлу ваше теме."
|
194 |
-
|
195 |
-
#: checks/style_needed.php:20
|
196 |
-
msgid "<strong>.wp-caption</strong> css class is needed in your theme css."
|
197 |
-
msgstr "<strong>.wp-caption</strong> css класа је неопходна у css фајлу ваше теме."
|
198 |
-
|
199 |
-
#: checks/style_needed.php:21
|
200 |
-
msgid "<strong>.wp-caption-text</strong> css class is needed in your theme css."
|
201 |
-
msgstr "<strong>.wp-caption-text</strong> css класа је неопходна у css фајлу ваше теме."
|
202 |
-
|
203 |
-
#: checks/style_needed.php:22
|
204 |
-
msgid "<strong>.gallery-caption</strong> css class is needed in your theme css."
|
205 |
-
msgstr "<strong>.gallery-caption</strong> css класа је неопходна у css фајлу ваше теме."
|
206 |
-
|
207 |
-
#: checks/style_tags.php:20
|
208 |
-
msgid "<span class='tc-lead tc-recommended'>RECOMMENDED</span>: <strong>Tags:</strong> is either empty or missing in style.css header."
|
209 |
-
msgstr "<span class='tc-lead tc-recommended'>ПРЕПОРУЧЕНО</span>: <strong>Етикета:</strong> је или празна или не постоји у style.css хедеру."
|
210 |
-
|
211 |
-
#: checks/searchform.php:14
|
212 |
-
msgid "<span class='tc-lead tc-required'>REQUIRED</span>: Please use <strong>get_search_form()</strong> instead of including searchform.php directly."
|
213 |
-
msgstr "<span class='tc-lead tc-required'>ОБАВЕЗНО</span>: Молим да користите <strong>get_search_form()</strong> уместо садржавања searchform.php директно."
|
214 |
-
|
215 |
-
#: checks/worms.php:9
|
216 |
-
msgid "<strong>PHP shell was found!</strong>"
|
217 |
-
msgstr "<strong>PHP shell је пронађен!</strong>"
|
218 |
-
|
219 |
-
#: checks/include.php:10
|
220 |
-
msgid "The theme appears to use include or require. If these are being used to include separate sections of a template from independent files, then <strong>get_template_part()</strong> should be used instead."
|
221 |
-
msgstr "Тема изгледа да користи include или require. Уколико се и користе за убацивање одвојених секција темплејта из независних фајлова, онда уместо тога користите <strong>get_template_part()</strong>"
|
222 |
-
|
223 |
-
#: checks/malware.php:9
|
224 |
-
msgid "possible file operations"
|
225 |
-
msgstr "могуће фајл операције"
|
226 |
-
|
227 |
-
#: checks/postsnav.php:16
|
228 |
-
msgid "<span class='tc-lead tc-required'>REQUIRED</span>: The theme doesn't have post pagination code in it. Use <strong>posts_nav_link()</strong> or <strong>paginate_links()</strong> or <strong>next_posts_link()</strong> and <strong>previous_posts_link()</strong> to add post pagination."
|
229 |
-
msgstr "<span class='tc-lead tc-required'>ОБАВЕЗНО</span>: Тема нема код за пост пагинацију. Користите <strong>posts_nav_link()</strong> или <strong>paginate_links()</strong> и <strong>next_posts_link()</strong> и <strong>previous_posts_link()</strong> да додате пост пагинацију."
|
230 |
-
|
231 |
-
#: checks/admin_menu.php:13
|
232 |
-
msgid "User levels were deprecated in <strong>2.0</strong>. Please see <a href=\"http://codex.wordpress.org/Roles_and_Capabilities\">Roles_and_Capabilities</a>"
|
233 |
-
msgstr "Кориснички нивои су одбачени у <strong>2.0</strong>. Молим да погледате <a href=\"http://codex.wordpress.org/Roles_and_Capabilities\">Roles_and_Capabilities</a>"
|
234 |
-
|
235 |
-
#: checks/admin_menu.php:33
|
236 |
-
msgid "Themes should use <strong>add_theme_page()</strong> for adding admin pages."
|
237 |
-
msgstr "Теме би требале да користе <strong>add_theme_page()</strong> за убацивање администрационих страница."
|
238 |
-
|
239 |
-
#: checks/artisteer.php:23
|
240 |
-
msgid "This theme appears to have been auto-generated. Generated themes are not allowed in the themes directory."
|
241 |
-
msgstr "Ова тема изгледа да је била аутоматски генерисана. Генерисане теме нису дозвољене у директоријуму тема."
|
242 |
-
|
243 |
-
#: checks/editorstyle.php:13
|
244 |
-
msgid "<span class='tc-lead tc-recommended'>RECOMMENDED</span>: No reference to <strong>add_editor_style()</strong> was found in the theme. It is recommended that the theme implement editor styling, so as to make the editor content match the resulting post output in the theme, for a better user experience."
|
245 |
-
msgstr "<span class='tc-lead tc-recommended'>ПРЕПОРУЧЕНО</span>: Нема ознака да <strong>add_editor_style()</strong> постоји у теми. Препоручено је да тема укључи стил за уреднике како би уређивачки садржај изгледао као и постови теме, зарад бољег искуства корисника."
|
246 |
-
|
247 |
-
#: checks/content-width.php:14
|
248 |
-
msgid "<span class='tc-lead tc-required'>REQUIRED</span>: No content width has been defined. Example: <pre>if ( ! isset( $content_width ) ) $content_width = 900;</pre>"
|
249 |
-
msgstr "<span class='tc-lead tc-required'>ОБАВЕЗНО</span>: Ширина садржаја није дефинисана. Пример: <pre>if ( ! isset( $content_width ) ) $content_width = 900;</pre>"
|
250 |
-
|
251 |
-
#: checks/badthings.php:9
|
252 |
-
msgid "eval() is not allowed."
|
253 |
-
msgstr "eval() није дозвољен."
|
254 |
-
|
255 |
-
#: checks/badthings.php:10
|
256 |
-
msgid "PHP sytem calls should be disabled by server admins anyway!"
|
257 |
-
msgstr "PHP систем позиви свакако треба да буду онеспособљени од стане администратора сервера!"
|
258 |
-
|
259 |
-
#: checks/badthings.php:11
|
260 |
-
msgid "Themes should not change server PHP settings"
|
261 |
-
msgstr "Тема неби требала да прави PHP промене на серверу"
|
262 |
-
|
263 |
-
#: checks/badthings.php:12
|
264 |
-
msgid "base64_decode() is not allowed"
|
265 |
-
msgstr "base64_decode() није дозвољен"
|
266 |
-
|
267 |
-
#: checks/badthings.php:13
|
268 |
-
msgid "base64_encode() is not allowed"
|
269 |
-
msgstr "base64_encode() није дозвољен"
|
270 |
-
|
271 |
-
#: checks/badthings.php:14
|
272 |
-
msgid "uudecode() is not allowed"
|
273 |
-
msgstr "uudecode() није дозвољен"
|
274 |
-
|
275 |
-
#: checks/badthings.php:15
|
276 |
-
msgid "str_rot13() is not allowed"
|
277 |
-
msgstr "str_rot13() није дозвољен"
|
278 |
-
|
279 |
-
#: checks/badthings.php:16
|
280 |
-
#: checks/badthings.php:37
|
281 |
-
msgid "Google search code detected"
|
282 |
-
msgstr "Google претраживачки код је пронађен"
|
283 |
-
|
284 |
-
#: checks/badthings.php:17
|
285 |
-
#: checks/badthings.php:38
|
286 |
-
msgid "Googe advertising code detected"
|
287 |
-
msgstr "Google рекламни код је пронађен"
|
288 |
-
|
289 |
-
#: checks/basic.php:14
|
290 |
-
msgid "See: <a href=\"http://codex.wordpress.org/HTML_to_XHTML\">http://codex.wordpress.org/HTML_to_XHTML</a><pre><!DOCTYPE html PUBLIC \"-//W3C//DTD XHTML 1.0 Strict//EN\"<br />\"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd\"?></pre>"
|
291 |
-
msgstr "Види: <a href=\"http://codex.wordpress.org/HTML_to_XHTML\">http://codex.wordpress.org/HTML_to_XHTML</a><pre><!DOCTYPE html PUBLIC \"-//W3C//DTD XHTML 1.0 Strict//EN\"<br />\"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd\"?></pre>"
|
292 |
-
|
293 |
-
#: checks/basic.php:15
|
294 |
-
msgid "See: <a href=\"http://codex.wordpress.org/Function_Reference/wp_footer\">wp_footer</a><pre> <?php wp_footer(); ?></pre>"
|
295 |
-
msgstr "Види: <a href=\"http://codex.wordpress.org/Function_Reference/wp_footer\">wp_footer</a><pre> <?php wp_footer(); ?></pre>"
|
296 |
-
|
297 |
-
#: checks/basic.php:16
|
298 |
-
msgid "See: <a href=\"http://codex.wordpress.org/Function_Reference/wp_head\">wp_head</a><pre> <?php wp_head(); ?></pre>"
|
299 |
-
msgstr "Види: <a href=\"http://codex.wordpress.org/Function_Reference/wp_head\">wp_head</a><pre> <?php wp_head(); ?></pre>"
|
300 |
-
|
301 |
-
#: checks/basic.php:17
|
302 |
-
msgid "See: <a href=\"http://codex.wordpress.org/Function_Reference/language_attributes\">language_attributes</a><pre><html <?php language_attributes(); ?></pre>"
|
303 |
-
msgstr "Види: <a href=\"http://codex.wordpress.org/Function_Reference/language_attributes\">language_attributes</a><pre><html <?php language_attributes(); ?></pre>"
|
304 |
-
|
305 |
-
#: checks/basic.php:18
|
306 |
-
msgid "There must be a charset defined in the Content-Type or the meta charset tag in the head."
|
307 |
-
msgstr "Charset мора да буде дефинисан у Content-Type или meta charset ознака на врху стране."
|
308 |
-
|
309 |
-
#: checks/basic.php:19
|
310 |
-
msgid "See: <a href=\"http://codex.wordpress.org/Function_Reference/add_theme_support\">add_theme_support</a><pre> <?php add_theme_support( $feature ); ?></pre>"
|
311 |
-
msgstr "Види: <a href=\"http://codex.wordpress.org/Function_Reference/add_theme_support\">add_theme_support</a><pre> <?php add_theme_support( $feature ); ?></pre>"
|
312 |
-
|
313 |
-
#: checks/basic.php:20
|
314 |
-
msgid "See: <ahref=\"http://codex.wordpress.org/Function_Reference/register_sidebar\">register_sidebar</a><pre> <?php register_sidebar( $args ); ?></pre>"
|
315 |
-
msgstr "Види: <ahref=\"http://codex.wordpress.org/Function_Reference/register_sidebar\">register_sidebar</a><pre> <?php register_sidebar( $args ); ?></pre>"
|
316 |
-
|
317 |
-
#: checks/basic.php:21
|
318 |
-
msgid "See: <a href=\"http://codex.wordpress.org/Function_Reference/dynamic_sidebar\">dynamic_sidebar</a><pre> <?php dynamic_sidebar( $index ); ?></pre>"
|
319 |
-
msgstr "Види: <a href=\"http://codex.wordpress.org/Function_Reference/dynamic_sidebar\">dynamic_sidebar</a><pre> <?php dynamic_sidebar( $index ); ?></pre>"
|
320 |
-
|
321 |
-
#: checks/basic.php:22
|
322 |
-
msgid "See: <a href=\"http://codex.wordpress.org/Template_Tags/comments_template\">comments_template</a><pre> <?php comments_template( $file, $separate_comments ); ?></pre>"
|
323 |
-
msgstr "Види: <a href=\"http://codex.wordpress.org/Template_Tags/comments_template\">comments_template</a><pre> <?php comments_template( $file, $separate_comments ); ?></pre>"
|
324 |
-
|
325 |
-
#: checks/basic.php:23
|
326 |
-
msgid "See: <a href=\"http://codex.wordpress.org/Template_Tags/wp_list_comments\">wp_list_comments</a><pre> <?php wp_list_comments( $args ); ?></pre>"
|
327 |
-
msgstr "Види: <a href=\"http://codex.wordpress.org/Template_Tags/wp_list_comments\">wp_list_comments</a><pre> <?php wp_list_comments( $args ); ?></pre>"
|
328 |
-
|
329 |
-
#: checks/basic.php:24
|
330 |
-
msgid "See: <a href=\"http://codex.wordpress.org/Template_Tags/comment_form\">comment_form</a><pre> <?php comment_form(); ?></pre>"
|
331 |
-
msgstr "Види: <a href=\"http://codex.wordpress.org/Template_Tags/comment_form\">comment_form</a><pre> <?php comment_form(); ?></pre>"
|
332 |
-
|
333 |
-
#: checks/basic.php:25
|
334 |
-
msgid "See: <a href=\"http://codex.wordpress.org/Migrating_Plugins_and_Themes_to_2.7/Enhanced_Comment_Display\">Migrating Plugins and Themes to 2.7/Enhanced Comment Display</a><pre> <?php if ( is_singular() ) wp_enqueue_script( \"comment-reply\" ); ?></pre>"
|
335 |
-
msgstr "Види: <a href=\"http://codex.wordpress.org/Migrating_Plugins_and_Themes_to_2.7/Enhanced_Comment_Display\">Migrating Plugins and Themes to 2.7/Enhanced Comment Display</a><pre> <?php if ( is_singular() ) wp_enqueue_script( \"comment-reply\" ); ?></pre>"
|
336 |
-
|
337 |
-
#: checks/basic.php:26
|
338 |
-
msgid "See: <a href=\"http://codex.wordpress.org/Template_Tags/body_class\">body_class</a><pre> <?php body_class( $class ); ?></pre>"
|
339 |
-
msgstr "Види: <a href=\"http://codex.wordpress.org/Template_Tags/body_class\">body_class</a><pre> <?php body_class( $class ); ?></pre>"
|
340 |
-
|
341 |
-
#: checks/basic.php:27
|
342 |
-
msgid "See: <a href=\"http://codex.wordpress.org/Template_Tags/post_class\">post_class</a><pre> <div id=\"post-<?php the_ID(); ?>\" <?php post_class(); ?>></pre>"
|
343 |
-
msgstr "Види: <a href=\"http://codex.wordpress.org/Template_Tags/post_class\">post_class</a><pre> <div id=\"post-<?php the_ID(); ?>\" <?php post_class(); ?>></pre>"
|
344 |
-
|
345 |
-
#. Plugin Name of the plugin/theme
|
346 |
-
msgid "Theme-Check"
|
347 |
-
msgstr "Провера-Теме"
|
348 |
-
|
349 |
-
#. Plugin URI of the plugin/theme
|
350 |
-
msgid "http://pross.org.uk/plugins"
|
351 |
-
msgstr "http://pross.org.uk/plugins"
|
352 |
-
|
353 |
-
#. Description of the plugin/theme
|
354 |
-
msgid "A simple and easy way to test your theme for all the latest WordPress standards and practices. A great theme development tool!"
|
355 |
-
msgstr "Једноставан и лак начин за тестирање Ваше теме по последњим WordPress стандардима и вештинама. Одлична алатка за развијање!"
|
356 |
-
|
357 |
-
#. Author of the plugin/theme
|
358 |
-
msgid "Pross"
|
359 |
-
msgstr "Pross"
|
360 |
-
|
361 |
-
#. Author URI of the plugin/theme
|
362 |
-
msgid "http://pross.org.uk"
|
363 |
-
msgstr "http://pross.org.uk"
|
364 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
lang/themecheck.pot
DELETED
@@ -1,547 +0,0 @@
|
|
1 |
-
# Copyright (C) 2010
|
2 |
-
# This file is distributed under the same license as the package.
|
3 |
-
msgid ""
|
4 |
-
msgstr ""
|
5 |
-
"Project-Id-Version: \n"
|
6 |
-
"Report-Msgid-Bugs-To: http://wordpress.org/tag/theme-check_svn\n"
|
7 |
-
"POT-Creation-Date: 2011-02-05 19:47:08+00:00\n"
|
8 |
-
"MIME-Version: 1.0\n"
|
9 |
-
"Content-Type: text/plain; charset=UTF-8\n"
|
10 |
-
"Content-Transfer-Encoding: 8bit\n"
|
11 |
-
"PO-Revision-Date: 2010-MO-DA HO:MI+ZONE\n"
|
12 |
-
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
|
13 |
-
"Language-Team: LANGUAGE <LL@li.org>\n"
|
14 |
-
|
15 |
-
#: theme-check.php:28
|
16 |
-
msgid "You do not have sufficient permissions to access this page."
|
17 |
-
msgstr ""
|
18 |
-
|
19 |
-
#: checks/malware.php:9
|
20 |
-
msgid "possible file operations"
|
21 |
-
msgstr ""
|
22 |
-
|
23 |
-
#: checks/searchform.php:9
|
24 |
-
msgid ""
|
25 |
-
"Please use <strong>get_search_form()</strong> instead of including "
|
26 |
-
"searchform.php directly."
|
27 |
-
msgstr ""
|
28 |
-
|
29 |
-
#: checks/commpage.php:15
|
30 |
-
msgid ""
|
31 |
-
"<span class='tc-lead tc-required'>REQUIRED</span>: The theme doesn't have "
|
32 |
-
"comment pagination code in it. Use <strong>paginate_comments_links()</"
|
33 |
-
"strong> or <strong>next_comments_link()</strong> and "
|
34 |
-
"<strong>previous_comments_link()</strong> to add comment pagination."
|
35 |
-
msgstr ""
|
36 |
-
|
37 |
-
#: checks/editorstyle.php:13
|
38 |
-
msgid ""
|
39 |
-
"<span class='tc-lead tc-recommended'>RECOMMENDED</span>: No reference to "
|
40 |
-
"<strong>add_editor_style()</strong> was found in the theme. It is "
|
41 |
-
"recommended that the theme implement editor styling, so as to make the "
|
42 |
-
"editor content match the resulting post output in the theme, for a better "
|
43 |
-
"user experience."
|
44 |
-
msgstr ""
|
45 |
-
|
46 |
-
#: checks/screenshot.php:26
|
47 |
-
msgid ""
|
48 |
-
"<span class='tc-lead tc-warning'>WARNING</span>: No screenshot detected! "
|
49 |
-
"Please include a screenshot.png."
|
50 |
-
msgstr ""
|
51 |
-
|
52 |
-
#: checks/navmenu.php:14
|
53 |
-
msgid ""
|
54 |
-
"<span class='tc-lead tc-recommended'>RECOMMENDED</span>: No reference to "
|
55 |
-
"nav_menu's was found in the theme. Note that if your theme has a menu bar, "
|
56 |
-
"it is required to use the WordPress nav_menu functionality for it."
|
57 |
-
msgstr ""
|
58 |
-
|
59 |
-
#: checks/include.php:10
|
60 |
-
msgid ""
|
61 |
-
"The theme appears to use include or require. If these are being used to "
|
62 |
-
"include separate sections of a template from independent files, then "
|
63 |
-
"<strong>get_template_part()</strong> should be used instead."
|
64 |
-
msgstr ""
|
65 |
-
|
66 |
-
#: checks/directories.php:27
|
67 |
-
msgid ""
|
68 |
-
"Please remove any extraneous directories like .git or .svn from the ZIP file "
|
69 |
-
"before uploading it."
|
70 |
-
msgstr ""
|
71 |
-
|
72 |
-
#: checks/style_tags.php:20
|
73 |
-
msgid ""
|
74 |
-
"<span class='tc-lead tc-recommended'>RECOMMENDED</span>: <strong>Tags:</"
|
75 |
-
"strong> is either empty or missing in style.css header."
|
76 |
-
msgstr ""
|
77 |
-
|
78 |
-
#: checks/customs.php:14
|
79 |
-
msgid ""
|
80 |
-
"<span class='tc-lead tc-recommended'>RECOMMENDED</span>: No reference to "
|
81 |
-
"<strong>add_custom_image_header</strong> was found in the theme. It is "
|
82 |
-
"recommended that the theme implement this functionality if using an image "
|
83 |
-
"for the header."
|
84 |
-
msgstr ""
|
85 |
-
|
86 |
-
#: checks/customs.php:18
|
87 |
-
msgid ""
|
88 |
-
"<span class='tc-lead tc-recommended'>RECOMMENDED</span>: No reference to "
|
89 |
-
"<strong>add_custom_background()</strong> was found in the theme. If the "
|
90 |
-
"theme uses background images or solid colors for the background, then it is "
|
91 |
-
"recommended that the theme implement this functionality."
|
92 |
-
msgstr ""
|
93 |
-
|
94 |
-
#: checks/textdomain.php:15
|
95 |
-
msgid "twentyten text domain is being used!"
|
96 |
-
msgstr ""
|
97 |
-
|
98 |
-
#: checks/textdomain.php:16
|
99 |
-
msgid "You have not included a text domain!"
|
100 |
-
msgstr ""
|
101 |
-
|
102 |
-
#: checks/badthings.php:9
|
103 |
-
msgid "eval() is not allowed."
|
104 |
-
msgstr ""
|
105 |
-
|
106 |
-
#: checks/badthings.php:10
|
107 |
-
msgid "PHP sytem calls should be disabled by server admins anyway!"
|
108 |
-
msgstr ""
|
109 |
-
|
110 |
-
#: checks/badthings.php:11
|
111 |
-
msgid "Themes should not change server PHP settings"
|
112 |
-
msgstr ""
|
113 |
-
|
114 |
-
#: checks/badthings.php:12
|
115 |
-
msgid "base64_decode() is not allowed"
|
116 |
-
msgstr ""
|
117 |
-
|
118 |
-
#: checks/badthings.php:13
|
119 |
-
msgid "base64_encode() is not allowed"
|
120 |
-
msgstr ""
|
121 |
-
|
122 |
-
#: checks/badthings.php:14
|
123 |
-
msgid "uudecode() is not allowed"
|
124 |
-
msgstr ""
|
125 |
-
|
126 |
-
#: checks/badthings.php:15
|
127 |
-
msgid "str_rot13() is not allowed"
|
128 |
-
msgstr ""
|
129 |
-
|
130 |
-
#: checks/badthings.php:16 checks/badthings.php:37
|
131 |
-
msgid "Google search code detected"
|
132 |
-
msgstr ""
|
133 |
-
|
134 |
-
#: checks/badthings.php:17 checks/badthings.php:38
|
135 |
-
msgid "Googe advertising code detected"
|
136 |
-
msgstr ""
|
137 |
-
|
138 |
-
#: checks/artisteer.php:23
|
139 |
-
msgid ""
|
140 |
-
"This theme appears to have been auto-generated. Generated themes are not "
|
141 |
-
"allowed in the themes directory."
|
142 |
-
msgstr ""
|
143 |
-
|
144 |
-
#: checks/basic.php:14
|
145 |
-
msgid ""
|
146 |
-
"See: <a href=\"http://codex.wordpress.org/HTML_to_XHTML\">http://codex."
|
147 |
-
"wordpress.org/HTML_to_XHTML</a><pre><!DOCTYPE html PUBLIC \"-//W3C//DTD "
|
148 |
-
"XHTML 1.0 Strict//EN\"<br />\"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict."
|
149 |
-
"dtd\"?></pre>"
|
150 |
-
msgstr ""
|
151 |
-
|
152 |
-
#: checks/basic.php:15
|
153 |
-
msgid ""
|
154 |
-
"See: <a href=\"http://codex.wordpress.org/Function_Reference/wp_footer"
|
155 |
-
"\">wp_footer</a><pre> <?php wp_footer(); ?></pre>"
|
156 |
-
msgstr ""
|
157 |
-
|
158 |
-
#: checks/basic.php:16
|
159 |
-
msgid ""
|
160 |
-
"See: <a href=\"http://codex.wordpress.org/Function_Reference/wp_head"
|
161 |
-
"\">wp_head</a><pre> <?php wp_head(); ?></pre>"
|
162 |
-
msgstr ""
|
163 |
-
|
164 |
-
#: checks/basic.php:17
|
165 |
-
msgid ""
|
166 |
-
"See: <a href=\"http://codex.wordpress.org/Function_Reference/"
|
167 |
-
"language_attributes\">language_attributes</a><pre><html <?php "
|
168 |
-
"language_attributes(); ?></pre>"
|
169 |
-
msgstr ""
|
170 |
-
|
171 |
-
#: checks/basic.php:18
|
172 |
-
msgid ""
|
173 |
-
"There must be a charset defined in the Content-Type or the meta charset tag "
|
174 |
-
"in the head."
|
175 |
-
msgstr ""
|
176 |
-
|
177 |
-
#: checks/basic.php:19
|
178 |
-
msgid ""
|
179 |
-
"See: <a href=\"http://codex.wordpress.org/Function_Reference/"
|
180 |
-
"add_theme_support\">add_theme_support</a><pre> <?php add_theme_support"
|
181 |
-
"( $feature ); ?></pre>"
|
182 |
-
msgstr ""
|
183 |
-
|
184 |
-
#: checks/basic.php:20
|
185 |
-
msgid ""
|
186 |
-
"See: <ahref=\"http://codex.wordpress.org/Function_Reference/register_sidebar"
|
187 |
-
"\">register_sidebar</a><pre> <?php register_sidebar( $args ); ?></pre>"
|
188 |
-
msgstr ""
|
189 |
-
|
190 |
-
#: checks/basic.php:21
|
191 |
-
msgid ""
|
192 |
-
"See: <a href=\"http://codex.wordpress.org/Function_Reference/dynamic_sidebar"
|
193 |
-
"\">dynamic_sidebar</a><pre> <?php dynamic_sidebar( $index ); ?></pre>"
|
194 |
-
msgstr ""
|
195 |
-
|
196 |
-
#: checks/basic.php:22
|
197 |
-
msgid ""
|
198 |
-
"See: <a href=\"http://codex.wordpress.org/Template_Tags/comments_template"
|
199 |
-
"\">comments_template</a><pre> <?php comments_template( $file, "
|
200 |
-
"$separate_comments ); ?></pre>"
|
201 |
-
msgstr ""
|
202 |
-
|
203 |
-
#: checks/basic.php:23
|
204 |
-
msgid ""
|
205 |
-
"See: <a href=\"http://codex.wordpress.org/Template_Tags/wp_list_comments"
|
206 |
-
"\">wp_list_comments</a><pre> <?php wp_list_comments( $args ); ?></pre>"
|
207 |
-
msgstr ""
|
208 |
-
|
209 |
-
#: checks/basic.php:24
|
210 |
-
msgid ""
|
211 |
-
"See: <a href=\"http://codex.wordpress.org/Template_Tags/comment_form"
|
212 |
-
"\">comment_form</a><pre> <?php comment_form(); ?></pre>"
|
213 |
-
msgstr ""
|
214 |
-
|
215 |
-
#: checks/basic.php:25
|
216 |
-
msgid ""
|
217 |
-
"See: <a href=\"http://codex.wordpress.org/"
|
218 |
-
"Migrating_Plugins_and_Themes_to_2.7/Enhanced_Comment_Display\">Migrating "
|
219 |
-
"Plugins and Themes to 2.7/Enhanced Comment Display</a><pre> <?php if "
|
220 |
-
"( is_singular() ) wp_enqueue_script( \"comment-reply\" ); ?></pre>"
|
221 |
-
msgstr ""
|
222 |
-
|
223 |
-
#: checks/basic.php:26
|
224 |
-
msgid ""
|
225 |
-
"See: <a href=\"http://codex.wordpress.org/Template_Tags/body_class"
|
226 |
-
"\">body_class</a><pre> <?php body_class( $class ); ?></pre>"
|
227 |
-
msgstr ""
|
228 |
-
|
229 |
-
#: checks/basic.php:27
|
230 |
-
msgid ""
|
231 |
-
"See: <a href=\"http://codex.wordpress.org/Template_Tags/post_class"
|
232 |
-
"\">post_class</a><pre> <div id=\"post-<?php the_ID(); ?>\" <?php "
|
233 |
-
"post_class(); ?>></pre>"
|
234 |
-
msgstr ""
|
235 |
-
|
236 |
-
#: checks/gravatar.php:15
|
237 |
-
msgid ""
|
238 |
-
"<span class='tc-lead tc-required'>REQUIRED</span>: This theme doesn't seem "
|
239 |
-
"to support the standard avatar functions. Use <strong>get_avatar</strong> or "
|
240 |
-
"<strong>wp_list_comments</strong> to add this support."
|
241 |
-
msgstr ""
|
242 |
-
|
243 |
-
#: checks/style_needed.php:11
|
244 |
-
msgid "<strong>Theme name:</strong> is missing from your style.css header."
|
245 |
-
msgstr ""
|
246 |
-
|
247 |
-
#: checks/style_needed.php:12
|
248 |
-
msgid "<strong>Description:</strong> is missing from your style.css header."
|
249 |
-
msgstr ""
|
250 |
-
|
251 |
-
#: checks/style_needed.php:13
|
252 |
-
msgid "<strong>Author:</strong> is missing from your style.css header."
|
253 |
-
msgstr ""
|
254 |
-
|
255 |
-
#: checks/style_needed.php:14
|
256 |
-
msgid "<strong>Version:</strong> is missing from your style.css header."
|
257 |
-
msgstr ""
|
258 |
-
|
259 |
-
#: checks/style_needed.php:15
|
260 |
-
msgid "<strong>License:</strong> is missing from your style.css header."
|
261 |
-
msgstr ""
|
262 |
-
|
263 |
-
#: checks/style_needed.php:16
|
264 |
-
msgid "<strong>License URI:</strong> is missing from your style.css header."
|
265 |
-
msgstr ""
|
266 |
-
|
267 |
-
#: checks/style_needed.php:17
|
268 |
-
msgid "<strong>.alignleft</strong> css class is needed in your theme css."
|
269 |
-
msgstr ""
|
270 |
-
|
271 |
-
#: checks/style_needed.php:18
|
272 |
-
msgid "<strong>.alignright</strong> css class is needed in your theme css."
|
273 |
-
msgstr ""
|
274 |
-
|
275 |
-
#: checks/style_needed.php:19
|
276 |
-
msgid "<strong>.aligncenter</strong> css class is needed in your theme css."
|
277 |
-
msgstr ""
|
278 |
-
|
279 |
-
#: checks/style_needed.php:20
|
280 |
-
msgid "<strong>.wp-caption</strong> css class is needed in your theme css."
|
281 |
-
msgstr ""
|
282 |
-
|
283 |
-
#: checks/style_needed.php:21
|
284 |
-
msgid ""
|
285 |
-
"<strong>.wp-caption-text</strong> css class is needed in your theme css."
|
286 |
-
msgstr ""
|
287 |
-
|
288 |
-
#: checks/style_needed.php:22
|
289 |
-
msgid ""
|
290 |
-
"<strong>.gallery-caption</strong> css class is needed in your theme css."
|
291 |
-
msgstr ""
|
292 |
-
|
293 |
-
#: checks/worms.php:9
|
294 |
-
msgid "<strong>PHP shell was found!</strong>"
|
295 |
-
msgstr ""
|
296 |
-
|
297 |
-
#: checks/postsnav.php:16
|
298 |
-
msgid ""
|
299 |
-
"<span class='tc-lead tc-required'>REQUIRED</span>: The theme doesn't have "
|
300 |
-
"post pagination code in it. Use <strong>posts_nav_link()</strong> or "
|
301 |
-
"<strong>paginate_links()</strong> or <strong>next_posts_link()</strong> and "
|
302 |
-
"<strong>previous_posts_link()</strong> to add post pagination."
|
303 |
-
msgstr ""
|
304 |
-
|
305 |
-
#: checks/content-width.php:14
|
306 |
-
msgid ""
|
307 |
-
"<span class='tc-lead tc-required'>REQUIRED</span>: No content width has been "
|
308 |
-
"defined. Example: <pre>if ( ! isset( $content_width ) ) $content_width = 900;"
|
309 |
-
"</pre>"
|
310 |
-
msgstr ""
|
311 |
-
|
312 |
-
#: checks/filenames.php:21
|
313 |
-
msgid "Windows thumbnail store"
|
314 |
-
msgstr ""
|
315 |
-
|
316 |
-
#: checks/filenames.php:22
|
317 |
-
msgid "windows system file"
|
318 |
-
msgstr ""
|
319 |
-
|
320 |
-
#: checks/filenames.php:23
|
321 |
-
msgid "Komodo Project File"
|
322 |
-
msgstr ""
|
323 |
-
|
324 |
-
#: checks/filenames.php:24
|
325 |
-
msgid "Hidden File"
|
326 |
-
msgstr ""
|
327 |
-
|
328 |
-
#: checks/filenames.php:25
|
329 |
-
msgid "PHP server settings file"
|
330 |
-
msgstr ""
|
331 |
-
|
332 |
-
#: checks/filenames.php:26
|
333 |
-
msgid "Dreamweaver project file"
|
334 |
-
msgstr ""
|
335 |
-
|
336 |
-
#: checks/filenames.php:27
|
337 |
-
msgid "PHP error log"
|
338 |
-
msgstr ""
|
339 |
-
|
340 |
-
#: checks/filenames.php:28
|
341 |
-
msgid "Server settings file"
|
342 |
-
msgstr ""
|
343 |
-
|
344 |
-
#: checks/filenames.php:32
|
345 |
-
msgid ""
|
346 |
-
"Please see <a href=\"http://codex.wordpress.org/"
|
347 |
-
"Theme_Review#Theme_Documentation\">Theme_Documentation</a> for more "
|
348 |
-
"information."
|
349 |
-
msgstr ""
|
350 |
-
|
351 |
-
#: checks/tags.php:13
|
352 |
-
msgid ""
|
353 |
-
"<span class='tc-lead tc-required'>REQUIRED</span>: This theme doesn't seem "
|
354 |
-
"to display tags. Modify it to display tags in appropriate locations."
|
355 |
-
msgstr ""
|
356 |
-
|
357 |
-
#: checks/postthumb.php:15
|
358 |
-
msgid ""
|
359 |
-
"<span class='tc-lead tc-recommended'>RECOMMENDED</span>: No reference to "
|
360 |
-
"<strong>the_post_thumbnail()</strong> was found in the theme. It is "
|
361 |
-
"recommended that the theme implement this functionality instead of using "
|
362 |
-
"custom fields for thumbnails."
|
363 |
-
msgstr ""
|
364 |
-
|
365 |
-
#: checks/postthumb.php:19
|
366 |
-
msgid ""
|
367 |
-
"<span class='tc-lead tc-recommended'>RECOMMENDED</span>: No reference to "
|
368 |
-
"post-thumbnails was found in the theme. If the theme has a thumbnail like "
|
369 |
-
"functionality, it should be implemented with <strong>add_theme_support"
|
370 |
-
"( 'post-thumbnails' )</strong>in the functions.php file."
|
371 |
-
msgstr ""
|
372 |
-
|
373 |
-
#: checks/admin_menu.php:13 checks/admin_menu.php:14
|
374 |
-
msgid ""
|
375 |
-
"User levels were deprecated in <strong>2.0</strong>. Please see <a href="
|
376 |
-
"\"http://codex.wordpress.org/Roles_and_Capabilities"
|
377 |
-
"\">Roles_and_Capabilities</a>"
|
378 |
-
msgstr ""
|
379 |
-
|
380 |
-
#: checks/admin_menu.php:34
|
381 |
-
msgid ""
|
382 |
-
"Themes should use <strong>add_theme_page()</strong> for adding admin pages."
|
383 |
-
msgstr ""
|
384 |
-
|
385 |
-
#: main.php:76
|
386 |
-
msgid "Theme Info"
|
387 |
-
msgstr ""
|
388 |
-
|
389 |
-
#: main.php:77
|
390 |
-
msgid "Title"
|
391 |
-
msgstr ""
|
392 |
-
|
393 |
-
#: main.php:78
|
394 |
-
msgid "Version"
|
395 |
-
msgstr ""
|
396 |
-
|
397 |
-
#: main.php:79
|
398 |
-
msgid "Author"
|
399 |
-
msgstr ""
|
400 |
-
|
401 |
-
#: main.php:80
|
402 |
-
msgid "Author URI"
|
403 |
-
msgstr ""
|
404 |
-
|
405 |
-
#: main.php:81
|
406 |
-
msgid "Theme URI"
|
407 |
-
msgstr ""
|
408 |
-
|
409 |
-
#: main.php:82
|
410 |
-
msgid "License"
|
411 |
-
msgstr ""
|
412 |
-
|
413 |
-
#: main.php:83
|
414 |
-
msgid "LicenseURI"
|
415 |
-
msgstr ""
|
416 |
-
|
417 |
-
#: main.php:85
|
418 |
-
msgid "Tags"
|
419 |
-
msgstr ""
|
420 |
-
|
421 |
-
#: main.php:86
|
422 |
-
msgid "Description"
|
423 |
-
msgstr ""
|
424 |
-
|
425 |
-
#: main.php:89
|
426 |
-
msgid "This is a child theme. The parent theme is"
|
427 |
-
msgstr ""
|
428 |
-
|
429 |
-
#: main.php:100
|
430 |
-
msgid "One or more errors were found for "
|
431 |
-
msgstr ""
|
432 |
-
|
433 |
-
#: main.php:102
|
434 |
-
msgid " passed the tests"
|
435 |
-
msgstr ""
|
436 |
-
|
437 |
-
#: main.php:105
|
438 |
-
msgid ""
|
439 |
-
"<strong>WP_DEBUG is not enabled!</strong> Please test your theme with <a "
|
440 |
-
"href=\"http://codex.wordpress.org/Editing_wp-config.php\">debug enabled</a> "
|
441 |
-
"before you upload!</div>"
|
442 |
-
msgstr ""
|
443 |
-
|
444 |
-
#: checkbase.php:87 checkbase.php:106
|
445 |
-
msgid "<pre class='tc-grep'>Line "
|
446 |
-
msgstr ""
|
447 |
-
|
448 |
-
#: checkbase.php:185
|
449 |
-
msgid "<h2>About</h2>"
|
450 |
-
msgstr ""
|
451 |
-
|
452 |
-
#: checkbase.php:186
|
453 |
-
msgid ""
|
454 |
-
"<p>The theme check plugin is an easy way to test your theme and make sure "
|
455 |
-
"it's up to spec with the latest theme review standards.<br />"
|
456 |
-
msgstr ""
|
457 |
-
|
458 |
-
#: checkbase.php:187
|
459 |
-
msgid ""
|
460 |
-
"With it, you can run all the same automated testing tools on your theme that "
|
461 |
-
"WordPress.org uses for theme submissions.</p>"
|
462 |
-
msgstr ""
|
463 |
-
|
464 |
-
#: checkbase.php:188
|
465 |
-
msgid "<h2>Contact</h2>"
|
466 |
-
msgstr ""
|
467 |
-
|
468 |
-
#: checkbase.php:189
|
469 |
-
msgid ""
|
470 |
-
"<p>Theme-Check is maintained by <a href=\"http://profiles.wordpress.org/"
|
471 |
-
"users/pross/\">Pross</a> and <a href=\"http://profiles.wordpress.org/users/"
|
472 |
-
"otto42/\">Otto42</a><br />"
|
473 |
-
msgstr ""
|
474 |
-
|
475 |
-
#: checkbase.php:190
|
476 |
-
msgid ""
|
477 |
-
"If you have found a bug or would like to make a suggestion or contribution "
|
478 |
-
"why not join the <a href=\"http://wordpress.org/extend/themes/contact/"
|
479 |
-
"\">theme-reviewers mailing list</a><br />"
|
480 |
-
msgstr ""
|
481 |
-
|
482 |
-
#: checkbase.php:191
|
483 |
-
msgid ""
|
484 |
-
"or leave a post on the <a href=\"http://wordpress.org/tags/theme-check?"
|
485 |
-
"forum_id=10\">WordPress forums</a>.<br />"
|
486 |
-
msgstr ""
|
487 |
-
|
488 |
-
#: checkbase.php:193
|
489 |
-
msgid "<h2>Contributors</h2>"
|
490 |
-
msgstr ""
|
491 |
-
|
492 |
-
#: checkbase.php:194
|
493 |
-
msgid "<h3>localization</h3>"
|
494 |
-
msgstr ""
|
495 |
-
|
496 |
-
#: checkbase.php:199
|
497 |
-
msgid "<h3>Testers</h3>"
|
498 |
-
msgstr ""
|
499 |
-
|
500 |
-
#: checkbase.php:200
|
501 |
-
msgid ""
|
502 |
-
"<p><a href=\"http://make.wordpress.org/themes/\">The WordPress Theme Review "
|
503 |
-
"Team</a></p>"
|
504 |
-
msgstr ""
|
505 |
-
|
506 |
-
#: checkbase.php:204
|
507 |
-
msgid ""
|
508 |
-
"<div class=\"tc-success\">Now your theme has passed the basic tests you need "
|
509 |
-
"to check it properly using the test data before you upload to the WordPress "
|
510 |
-
"Themes Directory.<br />"
|
511 |
-
msgstr ""
|
512 |
-
|
513 |
-
#: checkbase.php:205
|
514 |
-
msgid ""
|
515 |
-
"<br />Make sure to review the guidelines at <a href=\"http://codex.wordpress."
|
516 |
-
"org/Theme_Review\">Theme Review</a> before uploading a Theme."
|
517 |
-
msgstr ""
|
518 |
-
|
519 |
-
#: checkbase.php:206
|
520 |
-
msgid "<h3>Codex Links</h3>"
|
521 |
-
msgstr ""
|
522 |
-
|
523 |
-
#: checkbase.php:208
|
524 |
-
msgid ""
|
525 |
-
"<li><a href=\"http://codex.wordpress.org/Theme_Development\">Theme "
|
526 |
-
"Development</a></li>"
|
527 |
-
msgstr ""
|
528 |
-
|
529 |
-
#: checkbase.php:209
|
530 |
-
msgid ""
|
531 |
-
"<li><a href=\"http://wordpress.org/support/forum/5\">Themes and Templates "
|
532 |
-
"forum</a></li>"
|
533 |
-
msgstr ""
|
534 |
-
|
535 |
-
#: checkbase.php:210
|
536 |
-
msgid ""
|
537 |
-
"<li><a href=\"http://codex.wordpress.org/Theme_Unit_Test\">Theme Unit Tests</"
|
538 |
-
"a></li>"
|
539 |
-
msgstr ""
|
540 |
-
|
541 |
-
#: checkbase.php:224
|
542 |
-
msgid "Check it!"
|
543 |
-
msgstr ""
|
544 |
-
|
545 |
-
#: checkbase.php:225
|
546 |
-
msgid "Output in Trac format."
|
547 |
-
msgstr ""
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
main.php
CHANGED
@@ -9,7 +9,7 @@ function check_main( $theme ) {
|
|
9 |
// This is a child theme, so we need to pull files from the parent, which HAS to be installed.
|
10 |
$parent = get_theme_root( $data[ 'Template' ] ) . '/' . $data['Template'];
|
11 |
if ( ! tc_get_theme_data( $parent . '/style.css' ) ) { // This should never happen but we will check while were here!
|
12 |
-
echo '<h2>' . sprintf(__('Parent theme
|
13 |
return;
|
14 |
}
|
15 |
$parent_data = tc_get_theme_data( $parent . '/style.css' );
|
@@ -19,10 +19,11 @@ function check_main( $theme ) {
|
|
19 |
|
20 |
if ( $files ) {
|
21 |
foreach( $files as $key => $filename ) {
|
22 |
-
if ( substr( $filename, -4 ) == '.php' ) {
|
23 |
-
$php[$filename] =
|
|
|
24 |
}
|
25 |
-
else if ( substr( $filename, -4 ) == '.css' ) {
|
26 |
$css[$filename] = file_get_contents( $filename );
|
27 |
}
|
28 |
else {
|
@@ -31,59 +32,67 @@ function check_main( $theme ) {
|
|
31 |
}
|
32 |
|
33 |
// run the checks
|
34 |
-
$
|
35 |
|
36 |
global $checkcount;
|
37 |
|
38 |
// second loop, to display the errors
|
39 |
-
echo '<h2>' . __( 'Theme Info', '
|
40 |
echo '<div class="theme-info">';
|
41 |
if (file_exists( trailingslashit( WP_CONTENT_DIR . '/themes' ) . trailingslashit( basename( $theme ) ) . 'screenshot.png' ) ) {
|
42 |
$image = getimagesize( $theme . '/screenshot.png' );
|
43 |
-
|
44 |
-
|
45 |
-
echo '<br /><div style="text-align:center">' . $image[0] . 'x' . $image[1] . ' ' . round( filesize( $theme . '/screenshot.png' )/1024 ) . 'k</div></div>';
|
46 |
-
|
47 |
-
|
48 |
-
|
49 |
}
|
50 |
-
|
51 |
-
echo ( !empty( $data[ '
|
52 |
-
echo ( !empty( $data[ '
|
53 |
-
echo ( !empty( $data[ '
|
54 |
-
echo ( !empty( $data[ '
|
55 |
-
echo ( !empty( $data[ '
|
56 |
-
echo ( !empty( $data[ 'License
|
57 |
-
echo ( !empty( $data[ '
|
58 |
-
echo ( !empty( $data[ '
|
|
|
59 |
|
60 |
if ( $data[ 'Template' ] ) {
|
61 |
if ( $data['Template Version'] > $parent_data['Version'] ) {
|
62 |
-
echo '<p>' . sprintf(
|
|
|
|
|
|
|
|
|
|
|
63 |
}
|
64 |
-
echo '<p>' . sprintf(
|
|
|
|
|
|
|
65 |
if ( empty( $data['Template Version'] ) ) {
|
66 |
-
echo '<p>' . __('Child theme does not have the <strong>Template Version</strong> tag in style.css.', '
|
67 |
} else {
|
68 |
-
echo ( $data['Template Version'] < $parent_data['Version'] ) ? '<p>' . sprintf(__('Child theme is only tested up to version %1$s of %2$s breakage may occur! %3$s installed version is %4$s', '
|
69 |
}
|
70 |
}
|
71 |
echo '</div><!-- .theme-info-->';
|
72 |
-
|
73 |
$plugins = get_plugins( '/theme-check' );
|
74 |
$version = explode( '.', $plugins['theme-check.php']['Version'] );
|
75 |
-
echo '<p>' . sprintf(
|
|
|
|
|
|
|
|
|
|
|
|
|
76 |
$results = display_themechecks();
|
77 |
-
|
78 |
-
|
79 |
-
if (strpos( $results, 'REQUIRED') !== false) $success = false;
|
80 |
-
if ( $success === false ) {
|
81 |
-
echo '<h2>' . sprintf(__('One or more errors were found for %1$s.', 'themecheck'), $data[ 'Title' ] ) . '</h2>';
|
82 |
} else {
|
83 |
-
echo '<h2>' . sprintf(__('%1$s passed the tests', '
|
84 |
tc_success();
|
85 |
}
|
86 |
-
if ( !defined( 'WP_DEBUG' ) || WP_DEBUG == false ) echo '<div class="updated"><span class="tc-fail">WARNING</span> ' . __( '<strong>WP_DEBUG is not enabled!</strong> Please test your theme with <a href="
|
87 |
echo '<div class="tc-box">';
|
88 |
echo '<ul class="tc-result">';
|
89 |
echo $results;
|
@@ -91,36 +100,57 @@ function check_main( $theme ) {
|
|
91 |
}
|
92 |
}
|
93 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
94 |
|
95 |
function tc_intro() {
|
96 |
-
|
97 |
-
_e( '
|
98 |
-
_e( 'With it, you can run all the same automated testing tools on your theme that WordPress.org uses for theme submissions
|
99 |
-
_e( '
|
100 |
-
|
101 |
-
|
102 |
-
|
103 |
-
|
104 |
-
|
105 |
-
|
106 |
-
|
107 |
-
|
108 |
-
|
109 |
-
echo '</ul>';
|
110 |
-
_e( '<h3>Testers</h3>', 'themecheck' );
|
111 |
-
_e( '<p><a href="http://make.wordpress.org/themes/">The WordPress Theme Review Team</a></p>', 'themecheck' );
|
112 |
}
|
113 |
|
114 |
function tc_success() {
|
115 |
-
|
116 |
-
|
117 |
-
_e( '
|
118 |
-
_e( '
|
119 |
-
|
120 |
-
|
121 |
-
|
122 |
-
|
123 |
-
|
|
|
124 |
}
|
125 |
|
126 |
function tc_form() {
|
@@ -130,15 +160,15 @@ function tc_form() {
|
|
130 |
foreach( $themes as $name => $location ) {
|
131 |
echo '<option ';
|
132 |
if ( isset( $_POST['themename'] ) ) {
|
133 |
-
echo ( $location['Stylesheet'] === $_POST['themename'] ) ? 'selected="selected" ' : '';
|
134 |
} else {
|
135 |
echo ( basename( STYLESHEETPATH ) === $location['Stylesheet'] ) ? 'selected="selected" ' : '';
|
136 |
}
|
137 |
echo ( basename( STYLESHEETPATH ) === $location['Stylesheet'] ) ? 'value="' . $location['Stylesheet'] . '" style="font-weight:bold;">' . $name . '</option>' : 'value="' . $location['Stylesheet'] . '">' . $name . '</option>';
|
138 |
}
|
139 |
echo '</select>';
|
140 |
-
echo '<input class="button" type="submit" value="' . __( 'Check it!', '
|
141 |
-
if ( defined( 'TC_PRE' ) || defined( 'TC_POST' ) ) echo ' <input name="trac" type="checkbox" /> ' . __( 'Output in Trac format.', '
|
142 |
-
echo '
|
143 |
echo '</form>';
|
144 |
-
}
|
9 |
// This is a child theme, so we need to pull files from the parent, which HAS to be installed.
|
10 |
$parent = get_theme_root( $data[ 'Template' ] ) . '/' . $data['Template'];
|
11 |
if ( ! tc_get_theme_data( $parent . '/style.css' ) ) { // This should never happen but we will check while were here!
|
12 |
+
echo '<h2>' . sprintf(__('Parent theme %1$s not found! You have to have parent AND child-theme installed!', 'theme-check'), '<strong>' . $data[ 'Template' ] . '</strong>' ) . '</h2>';
|
13 |
return;
|
14 |
}
|
15 |
$parent_data = tc_get_theme_data( $parent . '/style.css' );
|
19 |
|
20 |
if ( $files ) {
|
21 |
foreach( $files as $key => $filename ) {
|
22 |
+
if ( substr( $filename, -4 ) == '.php' && ! is_dir( $filename ) ) {
|
23 |
+
$php[$filename] = file_get_contents( $filename );
|
24 |
+
$php[$filename] = tc_strip_comments( $php[$filename] );
|
25 |
}
|
26 |
+
else if ( substr( $filename, -4 ) == '.css' && ! is_dir( $filename ) ) {
|
27 |
$css[$filename] = file_get_contents( $filename );
|
28 |
}
|
29 |
else {
|
32 |
}
|
33 |
|
34 |
// run the checks
|
35 |
+
$success = run_themechecks($php, $css, $other);
|
36 |
|
37 |
global $checkcount;
|
38 |
|
39 |
// second loop, to display the errors
|
40 |
+
echo '<h2>' . __( 'Theme Info', 'theme-check' ) . ': </h2>';
|
41 |
echo '<div class="theme-info">';
|
42 |
if (file_exists( trailingslashit( WP_CONTENT_DIR . '/themes' ) . trailingslashit( basename( $theme ) ) . 'screenshot.png' ) ) {
|
43 |
$image = getimagesize( $theme . '/screenshot.png' );
|
44 |
+
echo '<div style="float:right" class="theme-info"><img style="max-height:180px;" src="' . trailingslashit( WP_CONTENT_URL . '/themes' ) . trailingslashit( basename( $theme ) ) . 'screenshot.png" />';
|
45 |
+
echo '<br /><div style="text-align:center">' . $image[0] . 'x' . $image[1] . ' ' . round( filesize( $theme . '/screenshot.png' )/1024 ) . 'k</div></div>';
|
|
|
|
|
|
|
|
|
46 |
}
|
47 |
+
|
48 |
+
echo ( !empty( $data[ 'Title' ] ) ) ? '<p><label>' . __( 'Title', 'theme-check' ) . '</label><span class="info">' . $data[ 'Title' ] . '</span></p>' : '';
|
49 |
+
echo ( !empty( $data[ 'Version' ] ) ) ? '<p><label>' . __( 'Version', 'theme-check' ) . '</label><span class="info">' . $data[ 'Version' ] . '</span></p>' : '';
|
50 |
+
echo ( !empty( $data[ 'AuthorName' ] ) ) ? '<p><label>' . __( 'Author', 'theme-check' ) . '</label><span class="info">' . $data[ 'AuthorName' ] . '</span></p>' : '';
|
51 |
+
echo ( !empty( $data[ 'AuthorURI' ] ) ) ? '<p><label>' . __( 'Author URI', 'theme-check' ) . '</label><span class="info"><a href="' . $data[ 'AuthorURI' ] . '">' . $data[ 'AuthorURI' ] . '</a>' . '</span></p>' : '';
|
52 |
+
echo ( !empty( $data[ 'URI' ] ) ) ? '<p><label>' . __( 'Theme URI', 'theme-check' ) . '</label><span class="info"><a href="' . $data[ 'URI' ] . '">' . $data[ 'URI' ] . '</a>' . '</span></p>' : '';
|
53 |
+
echo ( !empty( $data[ 'License' ] ) ) ? '<p><label>' . __( 'License', 'theme-check' ) . '</label><span class="info">' . $data[ 'License' ] . '</span></p>' : '';
|
54 |
+
echo ( !empty( $data[ 'License URI' ] ) ) ? '<p><label>' . __( 'License URI', 'theme-check' ) . '</label><span class="info">' . $data[ 'License URI' ] . '</span></p>' : '';
|
55 |
+
echo ( !empty( $data[ 'Tags' ] ) ) ? '<p><label>' . __( 'Tags', 'theme-check' ) . '</label><span class="info">' . implode( $data[ 'Tags' ], ', ') . '</span></p>' : '';
|
56 |
+
echo ( !empty( $data[ 'Description' ] ) ) ? '<p><label>' . __( 'Description', 'theme-check' ) . '</label><span class="info">' . $data[ 'Description' ] . '</span></p>' : '';
|
57 |
|
58 |
if ( $data[ 'Template' ] ) {
|
59 |
if ( $data['Template Version'] > $parent_data['Version'] ) {
|
60 |
+
echo '<p>' . sprintf(
|
61 |
+
__('This child theme requires at least version %1$s of theme %2$s to be installed. You only have %3$s please update the parent theme.', 'theme-check'),
|
62 |
+
'<strong>' . $data['Template Version'] . '</strong>',
|
63 |
+
'<strong>' . $parent_data['Title'] . '</strong>',
|
64 |
+
'<strong>' . $parent_data['Version'] . '</strong>'
|
65 |
+
) . '</p>';
|
66 |
}
|
67 |
+
echo '<p>' . sprintf(
|
68 |
+
__( 'This is a child theme. The parent theme is: %s. These files have been included automatically!', 'theme-check'),
|
69 |
+
'<strong>' . $data[ 'Template' ] . '</strong>'
|
70 |
+
) . '</p>';
|
71 |
if ( empty( $data['Template Version'] ) ) {
|
72 |
+
echo '<p>' . __('Child theme does not have the <strong>Template Version</strong> tag in style.css.', 'theme-check') . '</p>';
|
73 |
} else {
|
74 |
+
echo ( $data['Template Version'] < $parent_data['Version'] ) ? '<p>' . sprintf(__('Child theme is only tested up to version %1$s of %2$s breakage may occur! %3$s installed version is %4$s', 'theme-check'), $data['Template Version'], $parent_data['Title'], $parent_data['Title'], $parent_data['Version'] ) . '</p>' : '';
|
75 |
}
|
76 |
}
|
77 |
echo '</div><!-- .theme-info-->';
|
78 |
+
|
79 |
$plugins = get_plugins( '/theme-check' );
|
80 |
$version = explode( '.', $plugins['theme-check.php']['Version'] );
|
81 |
+
echo '<p>' . sprintf(
|
82 |
+
__(' Running %1$s tests against %2$s using Guidelines Version: %3$s Plugin revision: %4$s', 'theme-check'),
|
83 |
+
'<strong>' . $checkcount . '</strong>',
|
84 |
+
'<strong>' . $data[ 'Title' ] . '</strong>',
|
85 |
+
'<strong>' . $version[0] . '</strong>',
|
86 |
+
'<strong>' . $version[1] . '</strong>'
|
87 |
+
) . '</p>';
|
88 |
$results = display_themechecks();
|
89 |
+
if ( !$success ) {
|
90 |
+
echo '<h2>' . sprintf(__('One or more errors were found for %1$s.', 'theme-check'), $data[ 'Title' ] ) . '</h2>';
|
|
|
|
|
|
|
91 |
} else {
|
92 |
+
echo '<h2>' . sprintf(__('%1$s passed the tests', 'theme-check'), $data[ 'Title' ] ) . '</h2>';
|
93 |
tc_success();
|
94 |
}
|
95 |
+
if ( !defined( 'WP_DEBUG' ) || WP_DEBUG == false ) echo '<div class="updated"><span class="tc-fail">' . __('WARNING','theme-check') . '</span> ' . __( '<strong>WP_DEBUG is not enabled!</strong> Please test your theme with <a href="https://codex.wordpress.org/Editing_wp-config.php">debug enabled</a> before you upload!', 'theme-check' ) . '</div>';
|
96 |
echo '<div class="tc-box">';
|
97 |
echo '<ul class="tc-result">';
|
98 |
echo $results;
|
100 |
}
|
101 |
}
|
102 |
|
103 |
+
// strip comments from a PHP file in a way that will not change the underlying structure of the file
|
104 |
+
function tc_strip_comments( $code ) {
|
105 |
+
$strip = array( T_COMMENT => true, T_DOC_COMMENT => true);
|
106 |
+
$newlines = array( "\n" => true, "\r" => true );
|
107 |
+
$tokens = token_get_all($code);
|
108 |
+
reset($tokens);
|
109 |
+
$return = '';
|
110 |
+
$token = current($tokens);
|
111 |
+
while( $token ) {
|
112 |
+
if( !is_array($token) ) {
|
113 |
+
$return.= $token;
|
114 |
+
} elseif( !isset( $strip[ $token[0] ] ) ) {
|
115 |
+
$return.= $token[1];
|
116 |
+
} else {
|
117 |
+
for( $i = 0, $token_length = strlen($token[1]); $i < $token_length; ++$i )
|
118 |
+
if( isset($newlines[ $token[1][$i] ]) )
|
119 |
+
$return.= $token[1][$i];
|
120 |
+
}
|
121 |
+
$token = next($tokens);
|
122 |
+
}
|
123 |
+
return $return;
|
124 |
+
}
|
125 |
+
|
126 |
|
127 |
function tc_intro() {
|
128 |
+
?>
|
129 |
+
<h2><?php _e( 'About', 'theme-check' ); ?></h2>
|
130 |
+
<p><?php _e( "The Theme Check plugin is an easy way to test your theme and make sure it's up to date with the latest theme review standards. With it, you can run all the same automated testing tools on your theme that WordPress.org uses for theme submissions.", 'theme-check' ); ?></p>
|
131 |
+
<h2><?php _e( 'Contact', 'theme-check' ); ?></h2>
|
132 |
+
<p><?php printf( __( 'Theme Check is maintained by %1$s and %2$s.', 'theme-check' ),
|
133 |
+
'<a href="https://profiles.wordpress.org/otto42/">Otto42</a>',
|
134 |
+
'<a href="https://profiles.wordpress.org/pross/">Pross</a>'
|
135 |
+
); ?></p>
|
136 |
+
<p><?php printf( __( 'If you have found a bug or would like to make a suggestion or contribution, please leave a post on the <a href="%1$s">WordPress forums</a>, or talk about it with the theme review team on <a href="%2$s">Make WordPress Themes</a> site.', 'theme-check' ), 'https://wordpress.org/tags/theme-check?forum_id=10', 'https://make.wordpress.org/themes/') ; ?></p>
|
137 |
+
<p><?php printf( __( 'The code for Theme Check can be contributed to on <a href="%s">GitHub</a>.', 'theme-check' ), 'https://github.com/Otto42/theme-check'); ?></p>
|
138 |
+
<h3><?php _e( 'Testers', 'theme-check' ); ?></h3>
|
139 |
+
<p><a href="https://make.wordpress.org/themes/"><?php _e( 'The WordPress Theme Review Team', 'theme-check' ); ?></a></p>
|
140 |
+
<?php
|
|
|
|
|
|
|
141 |
}
|
142 |
|
143 |
function tc_success() {
|
144 |
+
?>
|
145 |
+
<div class="tc-success"><p><?php _e( 'Now your theme has passed the basic tests you need to check it properly using the test data before you upload to the WordPress Themes Directory.', 'theme-check' ); ?></p>
|
146 |
+
<p><?php _e( 'Make sure to review the guidelines at <a href="https://codex.wordpress.org/Theme_Review">Theme Review</a> before uploading a Theme.', 'theme-check' ); ?></p>
|
147 |
+
<h3><?php _e( 'Codex Links', 'theme-check' ); ?></h3>
|
148 |
+
<ul>
|
149 |
+
<li><a href="https://codex.wordpress.org/Theme_Development"><?php _e('Theme Development', 'theme-check' ); ?></a></li>
|
150 |
+
<li><a href="https://wordpress.org/support/forum/5"><?php _e('Themes and Templates forum', 'theme-check' ); ?></a></li>
|
151 |
+
<li><a href="https://codex.wordpress.org/Theme_Unit_Test"><?php _e('Theme Unit Tests', 'theme-check' ); ?></a></li>
|
152 |
+
</ul></div>
|
153 |
+
<?php
|
154 |
}
|
155 |
|
156 |
function tc_form() {
|
160 |
foreach( $themes as $name => $location ) {
|
161 |
echo '<option ';
|
162 |
if ( isset( $_POST['themename'] ) ) {
|
163 |
+
echo ( $location['Stylesheet'] === $_POST['themename'] ) ? 'selected="selected" ' : '';
|
164 |
} else {
|
165 |
echo ( basename( STYLESHEETPATH ) === $location['Stylesheet'] ) ? 'selected="selected" ' : '';
|
166 |
}
|
167 |
echo ( basename( STYLESHEETPATH ) === $location['Stylesheet'] ) ? 'value="' . $location['Stylesheet'] . '" style="font-weight:bold;">' . $name . '</option>' : 'value="' . $location['Stylesheet'] . '">' . $name . '</option>';
|
168 |
}
|
169 |
echo '</select>';
|
170 |
+
echo '<input class="button" type="submit" value="' . __( 'Check it!', 'theme-check' ) . '" />';
|
171 |
+
if ( defined( 'TC_PRE' ) || defined( 'TC_POST' ) ) echo ' <input name="trac" type="checkbox" /> ' . __( 'Output in Trac format.', 'theme-check' );
|
172 |
+
echo '<input name="s_info" type="checkbox" /> ' . __( 'Suppress INFO.', 'theme-check' );
|
173 |
echo '</form>';
|
174 |
+
}
|
readme.txt
CHANGED
@@ -1,18 +1,17 @@
|
|
1 |
-
=== Theme
|
2 |
-
Contributors:
|
3 |
-
Author URI: http://
|
4 |
-
Plugin URL: http://
|
5 |
-
Requires at Least: 3.
|
6 |
-
Tested Up To:
|
7 |
Tags: template, theme, check, checker, tool, wordpress, wordpress.org, upload, uploader, test, guideline, review
|
8 |
-
Stable tag:
|
9 |
-
|
10 |
|
11 |
A simple and easy way to test your theme for all the latest WordPress standards and practices. A great theme development tool!
|
12 |
|
13 |
== Description ==
|
14 |
|
15 |
-
The theme check plugin is an easy way to test your theme and make sure it's up to spec with the latest [theme review](
|
16 |
|
17 |
The tests are run through a simple admin menu and all results are displayed at once. This is very handy for theme developers, or anybody looking to make sure that their theme supports the latest WordPress theme standards and practices.
|
18 |
|
@@ -20,17 +19,17 @@ The tests are run through a simple admin menu and all results are displayed at o
|
|
20 |
|
21 |
= What's with the version numbers? =
|
22 |
|
23 |
-
The version number is the date of the revision of the [guidelines](
|
24 |
|
25 |
= Why does it flag something as bad? =
|
26 |
|
27 |
-
It's not flagging "bad" things, as such. The theme check is designed to be a non-perfect way to test for compliance with the [Theme Review](
|
28 |
|
29 |
Many sites use customized themes, and that's perfectly okay. But themes that are intended for use on many different kinds of sites by the public need to have a certain minimum level of capabilities, in order to ensure proper functioning in many different environments. The Theme Review guidelines are created with that goal in mind.
|
30 |
|
31 |
This theme checker is not perfect, and never will be. It is only a tool to help theme authors, or anybody else who wants to make their theme more capable. All themes submitted to WordPress.org are hand-reviewed by a team of experts. The automated theme checker is meant to be a useful tool only, not an absolute system of measurement.
|
32 |
|
33 |
-
This plugin does not decide the guidelines used. Any issues with particular theme review guidelines should be discussed on the [
|
34 |
|
35 |
== Other Notes ==
|
36 |
|
@@ -55,6 +54,35 @@ comments, or feedback:[[br]]
|
|
55 |
If **either** of these two vars are defined a new trac tickbox will appear next to the *Check it!* button.
|
56 |
|
57 |
== Changelog ==
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
58 |
|
59 |
= 20110805.1 =
|
60 |
* TimThumb checks removed.
|
1 |
+
=== Theme Check ===
|
2 |
+
Contributors: Otto42, pross
|
3 |
+
Author URI: http://ottopress.com/
|
4 |
+
Plugin URL: http://ottopress.com/wordpress-plugins/theme-check/
|
5 |
+
Requires at Least: 3.7
|
6 |
+
Tested Up To: 4.9
|
7 |
Tags: template, theme, check, checker, tool, wordpress, wordpress.org, upload, uploader, test, guideline, review
|
8 |
+
Stable tag: 20160523.1
|
|
|
9 |
|
10 |
A simple and easy way to test your theme for all the latest WordPress standards and practices. A great theme development tool!
|
11 |
|
12 |
== Description ==
|
13 |
|
14 |
+
The theme check plugin is an easy way to test your theme and make sure it's up to spec with the latest [theme review](https://make.wordpress.org/themes/handbook/review/) standards. With it, you can run all the same automated testing tools on your theme that WordPress.org uses for theme submissions.
|
15 |
|
16 |
The tests are run through a simple admin menu and all results are displayed at once. This is very handy for theme developers, or anybody looking to make sure that their theme supports the latest WordPress theme standards and practices.
|
17 |
|
19 |
|
20 |
= What's with the version numbers? =
|
21 |
|
22 |
+
The version number is the date of the revision of the [guidelines](https://make.wordpress.org/themes/handbook/review/) used to create it.
|
23 |
|
24 |
= Why does it flag something as bad? =
|
25 |
|
26 |
+
It's not flagging "bad" things, as such. The theme check is designed to be a non-perfect way to test for compliance with the [Theme Review](https://make.wordpress.org/themes/handbook/review/) guidelines. Not all themes must adhere to these guidelines. The purpose of the checking tool is to ensure that themes uploaded to the central [WordPress.org theme repository](http://wordpress.org/themes/) meet the latest standards of WordPress themes and will work on a wide variety of sites.
|
27 |
|
28 |
Many sites use customized themes, and that's perfectly okay. But themes that are intended for use on many different kinds of sites by the public need to have a certain minimum level of capabilities, in order to ensure proper functioning in many different environments. The Theme Review guidelines are created with that goal in mind.
|
29 |
|
30 |
This theme checker is not perfect, and never will be. It is only a tool to help theme authors, or anybody else who wants to make their theme more capable. All themes submitted to WordPress.org are hand-reviewed by a team of experts. The automated theme checker is meant to be a useful tool only, not an absolute system of measurement.
|
31 |
|
32 |
+
This plugin does not decide the guidelines used. Any issues with particular theme review guidelines should be discussed on the [Make Themes site](https://make.wordpress.org/themes).
|
33 |
|
34 |
== Other Notes ==
|
35 |
|
54 |
If **either** of these two vars are defined a new trac tickbox will appear next to the *Check it!* button.
|
55 |
|
56 |
== Changelog ==
|
57 |
+
= 20160523.1 =
|
58 |
+
* Fix for theme-names with dashes in them
|
59 |
+
* Comments stripping changes
|
60 |
+
* Many changes by the theme review team and others. See Github for full change list.
|
61 |
+
|
62 |
+
= 20151211.1 =
|
63 |
+
* Full sync with Github and all the changes that have happened there.
|
64 |
+
* Release for 4.4 deprecated functions.
|
65 |
+
|
66 |
+
= 20140929.1 =
|
67 |
+
* Added new checks and updates from Frank Klein at Automattic. Thanks Frank!
|
68 |
+
* Updated deprecated function listings
|
69 |
+
* Customizer check: All add_settings must use sanitization callbacks, for security
|
70 |
+
* Plugin territory checks: Themes must not register post types or taxonomies or add shortcodes for post content
|
71 |
+
* Widgets: Calls to register_sidebar must be called from the widgets_init action hook
|
72 |
+
* Title: <title> tags must exist and not have anything in them other than a call to wp_title()
|
73 |
+
* CDN: Checks for use of common CDNs (recommended only)
|
74 |
+
* Note: Changed plugin and author URIs due to old URIs being invalid. These may change again in the future, the URIs to my own site are temporarily only.
|
75 |
+
|
76 |
+
= 20131213.1 =
|
77 |
+
* Corrected errors not being displayed by the plugin and it incorrectly giving a "pass" result to everything.
|
78 |
+
|
79 |
+
= 20131212.1 =
|
80 |
+
* Updated for 3.8
|
81 |
+
* Most files have changed for better I18N support, so the language files were removed temporarily until translation can be redone.
|
82 |
+
|
83 |
+
= 20121211.1 =
|
84 |
+
* Updated for 3.5
|
85 |
+
* Remove Paypal button.
|
86 |
|
87 |
= 20110805.1 =
|
88 |
* TimThumb checks removed.
|
theme-check.php
CHANGED
@@ -1,57 +1,72 @@
|
|
1 |
<?php
|
2 |
/*
|
3 |
-
Plugin Name: Theme
|
4 |
-
Plugin URI: http://
|
5 |
Description: A simple and easy way to test your theme for all the latest WordPress standards and practices. A great theme development tool!
|
6 |
-
Author:
|
7 |
-
Author URI: http://
|
8 |
-
Version:
|
|
|
|
|
|
|
9 |
*/
|
10 |
|
11 |
-
|
12 |
-
|
13 |
-
|
14 |
-
|
15 |
-
}
|
16 |
|
17 |
-
function
|
18 |
-
|
19 |
-
}
|
20 |
|
21 |
-
|
22 |
-
|
23 |
-
|
24 |
-
add_action('admin_print_styles-' . $page, 'load_styles');
|
25 |
-
}
|
26 |
|
27 |
-
function
|
28 |
-
|
29 |
-
|
30 |
-
}
|
31 |
|
32 |
-
function
|
33 |
-
|
34 |
-
|
35 |
}
|
36 |
|
37 |
-
|
|
|
|
|
|
|
38 |
|
39 |
-
|
40 |
-
include 'main.php';
|
41 |
|
42 |
-
|
43 |
-
|
44 |
-
echo '<div class="theme-check">';
|
45 |
-
tc_form();
|
46 |
-
if ( !isset( $_POST[ 'themename' ] ) ) {
|
47 |
-
tc_intro();
|
48 |
|
49 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
50 |
|
51 |
-
|
52 |
-
|
53 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
54 |
}
|
55 |
-
echo '</div> <!-- .theme-check-->';
|
56 |
-
echo '</div>';
|
57 |
}
|
|
1 |
<?php
|
2 |
/*
|
3 |
+
Plugin Name: Theme Check
|
4 |
+
Plugin URI: http://ottopress.com/wordpress-plugins/theme-check/
|
5 |
Description: A simple and easy way to test your theme for all the latest WordPress standards and practices. A great theme development tool!
|
6 |
+
Author: Otto42, pross
|
7 |
+
Author URI: http://ottopress.com
|
8 |
+
Version: 20160523.1
|
9 |
+
Text Domain: theme-check
|
10 |
+
License: GPLv2
|
11 |
+
License URI: https://www.gnu.org/licenses/gpl-2.0.html
|
12 |
*/
|
13 |
|
14 |
+
class ThemeCheckMain {
|
15 |
+
function __construct() {
|
16 |
+
add_action( 'admin_init', array( $this, 'tc_i18n' ) );
|
17 |
+
add_action( 'admin_menu', array( $this, 'themecheck_add_page' ) );
|
18 |
+
}
|
19 |
|
20 |
+
function tc_i18n() {
|
21 |
+
load_plugin_textdomain( 'theme-check', false, dirname( plugin_basename( __FILE__ ) ) . '/lang/' );
|
22 |
+
}
|
23 |
|
24 |
+
function load_styles() {
|
25 |
+
wp_enqueue_style('style', plugins_url( 'assets/style.css', __FILE__ ), null, null, 'screen');
|
26 |
+
}
|
|
|
|
|
27 |
|
28 |
+
function themecheck_add_page() {
|
29 |
+
$page = add_theme_page( 'Theme Check', 'Theme Check', 'manage_options', 'themecheck', array( $this, 'themecheck_do_page' ) );
|
30 |
+
add_action('admin_print_styles-' . $page, array( $this, 'load_styles' ) );
|
31 |
+
}
|
32 |
|
33 |
+
function tc_add_headers( $extra_headers ) {
|
34 |
+
$extra_headers = array( 'License', 'License URI', 'Template Version' );
|
35 |
+
return $extra_headers;
|
36 |
}
|
37 |
|
38 |
+
function themecheck_do_page() {
|
39 |
+
if ( !current_user_can( 'manage_options' ) ) {
|
40 |
+
wp_die( __( 'You do not have sufficient permissions to access this page.', 'theme-check' ) );
|
41 |
+
}
|
42 |
|
43 |
+
add_filter( 'extra_theme_headers', array( $this, 'tc_add_headers' ) );
|
|
|
44 |
|
45 |
+
include 'checkbase.php';
|
46 |
+
include 'main.php';
|
|
|
|
|
|
|
|
|
47 |
|
48 |
+
?>
|
49 |
+
<div id="theme-check" class="wrap">
|
50 |
+
<h1><?php _ex( 'Theme Check', 'title of the main page', 'theme-check' ); ?></h1>
|
51 |
+
<div class="theme-check">
|
52 |
+
<?php
|
53 |
+
tc_form();
|
54 |
+
if ( !isset( $_POST[ 'themename' ] ) ) {
|
55 |
+
tc_intro();
|
56 |
+
|
57 |
+
}
|
58 |
|
59 |
+
if ( isset( $_POST[ 'themename' ] ) ) {
|
60 |
+
if ( isset( $_POST[ 'trac' ] ) ) define( 'TC_TRAC', true );
|
61 |
+
if ( defined( 'WP_MAX_MEMORY_LIMIT' ) ) {
|
62 |
+
@ini_set( 'memory_limit', WP_MAX_MEMORY_LIMIT );
|
63 |
+
}
|
64 |
+
check_main( $_POST[ 'themename' ] );
|
65 |
+
}
|
66 |
+
?>
|
67 |
+
</div> <!-- .theme-check-->
|
68 |
+
</div>
|
69 |
+
<?php
|
70 |
}
|
|
|
|
|
71 |
}
|
72 |
+
new ThemeCheckMain;
|