Files
2024-09-24 10:17:00 +02:00

102 lines
3.4 KiB
PHP

<?php
/*
Plugin Name: Vincent Defaults
Plugin URI: https://vincentrozenberg.com
Description: Sets default options for WordPress installations.
Version: 1.4
Author: Vincent Rozenberg
Author URI: https://vincentrozenberg.com
*/
// Remove comment support from WordPress
function vincent_remove_comments() {
remove_menu_page('edit-comments.php');
add_action('admin_menu', 'vincent_remove_comments_admin_bar');
add_action('init', 'vincent_comments_post_types_support');
}
add_action('admin_menu', 'vincent_remove_comments');
function vincent_comments_post_types_support() {
foreach (get_post_types() as $post_type) {
if (post_type_supports($post_type, 'comments')) {
remove_post_type_support($post_type, 'comments');
remove_post_type_support($post_type, 'trackbacks');
}
}
}
function vincent_remove_comments_admin_bar() {
if (is_admin_bar_showing()) {
remove_action('admin_bar_menu', 'wp_admin_bar_comments_menu', 60);
}
}
// Hide the admin bar for new users by default
function vincent_hide_admin_bar_by_default($user_id) {
update_user_meta($user_id, 'show_admin_bar_front', 'false');
}
add_action('user_register', 'vincent_hide_admin_bar_by_default');
// Force hide admin toolbar on the front end
function vincent_disable_admin_bar() {
if (!is_admin()) {
add_filter('show_admin_bar', '__return_false');
}
}
add_action('after_setup_theme', 'vincent_disable_admin_bar');
// Hide WordPress Events and News from the dashboard
function vincent_remove_dashboard_meta() {
remove_meta_box('dashboard_primary', 'dashboard', 'side');
}
add_action('admin_init', 'vincent_remove_dashboard_meta');
// Hide Activity from the dashboard
function vincent_remove_dashboard_activity() {
remove_meta_box('dashboard_activity', 'dashboard', 'normal');
}
add_action('admin_init', 'vincent_remove_dashboard_activity');
// Hide Discussion Settings from the menu
function vincent_remove_discussion_settings() {
remove_submenu_page('options-general.php', 'options-discussion.php');
}
add_action('admin_menu', 'vincent_remove_discussion_settings', 999);
// Set Discussion settings to disable comments
function vincent_disable_comments_settings() {
// Default for new posts/pages
update_option('default_comment_status', 'closed');
update_option('default_ping_status', 'closed');
// Already published posts/pages
global $wpdb;
$wpdb->query("
UPDATE $wpdb->posts
SET comment_status = 'closed', ping_status = 'closed'
WHERE post_status = 'publish'
");
}
register_activation_hook(__FILE__, 'vincent_disable_comments_settings');
// Remove Quick Draft from the dashboard
function vincent_remove_dashboard_widgets() {
remove_meta_box('dashboard_quick_press', 'dashboard', 'side');
}
add_action('wp_dashboard_setup', 'vincent_remove_dashboard_widgets' );
// Hide the 'About WordPress' icon in the admin bar
function vincent_remove_wp_logo_from_admin_bar() {
global $wp_admin_bar;
if (is_admin_bar_showing()) {
$wp_admin_bar->remove_node('wp-logo');
}
}
add_action('wp_before_admin_bar_render', 'vincent_remove_wp_logo_from_admin_bar');
// Hide 'Thank you for creating with WordPress' from the footer
function vincent_remove_footer_admin() {
remove_filter('admin_footer_text', 'core_update_footer');
add_filter('admin_footer_text', '__return_empty_string', 11);
}
add_action('admin_menu', 'vincent_remove_footer_admin');