Löscht den Autor aus der Oembed-Vorschau
/** * Löscht den Autor aus der Oembed-Vorschau */ add_filter( 'oembed_response_data', 'disable_embeds_filter_oembed_response_data_' ); function disable_embeds_filter_oembed_response_data_( $data ) { unset($data['author_url']); unset($data['author_name']); return $data; }
Ändern des Titels einer Archivseite
Standardmäßig ist der Titel der Archivseite einfach der Name der Kategorie oder des Tags.
add_filter( 'get_the_archive_title', function( $title ) { if ( is_category( 'CATEGORY NAME' ) ) { $title = 'YOUR CUSTOM TITLE'; } return $title; }, 50 );
// Ändern des Titels einer Archivseite function new_cpt_archive_title($title){ if ( is_post_type_archive('posts') ){ $title = 'Wissensdatenbank - ' . get_bloginfo('name'); return $title; } return $title; } add_filter( 'pre_get_document_title', 'new_cpt_archive_title', 9999 );
Blockiert Emoji's
/** * Disable the emoji's */ function disable_emojis() { remove_action( 'wp_head', 'print_emoji_detection_script', 7 ); remove_action( 'admin_print_scripts', 'print_emoji_detection_script' ); remove_action( 'wp_print_styles', 'print_emoji_styles' ); remove_action( 'admin_print_styles', 'print_emoji_styles' ); remove_filter( 'the_content_feed', 'wp_staticize_emoji' ); remove_filter( 'comment_text_rss', 'wp_staticize_emoji' ); remove_filter( 'wp_mail', 'wp_staticize_emoji_for_email' ); add_filter( 'tiny_mce_plugins', 'disable_emojis_tinymce' ); add_filter( 'wp_resource_hints', 'disable_emojis_remove_dns_prefetch', 10, 2 ); } add_action( 'init', 'disable_emojis' );
/** * Remove emoji CDN hostname from DNS prefetching hints. * * @param array $urls URLs to print for resource hints. * @param string $relation_type The relation type the URLs are printed for. * @return array Difference betwen the two arrays. */ function disable_emojis_remove_dns_prefetch( $urls, $relation_type ) { if ( 'dns-prefetch' == $relation_type ) { /** This filter is documented in wp-includes/formatting.php */ $emoji_svg_url = apply_filters( 'emoji_svg_url', 'https://s.w.org/images/core/emoji/2/svg/' ); $urls = array_diff( $urls, array( $emoji_svg_url ) ); } return $urls; }
/** * Filter function used to remove the tinymce emoji plugin. * * @param array $plugins * @return array Difference betwen the two arrays */ function disable_emojis_tinymce( $plugins ) { if ( is_array( $plugins ) ) { return array_diff( $plugins, array( 'wpemoji' ) ); } else { return array(); } }
Disable Gutenberg Editor
// Fully Disable Gutenberg editor. add_filter('use_block_editor_for_post_type', '__return_false', 10); // Don't load Gutenberg-related stylesheets. add_action( 'wp_enqueue_scripts', 'remove_block_css', 100 ); function remove_block_css() { wp_dequeue_style( 'wp-block-library' ); // WordPress core wp_dequeue_style( 'wp-block-library-theme' ); // WordPress core wp_dequeue_style( 'wc-block-style' ); // WooCommerce wp_dequeue_style( 'storefront-gutenberg-blocks' ); // Storefront theme } add_filter( 'wpseo_debug_markers', '__return_false' );
Beiträge im Adminbereich nach dem Autor filterbar machen
/** * Beiträge im Adminbereich nach dem Autor filterbar. */ add_action('restrict_manage_posts', 'hix_filter_by_author'); function hix_filter_by_author() { $params = array( 'name' => 'author', 'role__in' => array('author','editor','administrator') ); if ( isset($_GET['user']) ) { $params['selected'] = $_GET['user']; } wp_dropdown_users( $params ); }
Yoast SEO-Filter im Backend entfernen
/* * Yoast SEO-Filter entfernen */ function custom_remove_yoast_seo_admin_filters() { global $wpseo_meta_columns; if ($wpseo_meta_columns) { remove_action('restrict_manage_posts', array($wpseo_meta_columns, 'posts_filter_dropdown')); remove_action('restrict_manage_posts', array($wpseo_meta_columns, 'posts_filter_dropdown_readability')); } } add_action('admin_init', 'custom_remove_yoast_seo_admin_filters', 20);
Deaktivieren von Kommentaren und Trackbacks in Post Types
// Disable support for comments and trackbacks in post types function df_disable_comments_post_types_support() { $post_types = get_post_types(); foreach ($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'); } } } add_action('admin_init', 'df_disable_comments_post_types_support');
Schließen von Kommentaren im Front-End
// Close comments on the front-end function df_disable_comments_status() { return false; } add_filter('comments_open', 'df_disable_comments_status', 20, 2); add_filter('pings_open', 'df_disable_comments_status', 20, 2);
Verstecken von Kommentaren
// Hide existing comments function df_disable_comments_hide_existing_comments($comments) { $comments = array(); return $comments; } add_filter('comments_array', 'df_disable_comments_hide_existing_comments', 10, 2);
// Remove comments page in menu function df_disable_comments_admin_menu() { remove_menu_page('edit-comments.php'); } add_action('admin_menu', 'df_disable_comments_admin_menu'); // Redirect any user trying to access comments page function df_disable_comments_admin_menu_redirect() { global $pagenow; if ($pagenow === 'edit-comments.php') { wp_redirect(admin_url()); exit; } } add_action('admin_init', 'df_disable_comments_admin_menu_redirect'); // Remove comments metabox from dashboard function df_disable_comments_dashboard() { remove_meta_box('dashboard_recent_comments', 'dashboard', 'normal'); } add_action('admin_init', 'df_disable_comments_dashboard'); // Remove comments links from admin bar function df_disable_comments_admin_bar() { if (is_admin_bar_showing()) { remove_action('admin_bar_menu', 'wp_admin_bar_comments_menu', 60); } } add_action('init', 'df_disable_comments_admin_bar'); function remove_admin_menus() { remove_menu_page( 'edit.php' ); } add_action( 'admin_menu', 'remove_admin_menus' );
Adminbar ausblenden wenn der Nutzer kein Admin oder Super-Admin ist
// hide admin bar if user is not admin or super admin if (!current_user_can('manage_options')) { show_admin_bar( false ); }
jQuery Migrate Script abschalten
jQuery Migrate ist ein Script, das für eine Abwärtskompatibilität älterer jQuery-Anwendungen sorgen soll. Die »normale« und moderne jQuery Version unterstützt nicht mehr alle alten Anwendungen. Dieser Fall wird mit Sicherheit nicht mehr als 5% aller WordPress-Websites betreffen, und doch wird das nicht gerade kleine Script standardmäßig von WordPress geladen. So schaltest du es ganz einfach ab:
<?php /** * Dequeue jQuery Migrate Script in WordPress. */ if ( ! function_exists( 'evolution_remove_jquery_migrate' ) ) : function evolution_remove_jquery_migrate( &$scripts) { if(!is_admin()) { $scripts->remove( 'jquery'); $scripts->add( 'jquery', false, array( 'jquery-core' ), '1.12.4' ); } } add_filter( 'wp_default_scripts', 'evolution_remove_jquery_migrate' ); endif;
Eigenes Login-Logo mit eigener Hintergrundfarbe
<?php /** * Ein neues Logo für den Adminbereich und eine eigene Hintergrundfarbe * @author Andreas Hecht */ function ah_login_logo() { ?> <style type="text/css"> #login h1 a, .login h1 a { background-image: url(<?php echo get_stylesheet_directory_uri(); ?>/images/dein-logo.png); margin-bottom: 0; background-size: 180px; height: 180px; width: 180px; margin-left: auto; margin-right: auto; border-radius: 50%; } body.login {background-color: #0073bf;} .login #backtoblog a, .login #nav a {color: #fff !important} </style> <?php } add_action( 'login_enqueue_scripts', 'ah_login_logo' );
BENUTZERANMELDUNG NUR MIT E‑MAIL UND PASSWORT
Seit der WordPress Version 4.5 ist eine Benutzeranmeldung auch mit einer E‑Mail-Adresse und dem Passwort möglich. Du Dich mit diesem Code ausschließlich mit E‑Mail und Passwort anmelden.
<?php // Ab hier kopieren //WordPress Authentifikation löschen remove_filter('authenticate', 'wp_authenticate_username_password', 20); // Neue Authentifikation setzen - Anmelden nur mit E-Mail und Passwort add_filter('authenticate', function($user, $email, $password){ //Check for empty fields if(empty($email) || empty ($password)){ //create new error object and add errors to it. $error = new WP_Error(); if(empty($email)){ //No email $error->add('empty_username', __('<strong>ERROR</strong>: Email field is empty.')); } else if(!filter_var($email, FILTER_VALIDATE_EMAIL)){ //Invalid Email $error->add('invalid_username', __('<strong>ERROR</strong>: Email is invalid.')); } if(empty($password)){ //No password $error->add('empty_password', __('<strong>ERROR</strong>: Password field is empty.')); } return $error; } //Check if user exists in WordPress database $user = get_user_by('email', $email); //bad email if(!$user){ $error = new WP_Error(); $error->add('invalid', __('<strong>ERROR</strong>: Either the email or password you entered is invalid.')); return $error; } else{ //check password if(!wp_check_password($password, $user->user_pass, $user->ID)){ //bad password $error = new WP_Error(); $error->add('invalid', __('<strong>ERROR</strong>: Either the email or password you entered is invalid.')); return $error; }else{ return $user; //passed } } }, 20, 3);
Custom Post Type Archiv Title ändern
/** * Archive Title */ function cpt_jobs($title){ if ( is_post_type_archive('jobs') ){ $title = 'Aktuelle Jobangebote | you Hamburg'; return $title; } return $title; } add_filter( 'pre_get_document_title', 'cpt_jobs', 9999 );
Stop Contact Form 7 from loading on all pages
// ============================================================== // Stop Contact Form 7 from loading on all pages // ============================================================== add_filter( 'wpcf7_load_js', '__return_false' ); add_filter( 'wpcf7_load_css', '__return_false' ); add_action('wp_enqueue_scripts', 'load_wpcf7_scripts'); function load_wpcf7_scripts() { if ( is_page( array( 'kontakt', 'kuechenplanung-zu-hause', 'kuechenplanung-im-kuechenstudio', 'kuechenkonfigurator', 'service-anfragen', 'kundenrezension', 'ausbildung', 'initiativbewerbung', 'service', 'allgemeine-informationen', 'formulare', '28848', 'meda-store', 'falkensee', '28850', 'meda-store/falkensee', '39708', 'meda-store/muelheim-an-der-ruhr', 'muelheim-an-der-ruhr', 'beispiel', 'kuechen/kuechenwelten/outdoorkuechen', '49026', 'rosbach-vor-der-hoehe' ) ) ) { if ( function_exists( 'wpcf7_enqueue_scripts' ) ) { wpcf7_enqueue_scripts(); } if ( function_exists( 'wpcf7_enqueue_styles' ) ) { wpcf7_enqueue_styles(); } } } add_action('wp_enqueue_scripts', 'load_wpcf_scripts'); function load_wpcf_scripts() { if ( is_single() && 'stellenangebote' == get_post_type() ) { if ( function_exists( 'wpcf7_enqueue_scripts' ) ) { wpcf7_enqueue_scripts(); } if ( function_exists( 'wpcf7_enqueue_styles' ) ) { wpcf7_enqueue_styles(); } } }