Dies ist eine Liste nützlicher WordPress-Funktionen, auf die ich häufig zurückgreife, um meine Websites zu verbessern oder zu bereinigen. Bitte seien Sie vorsichtig und erstellen Sie Backups.
WordPress Update Nag für alle außer Administratoren ausblenden
Verwenden Sie die richtigen WordPress-Titel
Erstellen Sie ein benutzerdefiniertes WordPress-Dashboard-Widget
Alle Dashboard-Widgets entfernen
Fügen Sie Navigationsmenüs hinzu
Fügen Sie ein benutzerdefiniertes Anmeldelogo ein
Ändern Sie den Admin-Fußzeilentext
Enqueue-Stile und Skripte
Stellen Sie Google Fonts in die Warteschlange
Auszugslänge ändern
Ändern Sie den Link „Weitere Informationen“.
Weiteren Auszug ändern
Deaktivieren Sie Emoji Mess
Kommentare entfernen
Ändern Sie die URL der Mediengalerie
Erstellen Sie eine benutzerdefinierte Miniaturbildgröße
Fügen Sie Kategorien für Anhänge hinzu
Fügen Sie Tags für Anhänge hinzu
Benutzerdefinierten Auszug zu Seiten hinzufügen
Erstellen Sie eine globale Zeichenfolge
Unterstützen Sie ausgewählte Bilder
Support-Suchformular
Ausschließen von Seiten aus der Suche
Deaktivieren Sie XMLRPC
Escape-HTML in Beiträgen
Erstellen Sie benutzerdefinierte globale Einstellungen
Entfernen Sie die WordPress-Administratorleiste
Fügen Sie Open Graph-Meta-Tags hinzu
Benutzerdefinierten Beitragstyp hinzufügen
Implementieren Sie Preconnect zu Google Fonts in Themes
Fügen Sie der Beitragsliste eine Miniaturansichtsspalte hinzu
Lead-Klasse zum ersten Absatz hinzufügen
Benutzerdefinierten Beitragstyp aus der Suche ausschließen
Abfragezeichenfolge aus statischen Ressourcen entfernen
Deaktivieren Sie das Website-Feld im Kommentarformular
Ändern Sie jQuery
Deaktivieren Sie die JSON-Rest-API
Beitragstyp wechseln
PHP-Logger
In TinyMCE immer den zweiten Balken anzeigen
Entfernen Sie Admin-Menüelemente je nach Benutzerrolle
Admin-Menüelemente abhängig von der E-Mail-Adresse (Domain) entfernen
Admin-Menüelemente neu anordnen
Schließen Sie eine Kategorie aus WordPress-Loops aus
Deaktivieren Sie die Meldung „JQMIGRATE: Migrate ist installiert, Version 1.4.1“.
Laden Sie umfangreiche Skripts von Drittanbietern später, um eine bessere Leistung zu erzielen
/** * WordPress-Update-Nörgler für alle außer Administratoren ausblenden */ function hide_update_notice_to_all_but_admin() { if ( !current_user_can( 'update_core' ) ) { remove_action( 'admin_notices', 'update_nag', 3 ); } }add_action( 'admin_head', 'hide_update_notice_to_all_but_admin', 1 );
Stellen Sie sicher, dass Sie das <title>
-Tag aus Ihrer Kopfzeile entfernen.
/** * Richtige WordPress-Titel verwenden */add_theme_support( 'title-tag' );
/** * Benutzerdefiniertes WordPress-Dashboard-Widget erstellen */ function dashboard_widget_function() { echo ' <h2>Benutzerdefiniertes Dashboard-Widget</h2> <p>Benutzerdefinierter Inhalt hier</p> '; }function add_dashboard_widgets() { wp_add_dashboard_widget( 'custom_dashboard_widget', 'Custom Dashoard Widget', 'dashboard_widget_function' ); }add_action( 'wp_dashboard_setup', 'add_dashboard_widgets' );
/** * Alle Dashboard-Widgets entfernen */ function remove_dashboard_widgets() { global $wp_meta_boxes; unset( $wp_meta_boxes['dashboard']['side']['core']['dashboard_quick_press'] ); unset( $wp_meta_boxes['dashboard']['normal']['core']['dashboard_incoming_links'] ); unset( $wp_meta_boxes['dashboard']['normal']['core']['dashboard_right_now'] ); unset( $wp_meta_boxes['dashboard']['normal']['core']['dashboard_plugins'] ); unset( $wp_meta_boxes['dashboard']['normal']['core']['dashboard_recent_drafts'] ); unset( $wp_meta_boxes['dashboard']['normal']['core']['dashboard_recent_comments'] ); unset( $wp_meta_boxes['dashboard']['side']['core']['dashboard_primary'] ); unset( $wp_meta_boxes['dashboard']['side']['core']['dashboard_secondary'] ); remove_meta_box( 'dashboard_activity', 'dashboard', 'normal' ); }add_action( 'wp_dashboard_setup', 'remove_dashboard_widgets' );
/** * Navigationsmenüs einschließen */function register_my_menu() { register_nav_menu( 'nav-menu', __( 'Navigation Menu' ) ); }add_action( 'init', 'register_my_menu' );
Fügen Sie dies an der gewünschten Stelle ein und speichern Sie das Menü unter „Darstellung“ -> „Menüs“ .
wp_nav_menu( array( 'theme_location' => 'nav-menu' ) );
Hier ist der Code für mehrere Menüs:
function register_my_menus() { register_nav_menus( array( 'new-menu' => __( 'New Menu' ), 'another-menu' => __( 'Anderes Menü' ), 'an-extra-menu' => __( „Ein Extra-Menü“), ) ); }add_action( 'init', 'register_my_menus' );
/** * Benutzerdefiniertes Anmeldelogo einfügen */ function custom_login_logo() { echo ' <style> .login h1 a { background-image: url(image.jpg) !important; Hintergrundgröße: 234px 67px; Breite:234px; Höhe:67px; Anzeige:Block; } </style> '; }add_action( 'login_head', 'custom_login_logo' );
/** * Admin-Fußzeilentext ändern */ function changes_footer() { echo 'Erstellt von <a href="mailto:[email protected]">you</a>.'; }add_filter( 'admin_footer_text', 'modify_footer' );
/** * Stile und Skripte in die Warteschlange stellen */ function custom_scripts() { wp_enqueue_style( 'bootstrap', get_template_directory_uri() . '/css/bootstrap.min.css', array(), '3.3.6' ); wp_enqueue_style( 'style', get_template_directory_uri() . '/css/style.css' ); wp_enqueue_script( 'bootstrap', get_template_directory_uri() . '/js/bootstrap.min.js', array('jquery'), '3.3.6', true ); wp_enqueue_script( 'script', get_template_directory_uri() . '/js/script.js' ); }add_action( 'wp_enqueue_scripts', 'custom_scripts' );
/** * Google Fonts in die Warteschlange stellen */ function google_fonts() { wp_register_style( 'OpenSans', '//fonts.googleapis.com/css?family=Open+Sans:400,600,700,800' ); wp_enqueue_style( 'OpenSans' ); }add_action( 'wp_print_styles', 'google_fonts' );
/** * Auszugslänge ändern */ function custom_excerpt_length( $length ) { return 25; }add_filter( 'excerpt_length', 'custom_excerpt_length', 999 );
/** * Weiterlesen-Link ändern */ function custom_read_more_link() { return '<a href="' . get_permalink() . '">Weiterlesen</a>'; }add_filter( 'the_content_more_link', 'custom_read_more_link' );
/** * Weiteren Auszug ändern */ function custom_more_excerpt( $more ) { return '...'; }add_filter( 'excerpt_more', 'custom_more_excerpt' );
/** * Emoji-Chaos deaktivieren */ function unlock_wp_emojicons() { remove_action( 'admin_print_styles', 'print_emoji_styles' ); 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_filter( 'wp_mail', 'wp_staticize_emoji_for_email' ); remove_filter( 'the_content_feed', 'wp_staticize_emoji' ); remove_filter( 'comment_text_rss', 'wp_staticize_emoji' ); add_filter( 'tiny_mce_plugins', 'disable_emojicons_tinymce' ); add_filter( 'emoji_svg_url', '__return_false' ); }add_action( 'init', 'disable_wp_emojicons' );function disable_emojicons_tinymce( $plugins ) { return is_array( $plugins ) ? array_diff( $plugins, array( 'wpemoji' ) ): array(); }
/** * Kommentare entfernen */ // Entfernt aus dem Admin-Menüfunction my_remove_admin_menus() { remove_menu_page( 'edit-comments.php' ); }add_action( 'admin_menu', 'my_remove_admin_menus' );// Entfernt aus Beiträgen und Seitenfunction remove_comment_support() { remove_post_type_support( 'post', 'comments' ); remove_post_type_support( 'page', 'comments' ); }add_action( 'init', 'remove_comment_support', 100 );// Entfernt aus der Admin-Leistefunction mytheme_admin_bar_render() { global $wp_admin_bar; $wp_admin_bar->remove_menu( 'comments' ); }add_action( 'wp_before_admin_bar_render', 'mytheme_admin_bar_render' );
/** * URL der Mediengalerie ändern */ if ( empty( get_option( 'upload_url_path' ) ) ) { update_option( 'upload_url_path', 'http://assets.website.com/wp-content/uploads' ); }
Außerdem können Sie den Optionswert filtern, bevor er aus der Datenbank abgerufen wird, was etwas besser ist:
/** * Mediengalerie-URL ändern */ add_filter( 'pre_option_upload_url_path', function() { return 'http://assets.website.com/wp-content/uploads'; });
/** * Benutzerdefinierte Miniaturbildgröße erstellen */ add_image_size( 'custom-thumbnail', 250, 250, true );
Miniaturansicht abrufen
$thumb = wp_get_attachment_image_src( get_post_thumbnail_id($post->ID), 'custom-thumbnail' );echo $thumb[0];
Seit WordPress 4.4.0 können Sie Folgendes verwenden:
the_post_thumbnail_url( $size );
/** * Kategorien für Anhänge hinzufügen */ function add_categories_for_attachments() { register_taxonomy_for_object_type( 'category', 'attachment' ); }add_action( 'init' , 'add_categories_for_attachments' );
/** * Tags für Anhänge hinzufügen */ function add_tags_for_attachments() { register_taxonomy_for_object_type( 'post_tag', 'attachment' ); }add_action( 'init' , 'add_tags_for_attachments' );
/** * Benutzerdefinierten Auszug zu Seiten hinzufügen */ function add_page_excerpt() { add_post_type_support( 'page', array( 'excerpt' ) ); }add_action( 'init', 'add_page_excerpt' );
/** * Erstelle einen globalen String */ function global_string() { return 'String'; }
Feld abrufen
echo global_string();
/** * Unterstützt ausgewählte Bilder */ add_theme_support( 'post-thumbnails' );
/** * Suchformular unterstützen */ add_theme_support( 'html5', array( 'search-form' ) );
/** * Seiten von der Suche ausschließen */ functionexclude_pages_from_search() { global $wp_post_types; $wp_post_types['page']->exclude_from_search = true; }add_action( 'init', 'exclude_pages_from_search' );
/** * xmlrpc.php deaktivieren */ add_filter( 'xmlrpc_enabled', '__return_false' );remove_action( 'wp_head', 'rsd_link' );remove_action( 'wp_head', 'wlwmanifest_link' );
/** * HTML in <code>- oder <pre><code>-Tags maskieren. */ function escapeHTML($arr) { if (version_compare(PHP_VERSION, '5.2.3') >= 0) { $output = htmlspecialchars($arr[2], ENT_NOQUOTES, get_bloginfo('charset'), false); } else { $specialChars = array( '&' => '&', '<' => '<', '>' => '>' ); // bereits konvertierte Daten dekodieren $data = htmlspecialchars_decode( $arr[2] ); // Alle Daten in <pre> maskieren $output = strtr( $data, $specialChars ); } if (! empty($output)) { return $arr[1] . $Ausgabe . $arr[3]; } else { return $arr[1] . $arr[2] . $arr[3]; } }function filterCode($data) { // Kommentar entfernen, wenn Sie etwas innerhalb eines <pre>-Tags maskieren möchten //$modifiedData = preg_replace_callback( '@(<pre.*>)(.*)(</pre>) @isU', 'escapeHTML', $data ); $modifiedData = preg_replace_callback( '@(<code.*>)(.*)(</code>)@isU', 'escapeHTML', $data ); $modifiedData = preg_replace_callback( '@(<tt.*>)(.*)(</tt>)@isU', 'escapeHTML', $modifiedData ); return $modifiedData; }add_filter( 'content_save_pre', 'filterCode', 9 );add_filter( 'excerpt_save_pre', 'filterCode', 9 );
Geändert von Escape HTML.
/** * Benutzerdefinierte globale Einstellungen erstellen */ function custom_settings_page() { ?> <div class="wrap"> <h1>Benutzerdefinierte Einstellungen</h1> <form method="post" action="options.php"> <?php settings_fields( 'section' ); do_settings_sections( 'theme-options' ); send_button(); ?> </form> </div><?php }function custom_settings_add_menu() { add_theme_page( 'Custom Settings', 'Custom Settings', 'manage_options', 'custom-settings', 'custom_settings_page', null, 99 ); }add_action( 'admin_menu', 'custom_settings_add_menu' );// Beispiel SettingFunction Setting_twitter() { ?> <input type="text" name="twitter" id="twitter" value="<?php echo get_option('twitter'); ?>" /><?php }function custom_settings_page_setup() { add_settings_section( 'section' , 'Alle Einstellungen', null, 'theme-options' ); add_settings_field( 'twitter', 'Twitter-Benutzername', 'setting_twitter', 'theme-options', 'section' ); register_setting( 'section', 'twitter' ); }add_action( 'admin_init', 'custom_settings_page_setup' );
Feld abrufen
echo get_option( 'twitter' );
Geändert von Erstellen einer WordPress-Theme-Einstellungsseite mit der Einstellungs-API.
/** * WordPress-Administratorleiste entfernen */function remove_admin_bar() { remove_action( 'wp_head', '_admin_bar_bump_cb' ); }add_action( 'get_header', 'remove_admin_bar' );
/** * Open Graph-Meta-Tags hinzufügen */function meta_og() { global $post; if ( is_single() ) { if( has_post_thumbnail( $post->ID ) ) ) { $img_src = wp_get_attachment_image_src( get_post_thumbnail_id( $post->ID ), 'thumbnail' ); } $excerpt = strip_tags( $post->post_content ); $excerpt_more = ''; if ( strlen($excerpt ) > 155) { $excerpt = substr( $excerpt,0,155 ); $excerpt_more = ' ...'; } $excerpt = str_replace( '"', '', $excerpt ); $excerpt = str_replace( "'", '', $excerpt ); $excerptwords = preg_split( '/[nrt ]+/ ', $excerpt, -1, PREG_SPLIT_NO_EMPTY ); array_pop( $excerptwords ); ', $excerptwords ). $excerpt_more; ?><meta name="author" content="Your Name"> <meta name="description" content="<?php echo $excerpt; ?>"> <meta property="og:title" content="<?php echo the_title(); ?>"> <meta property="og:description" content="<?php echo $excerpt; ?>"> <meta property="og:type" content="article"> <meta property="og:url" content="<?php echo the_permalink(); ?>"> <meta property="og:site_name" content="Ihr Site-Name"> <meta property="og:image" content="<?php echo $img_src[0]; ?>"><?php } else { return; } }add_action('wp_head', 'meta_og', 5);
/** * Benutzerdefinierten Beitragstyp hinzufügen */function create_custom_post() { register_post_type( 'custom-post', // Slug für benutzerdefinierten Beitragstyp array( 'labels' => array( 'name' => __( 'Custom Post' ), ), 'public' => true, 'hierarchical' => true, 'has_archive' => true, 'supports' => array( 'title', 'editor', 'excerpt', 'thumbnail' ), 'can_export' => true, 'taxonomies' => array( 'post_tag', 'category' ) )); }add_action('init', 'create_custom_post');
/** * Preconnect zu Google Fonts in Themes implementieren */function twentyfifteen_resource_hints( $urls, $relation_type ) { // Überprüft, ob das Subjekt die Quelle der Google-Schriftarten enthält und „$relation_type“ dem Preconnect entspricht. // Ersetzen Sie „enqueue_font_id“ durch die „ID“, die beim Laden der Quelle verwendet wurde. if ( wp_style_is( 'enqueue_font_id', 'queue' ) && 'preconnect' === $relation_type ) { // Überprüft, ob die Version von WordPress größer oder gleich 4.7 ist // um die Kompatibilität mit älteren Versionen sicherzustellen // weil die 4.7 ist notwendig geworden, ein Array anstelle eines Strings zurückzugeben, wenn ( version_compare( $GLOBALS['wp_version'], '4.7-alpha', '>=' ) ) { // Array mit URL Google Fonts und Crossorigin $urls[] = array( 'href' => 'https://fonts.gstatic.com', 'crossorigin', ); } else { // String mit URL Google Fonts $urls[] = 'https://fonts.gstatic.com'; } } return $urls; }add_filter( 'wp_resource_hints', 'twentyfifteen_resource_hints', 10, 2 );
/** * Thumbnail-Spalte zur Beitragsliste hinzufügen */add_image_size( 'admin-list-thumb', 80, 80, false );function wpcs_add_thumbnail_columns( $columns ) { if ( !is_array( $columns ) ) $columns = array(); $new = array(); foreach( $columns as $key => $title ) { if ( $key == 'title' ) // Füge die Thumbnail-Spalte vor die Title-Spalte ein $new['featured_thumb'] = __( 'Image'); $new[$key] = $title; } return $new; }function wpcs_add_thumbnail_columns_data( $column, $post_id ) { switch ( $column ) { case 'featured_thumb': echo '<a href="' . $post_id . '">'; echo the_post_thumbnail( 'admin-list-thumb' ); echo '</a>'; brechen; } }if ( function_exists( 'add_theme_support' ) ) { add_filter( 'manage_posts_columns' , 'wpcs_add_thumbnail_columns' ); add_action( 'manage_posts_custom_column' , 'wpcs_add_thumbnail_columns_data', 10, 2 ); }
/** * Lead-Klasse zum ersten Absatz hinzufügen */function first_paragraph( $content ) { return preg_replace( '/<p([^>]+)?>/', '<p$1 class="lead">', $content, 1 ); }add_filter( 'the_content', 'first_paragraph' );
Fügt dem ersten Absatz in the_content eine lead
-Klasse hinzu.
/** * Benutzerdefinierten Beitragstyp von der Suche ausschließen */functionexcludePages( $query ) {if ( $query->is_search ) { $query->set( 'post_type', 'post' ); } return $query; }add_filter( 'pre_get_posts','excludePages' );
/** * Abfragezeichenfolge aus statischen Ressourcen entfernen */ function remove_cssjs_ver( $src ) { if ( strpos( $src, '?ver=' ) ) $src = remove_query_arg( 'ver', $src ); return $src; }add_filter( 'style_loader_src', 'remove_cssjs_ver', 10, 2 );add_filter( 'script_loader_src', 'remove_cssjs_ver', 10, 2 );
/** * jQuery ändern */function changes_jquery() { wp_deregister_script( 'jquery' ); wp_register_script( 'jquery', 'https://ajax.googleapis.com/ajax/libs/jquery/3.2.1/jquery.min.js', false, '3.2.1' ); wp_enqueue_script( 'jquery' ); }if (!is_admin()) add_action('wp_enqueue_scripts', 'modify_jquery');
/** * Website-Feld aus Kommentarformular deaktivieren */function discover_website_field( $field ) { if( isset($field['url']) ) { unset( $field['url'] ); } return $field; }add_filter('comment_form_default_fields', 'disable_website_field');
/** * JSON REST API deaktivieren */add_filter('json_enabled', '__return_false');add_filter('json_jsonp_enabled', '__return_false');
/** * Beitragstyp wechseln */function switch_post_type ( $old_post_type, $new_post_type ) { global $wpdb; // Führen Sie die Update-Abfrage aus $wpdb->update( $wpdb->posts, // Set array( 'post_type' => $new_post_type), // Where array( 'post_type' => $old_post_type ) ); }
/** * PHP Logger */function php_logger( $data ) { $output = $data; if ( is_array( $output ) ) $output = implode( ',', $output ); // das Ergebnis in der JavaScript-Konsole ausgeben echo "<script>console.log( 'PHP LOG: " . $output . "' );</script>"; }
/** * Immer zweiten Balken in TinyMCE anzeigen */function show_tinymce_toolbar( $in ) { $in['wordpress_adv_hidden'] = false; return $in; }add_filter( 'tiny_mce_before_init', 'show_tinymce_toolbar' );
/** * Klonen Sie die Administrator-Benutzerrolle */function clone_admin_role() { global $wp_roles; if ( ! isset( $wp_roles ) ) $wp_roles = new WP_Roles(); $adm = $wp_roles->get_role( 'administrator' ); // Neue Rolle „Client“ mit allen Admin-Fähigkeiten hinzufügen $wp_roles->add_role( 'client', 'Client', $adm->capabilities ); }add_action( 'init', 'clone_admin_role' );/** * Geben Sie an, welche Admin-Menüelemente für Benutzer mit der Rolle „Client“ sichtbar sind */function remove_dashboard_menus() { if ( current_user_can( 'client' ) ) { // Ausblenden Updates im Dashboard-Menü remove_submenu_page( 'index.php', 'update-core.php' ); // Kommentare ausblenden remove_menu_page( 'edit-comments.php' ); // Plugins ausblenden remove_menu_page( 'plugins.php' ); // Themes, Customizer und Widgets im Menü „Darstellung“ ausblenden Remove_submenu_page( 'themes.php', 'themes.php' ); remove_submenu_page( 'themes.php', 'customize.php?return=' . urlencode( $_SERVER['REQUEST_URI'] ) ); remove_submenu_page( 'themes.php', 'widgets.php' ); // Werkzeuge ausblenden remove_menu_page( 'tools.php' ); // Allgemeine Einstellungen ausblenden remove_menu_page( 'options-general.php' ); } }add_action( 'admin_menu', 'remove_dashboard_menus' );
/** * Geben Sie an, welche Benutzer basierend auf ihrer E-Mail-Adresse Admin-Menüelemente sehen können */function remove_dashboard_menus() { $user_data = get_userdata( get_current_user_id() ); $user_email = isset( $user_data->user_email ) ? $user_data->user_email : ''; if ( ! strpos( $user_email, '@yourcompany.com' ) ) { // Updates im Dashboard-Menü ausblenden Remove_submenu_page( 'index.php', 'update-core.php' ); // Kommentare ausblenden remove_menu_page( 'edit-comments.php' ); // Plugins ausblenden remove_menu_page( 'plugins.php' ); // Themes, Customizer und Widgets im Menü „Darstellung“ ausblenden Remove_submenu_page( 'themes.php', 'themes.php' ); remove_submenu_page( 'themes.php', 'customize.php?return=' . urlencode( $_SERVER['REQUEST_URI'] ) ); remove_submenu_page( 'themes.php', 'widgets.php' ); // Werkzeuge ausblenden remove_menu_page( 'tools.php' ); // Allgemeine Einstellungen ausblenden remove_menu_page( 'options-general.php' ); } }add_action( 'admin_menu', 'remove_dashboard_menus' );
/** * Admin-Menü neu anordnen */function custom_menu_order( $menu_ord ) { if ( ! $menu_ord ) { return true; } return array( 'index.php', 'separator1', 'edit.php?post_type=page', 'edit.php', 'edit.php?post_type=[your_post_type_slug]', 'upload.php', 'edit-comments.php', 'separator2', 'themes.php', 'plugins.php', 'users.php', 'tools .php‘, ‚options-general.php‘ ); } }add_filter( 'custom_menu_order', 'custom_menu_order' );add_filter( 'menu_order', 'custom_menu_order' );
/** * Kategorie aus allen WordPress-Schleifen ausschließen */add_action( 'pre_get_posts', function( $query ) { // anonymer Rückruf global $wp_query; // Hartcodierte Kategorie-ID, kann aber dynamisch sein: esc_attr(get_option('your-cat-id')); $excluded_cat_id = 25; // Kategorie-ID zur bestehenden hinzufügen, Überschreiben vermeiden $cat[] = $query->get( 'cat' ); $cat[] = "-" . $excluded_cat_id; $query->set( 'cat', $cat ); } });
add_action('wp_default_scripts', function ($scripts) { if (!empty($scripts->registered['jquery'])) { $scripts->registered['jquery']->deps = array_diff($scripts-> registriert['jquery']->deps, ['jquery-migrate']); } });
Lighthouse und ähnliche Tools zur Leistungsanalyse beschweren sich immer über Skripte (und Stile), die das Rendern blockieren, kurze Cache-TTL usw. Die meisten dieser Skripte und Stile stammen aus Quellen von Drittanbietern, die wir nicht kontrollieren können – Googles eigener Tag Manager und Analytics, Facebook Pixel, andere Tracker und Chat-Skripte usw. Wir können sie jedoch nur laden, wenn ein echter Benutzer mit einer Seite interagiert, was die Time-To-Interactive-Metrik erheblich reduziert und viel bessere Leistungsergebnisse erzielt.
Je nachdem, wo Sie diese Skripte von Drittanbietern platzieren möchten, können Sie entweder die Aktion wp_footer
verwenden, um den Code in der Fußzeile zu drucken, oder ihn in Ihr Hauptskript app.js
“ einfügen, das wiederum in die Aktion wp_enqueue_scripts
eingereiht wird.
<script>var fired = false; window.addEventListener('scroll', () => { if (fired === false) { fired = true; setTimeout(() => { // Marketing-Skripte gehen hierher. }, 1000) // 1000 ms oder 1 s funktionieren gut, aber Sie können dieses Timeout anpassen. }});</script>