Skip to content

Instantly share code, notes, and snippets.

@danielpataki
Last active January 27, 2022 09:45
Show Gist options
  • Star 1 You must be signed in to star a gist
  • Fork 3 You must be signed in to fork a gist
  • Save danielpataki/72db8fd0fed3941e4425 to your computer and use it in GitHub Desktop.
Save danielpataki/72db8fd0fed3941e4425 to your computer and use it in GitHub Desktop.
Simplify the admin
function my_post_guidelines() {
$screen = get_current_screen();
if ( 'post' != $screen->post_type )
return;
$args = array(
'id' => 'my_website_guide',
'title' => 'Content Guidelines',
'content' => '
<h3>Website Content Guidelines</h3>
<p>All content on this website must be unique. Formatting must be relegated to level 2 headings and down, level 1 headings should not be used in the post content.</p>
<p>
All images should be inserted with the media editor and should have a title, alt text and a descriptive caption.
</p>
',
);
// Add the help tab.
$screen->add_help_tab( $args );
}
add_action('admin_head', 'my_post_guidelines');
add_action( 'wp_dashboard_setup', 'register_my_dashboard_widget' );
function register_my_dashboard_widget() {
wp_add_dashboard_widget(
'my_dashboard_widget',
'My Dashboard Widget',
'my_dashboard_widget_display'
);
}
function my_dashboard_widget_display() {
echo 'Hello, I am Mr. Widget';
}
add_filter( 'plugin_action_links', 'bsb_disable_plugin_actions', 10, 4 );
function bsb_disable_plugin_actions( $actions, $plugin_file, $plugin_data, $context ) {
$plugins = array( 'advanced-custom-fields-pro/acf.php' );
if ( array_key_exists( 'deactivate', $actions ) && in_array( $plugin_file, $plugins ))
unset( $actions['deactivate'] );
return $actions;
}
define( 'DISALLOW_FILE_EDIT', true );
add_action( 'wp_dashboard_setup', 'register_my_dashboard_widget' );
function register_my_dashboard_widget() {
wp_add_dashboard_widget(
'my_dashboard_widget',
'Website Guidelines',
'my_dashboard_widget_display'
);
}
function my_dashboard_widget_display() {
?>
<p>Howdy Mr. Client, welcome to your website. Here are some quick guidelines to keep in mind when using the site.</p>
<h4><strong>Plugins</strong></h4>
<p>If you'd like to use any plugin please let us know first so we can vet it to make sure the code quality is good.</p>
<h4><strong>Images</strong></h4>
<p>Please make sure to always add good title and proper alt text to images. This makes single attachment pages better and does some SEO magic as well.</p>
<h4><strong>Important Links</strong></h4>
<ul>
<li><a href='<?php echo admin_url("post-new.php") ?>'>New Post</a></li>
<li><a href='<?php echo admin_url("edit.php?post_type=shop_order") ?>'>Shop Orders</a></li>
<li><a href='<?php echo admin_url("profile.php") ?>'>Your Profile</a></li>
</ul>
<?php
}
add_action('wp_dashboard_setup', 'remove_dashboard_widgets' );
function remove_dashboard_widgets() {
global $wp_meta_boxes;
unset($wp_meta_boxes['dashboard']['side']['core']['dashboard_quick_press']);
}
add_action( 'admin_menu', 'remove_menus' );
function remove_menus(){
if ( !current_user_can( 'manage_options' ) ) {
remove_menu_page( 'tools.php' );
remove_menu_page( 'options-general.php' );
}
}
add_action( 'admin_menu', 'remove_themecheck', 999 );
function remove_themecheck() {
if ( !current_user_can( 'manage_options' ) ) {
remove_submenu_page( 'themes.php', 'themecheck' );
}
}
require_once dirname( __FILE__ ) . '/class-tgm-plugin-activation.php';
add_action( 'tgmpa_register', 'my_theme_register_required_plugins' );
function my_theme_register_required_plugins() {
$plugins = array(
// This is an example of how to include a plugin pre-packaged with a theme.
array(
'name' => 'TGM Example Plugin', // The plugin name.
'slug' => 'tgm-example-plugin', // The plugin slug (typically the folder name).
'source' => get_stylesheet_directory() . '/lib/plugins/tgm-example-plugin.zip', // The plugin source.
'required' => true, // If false, the plugin is only 'recommended' instead of required.
'version' => '', // E.g. 1.0.0. If set, the active plugin must be this version or higher.
'force_activation' => false, // If true, plugin is activated upon theme activation and cannot be deactivated until theme switch.
'force_deactivation' => false, // If true, plugin is deactivated upon theme switch, useful for theme-specific plugins.
'external_url' => '', // If set, overrides default API URL and points to an external URL.
),
// This is an example of how to include a plugin from a private repo in your theme.
array(
'name' => 'TGM New Media Plugin', // The plugin name.
'slug' => 'tgm-new-media-plugin', // The plugin slug (typically the folder name).
'source' => 'https://s3.amazonaws.com/tgm/tgm-new-media-plugin.zip', // The plugin source.
'required' => true, // If false, the plugin is only 'recommended' instead of required.
'external_url' => 'https://github.com/thomasgriffin/New-Media-Image-Uploader', // If set, overrides default API URL and points to an external URL.
),
// This is an example of how to include a plugin from the WordPress Plugin Repository.
array(
'name' => 'BuddyPress',
'slug' => 'buddypress',
'required' => false,
),
);
/**
* Array of configuration settings. Amend each line as needed.
* If you want the default strings to be available under your own theme domain,
* leave the strings uncommented.
* Some of the strings are added into a sprintf, so see the comments at the
* end of each line for what each argument will be.
*/
$config = array(
'default_path' => '', // Default absolute path to pre-packaged plugins.
'menu' => 'tgmpa-install-plugins', // Menu slug.
'has_notices' => true, // Show admin notices or not.
'dismissable' => true, // If false, a user cannot dismiss the nag message.
'dismiss_msg' => '', // If 'dismissable' is false, this message will be output at top of nag.
'is_automatic' => false, // Automatically activate plugins after installation or not.
'message' => '', // Message to output right before the plugins table.
'strings' => array(
'page_title' => __( 'Install Required Plugins', 'tgmpa' ),
'menu_title' => __( 'Install Plugins', 'tgmpa' ),
'installing' => __( 'Installing Plugin: %s', 'tgmpa' ), // %s = plugin name.
'oops' => __( 'Something went wrong with the plugin API.', 'tgmpa' ),
'notice_can_install_required' => _n_noop( 'This theme requires the following plugin: %1$s.', 'This theme requires the following plugins: %1$s.' ), // %1$s = plugin name(s).
'notice_can_install_recommended' => _n_noop( 'This theme recommends the following plugin: %1$s.', 'This theme recommends the following plugins: %1$s.' ), // %1$s = plugin name(s).
'notice_cannot_install' => _n_noop( 'Sorry, but you do not have the correct permissions to install the %s plugin. Contact the administrator of this site for help on getting the plugin installed.', 'Sorry, but you do not have the correct permissions to install the %s plugins. Contact the administrator of this site for help on getting the plugins installed.' ), // %1$s = plugin name(s).
'notice_can_activate_required' => _n_noop( 'The following required plugin is currently inactive: %1$s.', 'The following required plugins are currently inactive: %1$s.' ), // %1$s = plugin name(s).
'notice_can_activate_recommended' => _n_noop( 'The following recommended plugin is currently inactive: %1$s.', 'The following recommended plugins are currently inactive: %1$s.' ), // %1$s = plugin name(s).
'notice_cannot_activate' => _n_noop( 'Sorry, but you do not have the correct permissions to activate the %s plugin. Contact the administrator of this site for help on getting the plugin activated.', 'Sorry, but you do not have the correct permissions to activate the %s plugins. Contact the administrator of this site for help on getting the plugins activated.' ), // %1$s = plugin name(s).
'notice_ask_to_update' => _n_noop( 'The following plugin needs to be updated to its latest version to ensure maximum compatibility with this theme: %1$s.', 'The following plugins need to be updated to their latest version to ensure maximum compatibility with this theme: %1$s.' ), // %1$s = plugin name(s).
'notice_cannot_update' => _n_noop( 'Sorry, but you do not have the correct permissions to update the %s plugin. Contact the administrator of this site for help on getting the plugin updated.', 'Sorry, but you do not have the correct permissions to update the %s plugins. Contact the administrator of this site for help on getting the plugins updated.' ), // %1$s = plugin name(s).
'install_link' => _n_noop( 'Begin installing plugin', 'Begin installing plugins' ),
'activate_link' => _n_noop( 'Begin activating plugin', 'Begin activating plugins' ),
'return' => __( 'Return to Required Plugins Installer', 'tgmpa' ),
'plugin_activated' => __( 'Plugin activated successfully.', 'tgmpa' ),
'complete' => __( 'All plugins installed and activated successfully. %s', 'tgmpa' ), // %s = dashboard link.
'nag_type' => 'updated' // Determines admin notice type - can only be 'updated', 'update-nag' or 'error'.
)
);
tgmpa( $plugins, $config );
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment