WordPress
WordPress
Maciek Palmowski
email m.palmowski@freshpixels.pl
wordpress.org profiles.wordpress.org/palmiak
github github.com/palmiak
Timber Collaborator github.com/timber/timber
WordPress Developer OsomStudio
add_filter( 'site_status_tests', 'palmiak_add_404_test' );
function palmiak_add_404_test( $tests ) {
$tests['direct']['palmiak_404'] = array(
'label' => 'Czy motyw zawiera plik 404.php',
'test' => 'palmiak_404_test',
);
return $tests;
}
function palmiak_404_test() {
$result = []; // wartości domyślne
if( jakis_test() ) {
$result = []; // wartości kiedy występuje błąd
}
return $result;
}
$result = [
'label' => 'W motywie jest plik 404.php.',
'status' => 'good',
'badge' => [
'label' => 'Palmiakowe testy',
'color' => 'blue',
],
'description' => 'Nasze motywy powinny zawierać plik 404.php.
',
'actions' => '',
'test' => 'palmiak_404',
];
if ( ! locate_template( '404.php' ) ) {
$result['status'] = 'recommended';
$result['label'] = 'Brak pliku 404.php.';
$result['description'] = 'Motyw powinien zawierać plik 404.php - dodaj go.
';
}
return $result;
label |
Tytuł testu. | |
status |
good | critical | recommended | Stan testu. |
badge |
label | color | Labelka obok tytułu. |
description |
Opis albo instrukcja co należy poprawić. | |
test |
Slug testu | |
action |
Link do akcji, którą możemy wykonać. |
add_filter( 'site_status_tests', 'palmiak_add_admin_test' );
function palmiak_add_admin_test( $tests ) {
$tests['direct']['palmiak_admin'] = array(
'label' => 'Czy strona posiada usera "admin"',
'test' => 'palmiak_admin_test',
);
return $tests;
}
$result = [
'label' => 'Strona nie ma usera "admin"',
'status' => 'good',
'badge' => [
'label' => 'Palmiakowe testy',
'color' => 'red',
],
'description' => 'Nasze strony nie powinny mieć usera "admin".
',
'test' => 'palmiak_admin',
];
if ( ! empty( get_user_by( 'login', 'admin' ) ) ) {
$result['status'] = 'critical';
$result['label'] = 'Na stronie jest użytkownik "admin".';
$result['description'] = 'Powinniśmy go usunąć ze względów bezpieczeństwa.
';
$result['actions'] = '';
}
return $result;
Kiedy używamy:
add_filter( 'site_status_tests', 'palmiak_add_secure_test' );
function palmiak_add_secure_test( $tests ) {
$tests['async']['palmiak_secure'] = array(
'label' => 'Czy działa wersja dla https://',
'test' => 'palmiak_secure_test',
);
return $tests;
}
add_action( 'wp_ajax_health-check-palmiak-secure_test', 'palmiak_secure_test' );
function redirect_test() {
$ret = wp_remote_get( 'https://api.redirect.li/v1/http/?url=SOME_URL' );
$body = json_decode( $ret['body'] );
if( $body->status == 500 ) {
return false;
} else {
return true;
}
}
$result = [
'label' => 'Czy działa wersja https:// dla strony.',
'status' => 'good',
'badge' => [
'label' => 'Palmiakowe testy',
'color' => 'red',
],
'description' => 'Nasze strony muszą działać pod https.
',
'test' => 'palmiak_secure_test',
];
if ( ! redirect_test() ) {
$result['status'] = 'critical';
$result['label'] = 'Strona nie działa pod https://';
$result['description'] = 'Musimy to poprawić.
';
}
wp_send_json_success( $result );