Timber

Helps you create themes faster with sustainable code. With Timber, you write HTML using Twig Templates http://www.upstatement.com/timber/

v1.23.4jarednovaUpdated Added 20k+ installs98% rating
24
Score
85
Errors
128
Warnings
+0
Change

Category Scores

Security0
Repo64
Performance100
Maintainability22

Issues to Review

Prioritized issue groups from the latest Plugin Check scan

213 findings

Maintainability

111

14 issue groups

Security

64

8 issue groups

I18n

12

2 issue groups

Supply Chain

5

1 issue group

WARNINGMaintainabilityNon-prefixed hook nameHook names invoked by a theme/plugin should start with the theme/plugin prefix. Found: "after_setup_theme".24
Category
Maintainability
Occurrences
24
Severity
warning

Sample message

Hook names invoked by a theme/plugin should start with the theme/plugin prefix. Found: "after_setup_theme".

WARNINGMaintainabilityNon-prefixed global variableGlobal variables defined by a theme/plugin should start with the theme/plugin prefix. Found: "$composer_autoload".21
Category
Maintainability
Occurrences
21
Severity
warning

Sample message

Global variables defined by a theme/plugin should start with the theme/plugin prefix. Found: "$composer_autoload".

WARNINGSecurityInput is not sanitizedDetected usage of a non-sanitized input variable: $_GET['preview']14
Category
Security
Occurrences
14
Severity
warning

Sample message

Detected usage of a non-sanitized input variable: $_GET['preview']

WARNINGSecurityRequest data is not unslashed$_GET['preview'] not unslashed before sanitization. Use wp_unslash() or similar14
Category
Security
Occurrences
14
Severity
warning

Sample message

$_GET['preview'] not unslashed before sanitization. Use wp_unslash() or similar

ERRORMaintainabilityMissing direct file access protectionPHP file should prevent direct access. Add a check like: if ( ! defined( 'ABSPATH' ) ) exit;13
Category
Maintainability
Occurrences
13
Severity
error

Sample message

PHP file should prevent direct access. Add a check like: if ( ! defined( 'ABSPATH' ) ) exit;

WARNINGMaintainabilityDirect QueryUse of a direct database call is discouraged.12
Category
Maintainability
Occurrences
12
Severity
warning

Sample message

Use of a direct database call is discouraged.

ERRORSecuritySQL query is not preparedUse placeholders and $wpdb->prepare(); found $query11
Category
Security
Occurrences
11
Severity
error

Sample message

Use placeholders and $wpdb->prepare(); found $query

ERRORI18nMissing Arg DomainMissing $domain parameter in function call to __().9
Category
I18n
Occurrences
9
Severity
error

Sample message

Missing $domain parameter in function call to __().

WARNINGMaintainabilityNo CachingDirect database call without caching detected. Consider using wp_cache_get() / wp_cache_set() or wp_cache_delete().7
Category
Maintainability
Occurrences
7
Severity
warning

Sample message

Direct database call without caching detected. Consider using wp_cache_get() / wp_cache_set() or wp_cache_delete().

WARNINGMaintainabilityNon-prefixed namespaceNamespaces declared by a theme/plugin should start with the theme/plugin prefix. Found: "App".7
Category
Maintainability
Occurrences
7
Severity
warning

Sample message

Namespaces declared by a theme/plugin should start with the theme/plugin prefix. Found: "App".

Show 15 more
ERRORSecurityOutput is not escaped7
Category
Security
Occurrences
7
Severity
error

Sample message

All output should be run through an escaping function (see the Security sections in the WordPress Developer Handbooks), found '$compiled'.

WARNINGSecurityNonce verification recommended7
Category
Security
Occurrences
7
Severity
warning

Sample message

Processing form data without nonce verification.

ERRORMaintainabilityparse url parse url6
Category
Maintainability
Occurrences
6
Severity
error

Sample message

parse_url() is discouraged because of inconsistency in the output across PHP versions; use wp_parse_url() instead.

ERRORSecurityDatabase parameter is not escaped5
Category
Security
Occurrences
5
Severity
error

Sample message

Unescaped parameter $query used in $wpdb->get_results()\n$query assigned unsafely at line 109.

ERRORSupply ChainHidden files included5
Category
Supply Chain
Occurrences
5
Severity
error

Sample message

Hidden files are not permitted.

WARNINGMaintainabilityerror log print r4
Category
Maintainability
Occurrences
4
Severity
warning

Sample message

print_r() found. Debug code should not normally be used in production.

WARNINGSecurityInput is not validated4
Category
Security
Occurrences
4
Severity
warning

Sample message

Detected usage of a possibly undefined superglobal array index: $_SERVER['PHP_SELF']. Check that the array index exists before using it.

ERRORMaintainabilityunlink unlink4
Category
Maintainability
Occurrences
4
Severity
error

Sample message

unlink() is discouraged. Use wp_delete_file() to delete a file.

WARNINGMaintainabilityslow db query tax query3
Category
Maintainability
Occurrences
3
Severity
warning

Sample message

Detected usage of tax_query, possible slow query.

WARNINGMaintainabilityerror log trigger error3
Category
Maintainability
Occurrences
3
Severity
warning

Sample message

trigger_error() found. Debug code should not normally be used in production.

ERRORMaintainabilityfile system operations mkdir3
Category
Maintainability
Occurrences
3
Severity
error

Sample message

File operations should use WP_Filesystem methods instead of direct PHP filesystem calls. Found: mkdir().

ERRORI18nMissing Translators Comment3
Category
I18n
Occurrences
3
Severity
error

Sample message

A function call to __() with texts containing placeholders was found, but was not accompanied by a "translators:" comment on the line above to clarify the meaning of the placeholders.

ERRORSecurityQuoted Simple Placeholder2
Category
Security
Occurrences
2
Severity
error

Sample message

Simple placeholders should not be quoted in the query string in $wpdb->prepare(). Found: "%s".

ERRORMaintainabilitystrip tags strip tags2
Category
Maintainability
Occurrences
2
Severity
error

Sample message

strip_tags() is discouraged. Use the more comprehensive wp_strip_all_tags() instead.

ERRORMaintainabilityDeprecated parameter: get_terms parameter 22
Category
Maintainability
Occurrences
2
Severity
error

Sample message

The parameter "$args" at position #2 of get_terms() has been deprecated since WordPress version 4.5.0. Instead do not pass the parameter.

External Connections

Not analyzed yet.

Score History

First score snapshot

v1.23.4

24

Latest

Findings
213
Errors
85
Warnings
128
Check
2.0.0

Relationship Map

Author, categories, issues, domains, and nearby plugins.

27 nodes

Related Plugins

Genesis Portfolio Pro

5k+ active installs

97
Better Block Editor (BBE)

5k+ active installs

96
WebMan Templates

1k+ active installs

95
Template Kit – Export

8k+ active installs

83
Template Kit – Import

400k+ active installs

77