هذه قائمة بوظائف WordPress المفيدة التي غالبًا ما أشير إليها لتحسين مواقعي أو تنظيفها. يرجى توخي الحذر وعمل النسخ الاحتياطية.
إخفاء تذمر تحديث WordPress للجميع باستثناء المسؤولين
استخدم عناوين WordPress المناسبة
إنشاء أداة لوحة تحكم WordPress مخصصة
إزالة جميع أدوات لوحة المعلومات
تضمين قوائم التنقل
أدخل شعار تسجيل الدخول المخصص
تعديل نص تذييل المشرف
سرد الأنماط والبرامج النصية
أدخل خطوط جوجل
تعديل طول المقتطف
تغيير رابط قراءة المزيد
تغيير المزيد من المقتطفات
تعطيل فوضى الرموز التعبيرية
إزالة التعليقات
تغيير عنوان URL لمعرض الوسائط
إنشاء حجم الصورة المصغرة المخصصة
إضافة فئات للمرفقات
إضافة علامات للمرفقات
إضافة مقتطفات مخصصة إلى الصفحات
إنشاء سلسلة عالمية
دعم الصور المميزة
دعم نموذج البحث
استبعاد الصفحات من البحث
تعطيل XMLRPC
الهروب من HTML في المشاركات
إنشاء إعدادات عالمية مخصصة
قم بإزالة شريط إدارة WordPress
إضافة العلامات الوصفية للرسم البياني المفتوح
أضف نوع منشور مخصص
تنفيذ الاتصال المسبق بخطوط Google في السمات
أضف عمود الصور المصغرة إلى قائمة النشر
إضافة فئة الرصاص إلى الفقرة الأولى
استبعاد نوع المنشور المخصص من البحث
إزالة سلسلة الاستعلام من الموارد الثابتة
تعطيل حقل موقع الويب من نموذج التعليق
تعديل jQuery
تعطيل JSON Rest API
تبديل نوع المشاركة
PHP المسجل
إظهار الشريط الثاني دائمًا في TinyMCE
قم بإزالة عناصر قائمة المسؤول اعتمادًا على دور المستخدم
إزالة عناصر قائمة المسؤول اعتمادًا على عنوان البريد الإلكتروني (المجال)
إعادة ترتيب عناصر قائمة المسؤول
استبعاد فئة من حلقات WordPress
قم بتعطيل الرسالة "JQMIGRATE: تم تثبيت الترحيل، الإصدار 1.4.1"
قم بتحميل البرامج النصية الثقيلة التابعة لجهات خارجية لاحقًا للحصول على أداء أفضل
/** * إخفاء تذمر تحديث WordPress للجميع ما عدا المسؤولين */ 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 );
تأكد من إزالة علامة <title>
من رأسك.
/** * استخدم عناوين WordPress المناسبة */add_theme_support( 'title-tag' );
/** * إنشاء أداة لوحة معلومات WordPress مخصصة */ function Dashboard_widget_function() { echo ' <h2>أداة لوحة معلومات مخصصة</h2> <p>محتوى مخصص هنا</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' );
/** * إزالة جميع أدوات لوحة المعلومات */ 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' );
/** * تضمين قوائم التنقل */function Register_my_menu() { Register_nav_menu( 'nav-menu', __( 'قائمة التنقل' ) ); }add_action( 'init', 'register_my_menu' );
أدخل هذا في المكان الذي تريد أن يظهر فيه، واحفظ القائمة في المظهر -> القوائم .
wp_nav_menu( array( 'theme_location' => 'nav-menu' ));
إليك الكود الخاص بقوائم متعددة:
وظيفة Register_my_menus() { Register_nav_menus( array( 'new-menu' => __( 'قائمة جديدة' ), 'another-menu' => __( 'قائمة أخرى' ), 'an-extra-menu' => __( ""قائمة إضافية"))، ) ); }add_action( 'init', 'register_my_menus' );
/** * أدخل شعار تسجيل دخول مخصص */ function custom_login_logo() { echo ' <style> .login h1 a { صورة الخلفية: url(image.jpg) !important; حجم الخلفية: 234 بكسل 67 بكسل; العرض: 234 بكسل؛ الارتفاع: 67 بكسل؛ عرض:كتلة؛ } </style> '; }add_action( 'login_head', 'custom_login_logo' );
/** * تعديل نص تذييل المشرف */ function Adjust_footer() { echo 'تم الإنشاء بواسطة <a href="mailto:[email protected]">أنت</a>.'; }add_filter( 'admin_footer_text', 'modify_footer' );
/** * أنماط ونصوص قائمة الانتظار */ 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 في قائمة الانتظار */ 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' );
/** * تعديل طول المقتطف */ function custom_excerpt_length( $length ) { return 25; }add_filter( 'excerpt_length', 'custom_excerpt_length', 999);
/** * تغيير رابط قراءة المزيد */ function custom_read_more_link() { return '<a href="' . get_permalink() . '">قراءة المزيد</a>'; }add_filter( 'the_content_more_link', 'custom_read_more_link' );
/** * تغيير المزيد من المقتطفات */ function custom_more_excerpt( $more ) { return '...'; }add_filter( 'excerpt_more', 'custom_more_excerpt' );
/** * تعطيل فوضى الرموز التعبيرية */ functiondisable_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' );وظيفة Disable_emojicons_tinymce( $plugins ) { return is_array( $plugins ) ? array_diff( $plugins, array( 'wpemoji' ) ) : array(); }
/** * إزالة التعليقات */ // الإزالة من قائمة المشرف function my_remove_admin_menus() { Remove_menu_page( 'edit-comments.php' ); }add_action( 'admin_menu', 'my_remove_admin_menus' );// الإزالة من المنشورات والصفحات وظيفة Remove_comment_support() { Remove_post_type_support( 'post', 'comments' ); Remove_post_type_support( 'page', 'comments' ); }add_action( 'init', 'remove_comment_support', 100 );// إزالة من شريط المسؤول admin 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 لمعرض الوسائط */ if ( فارغ( get_option( 'upload_url_path' ) ) { update_option( 'upload_url_path', 'http://assets.website.com/wp-content/uploads' ); }
يمكنك أيضًا تصفية قيمة الخيار قبل استردادها من قاعدة البيانات، وهو أفضل قليلاً:
/** * تغيير عنوان URL لمعرض الوسائط */ add_filter( 'pre_option_upload_url_path', function() { return 'http://assets.website.com/wp-content/uploads'; });
/** * إنشاء حجم مصغر مخصص */ add_image_size( 'custom-thumbnail', 250, 250, true );
استرداد الصورة المصغرة
$thumb = wp_get_attachment_image_src( get_post_thumbnail_id($post->ID), 'custom-thumbnail' );echo $thumb[0];
منذ إصدار WordPress 4.4.0، يمكنك استخدام:
the_post_thumbnail_url( $size );
/** * إضافة فئات للمرفقات */ function add_categories_for_attachments() { Register_taxonomy_for_object_type( 'category', 'attachment' ); }add_action( 'init' , 'add_categories_for_attachments' );
/** * إضافة علامات للمرفقات */ function add_tags_for_attachments() { Register_taxonomy_for_object_type( 'post_tag', 'attachment' ); }add_action( 'init' , 'add_tags_for_attachments' );
/** * إضافة مقتطفات مخصصة إلى الصفحات */ function add_page_excerpt() { add_post_type_support( 'page', array( 'excerpt' ) ); }add_action( 'init', 'add_page_excerpt' );
/** * إنشاء سلسلة عامة */ function global_string() { return 'String'; }
استرداد الحقل
صدى global_string();
/** * دعم الصور المميزة */ add_theme_support( 'post-thumbnails' );
/** * نموذج بحث الدعم */ add_theme_support( 'html5', array( 'search-form' ) );
/** * استبعاد الصفحات من البحث */ function exclude_pages_from_search() { global $wp_post_types; $wp_post_types['page']->exclude_from_search = true; }add_action( 'init', 'exclude_pages_from_search' );
/** * تعطيل xmlrpc.php */ add_filter( 'xmlrpc_enabled', '__return_false' );remove_action( 'wp_head', 'rsd_link' );remove_action( 'wp_head', 'wlwmanifest_link' );
/** * الهروب من HTML في علامات <code> أو <pre><code>. */ 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( '&' => '&', '<' => '<', '>' => '>' ); // فك تشفير البيانات المحولة بالفعل $data = htmlspecialchars_decode( $arr[2] ); // الهروب من جميع البيانات الموجودة داخل <pre> $output = strtr( $data, $specialChars ); } if (! فارغ($output)) { return $arr[1] . $ الإخراج . $arr[3]; } else { إرجاع $arr[1] . $ آر [2] . $arr[3]; } }function filterCode($data) { // قم بإلغاء التعليق إذا كنت تريد الهروب من أي شيء داخل علامة <pre> //$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 ); إرجاع البيانات المعدلة $؛ }add_filter( 'content_save_pre', 'filterCode', 9 );add_filter( 'excerpt_save_pre', 'filterCode', 9 );
تم التعديل من الهروب HTML.
/** * إنشاء إعدادات عامة مخصصة */ function custom_settings_page() { ?> <div class="wrap"> <h1>الإعدادات المخصصة</h1> <formmethod="post" action="options.php"> <?php settings_fields( 'section' ); do_settings_sections( 'خيارات السمة' ); Submit_button(); ?> </النموذج> </div><?php }function custom_settings_add_menu() { add_theme_page( 'إعدادات مخصصة', 'إعدادات مخصصة', 'manage_options', 'إعدادات مخصصة', 'custom_settings_page', null, 99); }add_action( 'admin_menu', 'custom_settings_add_menu' );// إعداد المثالfunction settings_twitter() { ?> <input type="text" name="twitter" id="twitter" value="<?php echo get_option('twitter'); ?>" /><?php }function custom_settings_page_setup() { add_settings_section( 'section' ، "جميع الإعدادات"، null، "خيارات السمة" ); add_settings_field( 'twitter', 'اسم مستخدم Twitter', 'setting_twitter', 'theme-options', 'section' ); Register_setting('section', 'twitter' ); }add_action( 'admin_init', 'custom_settings_page_setup' );
استرداد الحقل
صدى get_option("تويتر");
تم التعديل من إنشاء صفحة إعدادات سمة WordPress باستخدام واجهة برمجة تطبيقات الإعدادات.
/** * إزالة شريط إدارة WordPress */function Remove_admin_bar() { Remove_action( 'wp_head', '_admin_bar_bump_cb' ); }add_action( 'get_header', 'remove_admin_bar' );
/** * إضافة علامات تعريفية للرسم البياني المفتوح */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 = ''; إذا ( 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="اسم موقعك"> <meta property="og:image" content="<?php echo $img_src[0]; ?>"><?php } آخر { العودة؛ } }add_action('wp_head', 'meta_og', 5);
/** * إضافة نوع منشور مخصص */function create_custom_post() { Register_post_type( 'custom-post', // slug لمصفوفة نوع المنشور المخصص( 'labels' => array( 'name' => __( 'Custom Post' )، )، 'عام' => صحيح، 'هرمي' => صحيح، 'has_archive' => صحيح، 'يدعم' => المصفوفة( 'title'، 'editor'، 'excerpt'، 'thumbnail' )، 'can_export' => صحيح، 'التصنيفات' => صفيف ('post_tag'، 'الفئة' ) )); }add_action('init', 'create_custom_post');
/** * تنفيذ الاتصال المسبق بخطوط Google في السمات */functionwentyfifteen_resource_hints( $urls, $relation_type ) { // يتحقق مما إذا كان الموضوع يحمل مصدر خطوط google وأن `$relation_type` يساوي الاتصال المسبق. // استبدل `enqueue_font_id` بالمعرف المستخدم في تحميل المصدر. if ( wp_style_is( 'enqueue_font_id', 'queue' ) && 'preconnect' === $relation_type ) { // يتحقق مما إذا كان إصدار WordPress أكبر من أو يساوي 4.7 // لضمان التوافق مع الإصدارات الأقدم // لأن أصبح الإصدار 4.7 ضروريًا لإرجاع مصفوفة بدلاً من السلسلة if ( version_compare( $GLOBALS['wp_version'], '4.7-alpha', '>=' ) ) { // مصفوفة مع خطوط google url وcrossorigin $urls[] = array( 'href' => 'https://fonts.gstatic.com', 'crossorigin', ); } else { // سلسلة ذات عنوان url google Fonts $urls[] = 'https://fonts.gstatic.com'; } } إرجاع عناوين URL $; }add_filter( 'wp_resource_hints', 'twentyfifteen_resource_hints', 10, 2 );
/** * أضف عمودًا مصغرًا لنشر القائمة */add_image_size( 'admin-list-thumb', 80, 80, false );function wpcs_add_thumbnail_columns( $columns ) { إذا (!is_array( $columns ) ) $columns = array(); $جديد = مصفوفة(); foreach( $columns as $key => $title ) { if ( $key == 'title' ) // ضع عمود الصورة المصغرة قبل عمود العنوان $new['featured_thumb'] = __( 'Image'); $new[$key] = $title; } إرجاع $new; }function wpcs_add_thumbnail_columns_data( $column, $post_id ) { Switch ( $column ) { case 'featured_thumb': echo '<a href="' . $post_id . '">'; صدى the_post_thumbnail( 'admin-list-thumb' ); صدى '</a>'; استراحة؛ } }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 ); }
/** * إضافة فئة الرصاص إلى الفقرة الأولى */function first_paragraph( $content ) { return preg_replace( '/<p([^>]+)?>/', '<p$1 class="lead">', محتوى $, 1 ); }add_filter( 'the_content', 'first_paragraph' );
يضيف فئة lead
إلى الفقرة الأولى في the_content.
/** * استبعاد نوع المنشور المخصص من البحث */function ExceptionPages( $query ) {if ( $query->is_search ) { $query->set( 'post_type', 'post' ); } إرجاع استعلام $; }add_filter( 'pre_get_posts','excludePages' );
/** * إزالة سلسلة الاستعلام من الموارد الثابتة */ function Remove_cssjs_ver( $src ) { if ( strpos( $src, '?ver=' ) ) $src = Remove_query_arg( 'ver', $src ); إرجاع $src; }add_filter( 'style_loader_src', 'remove_cssjs_ver', 10, 2 );add_filter( 'script_loader_src', 'remove_cssjs_ver', 10, 2 );
/** * تعديل jQuery */function Adjust_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');
/** * تعطيل حقل موقع الويب من نموذج التعليق */function Disable_website_field( $field ) { إذا( isset($field['url']) ) { unset( $field['url'] ); } إرجاع الحقل $; }add_filter('comment_form_default_fields', 'disable_website_field');
/** * تعطيل JSON REST API */add_filter('json_enabled', '__return_false');add_filter('json_jsonp_enabled', '__return_false');
/** * تبديل نوع المنشور */function Switch_post_type ( $old_post_type, $new_post_type ) { global $wpdb; // قم بتشغيل استعلام التحديث $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; إذا ( is_array( $output ) ) $output = Iplode( ',', $output ); // اطبع النتيجة في وحدة تحكم جافا سكريبت echo "<script>console.log( 'PHP LOG: " . $output . "' );</script>"; }
/** * إظهار الشريط الثاني دائمًا في TinyMCE */function show_tinymce_toolbar( $in ) { $in['wordpress_adv_hidden'] = false; إرجاع $in؛ }add_filter( 'tiny_mce_before_init', 'show_tinymce_toolbar' );
/** * استنساخ دور المستخدم المسؤول */function clone_admin_role() { global $wp_roles; إذا ( ! isset( $wp_roles ) ) $wp_roles = new WP_Roles(); $adm = $wp_roles->get_role( 'administrator' ); // أضف دور "عميل" جديد بجميع إمكانيات الإدارة $wp_roles->add_role( 'client', 'Client', $adm->capabilities ); }add_action( 'init', 'clone_admin_role' );/** * حدد عناصر قائمة المسؤول التي تكون مرئية للمستخدمين الذين لديهم دور "العميل" */function Remove_dashboard_menus() { if (current_user_can( 'client' ) ) { // إخفاء التحديثات ضمن قائمة لوحة المعلومات Remove_submenu_page( 'index.php', 'update-core.php' ); // إخفاء التعليقات Remove_menu_page( 'edit-comments.php' ); // إخفاء المكونات الإضافية Remove_menu_page( 'plugins.php' ); // إخفاء السمات وأداة التخصيص والأدوات ضمن قائمة المظهر 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' ); // إخفاء الأدوات Remove_menu_page( 'tools.php' ); // إخفاء الإعدادات العامة Remove_menu_page( 'options-general.php' ); } }add_action( 'admin_menu', 'remove_dashboard_menus' );
/** * حدد المستخدمين الذين يمكنهم رؤية عناصر قائمة الإدارة بناءً على عنوان بريدهم الإلكتروني */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' ) ) { // إخفاء التحديثات ضمن قائمة لوحة المعلومات Remove_submenu_page( 'index.php', 'update-core.php' ); // إخفاء التعليقات Remove_menu_page( 'edit-comments.php' ); // إخفاء المكونات الإضافية Remove_menu_page( 'plugins.php' ); // إخفاء السمات وأداة التخصيص والأدوات ضمن قائمة المظهر 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' ); // إخفاء الأدوات Remove_menu_page( 'tools.php' ); // إخفاء الإعدادات العامة Remove_menu_page( 'options-general.php' ); } }add_action( 'admin_menu', 'remove_dashboard_menus' );
/** * إعادة ترتيب قائمة المشرف */function custom_menu_order( $menu_ord ) { if ( ! $menu_ord ) { return true; } إرجاع المصفوفة('index.php', 'separator1', 'edit.php?post_type=page', "تحرير.php"، 'edit.php?post_type=[your_post_type_slug]', 'upload.php', 'edit-comments.php', 'separator2', 'themes.php', 'plugins.php', 'users.php', 'tools .php"، "الخيارات العامة.php" ); } }add_filter( 'custom_menu_order', 'custom_menu_order' );add_filter( 'menu_order', 'custom_menu_order' );
/** * استبعاد فئة من جميع حلقات WordPress */add_action( 'pre_get_posts', function( $query ) { // رد اتصال مجهول عالمي $wp_query؛ // معرف الفئة المشفر، ولكن يمكن أن يكون ديناميكيًا: esc_attr(get_option('your-cat-id')); $excluded_cat_id = 25; // أضف معرف الفئة إلى القائمة، وتجنب الكتابة فوقه $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-> مسجلة['jquery']->deps, ['jquery-migrate']); } });
تشكو Lighthouse وأدوات تحليل الأداء المشابهة دائمًا من البرامج النصية (والأنماط) التي تحظر العرض، وذاكرة التخزين المؤقت القصيرة TTL وما إلى ذلك. وتأتي معظم هذه البرامج النصية والأنماط من مصادر خارجية لا يمكننا التحكم فيها - إدارة العلامات والتحليلات الخاصة بشركة Google، وFacebook Pixel وأجهزة التتبع الأخرى ونصوص الدردشة وما إلى ذلك. ومع ذلك، لا يمكننا تحميلها إلا عندما يتفاعل مستخدم حقيقي مع الصفحة، مما يقلل بشكل كبير من مقياس وقت التفاعل ويسجل نتائج أداء أعلى بكثير.
اعتمادًا على المكان الذي تريد أن تكون فيه هذه البرامج النصية التابعة لجهات خارجية، يمكنك إما استخدام إجراء wp_footer
لطباعة التعليمات البرمجية في التذييل، أو وضعها في البرنامج النصي app.js
الرئيسي الخاص بك والذي، بدوره، يتم وضعه في قائمة الانتظار في إجراء wp_enqueue_scripts
.
<script>var أطلقت = خطأ؛ window.addEventListener('scroll', () => { if (fired === false) { أطلقت = صحيح؛ setTimeout(() => { // البرامج النصية للتسويق تذهب هنا. }, 1000) // 1000 مللي ثانية أو 1 ثانية تعمل بشكل جيد، ولكن يمكنك ضبط هذه المهلة. }});</script>