이것은 내 사이트를 개선하거나 정리하기 위해 자주 참조하는 유용한 워드프레스 기능 목록입니다. 주의하시고 백업해두시기 바랍니다.
관리자를 제외한 모든 사람에게 WordPress 업데이트 잔소리 숨기기
적절한 WordPress 제목 활용
사용자 정의 WordPress 대시보드 위젯 만들기
모든 대시보드 위젯 제거
탐색 메뉴 포함
사용자 정의 로그인 로고 삽입
관리 바닥글 텍스트 수정
대기열에 넣기 스타일 및 스크립트
Google 글꼴을 대기열에 추가
발췌 길이 수정
자세히 보기 링크 변경
추가 발췌 내용 변경
이모티콘 엉망 비활성화
댓글 삭제
미디어 갤러리 URL 변경
사용자 정의 썸네일 크기 생성
첨부파일 카테고리 추가
첨부 파일에 대한 태그 추가
페이지에 사용자 정의 발췌문 추가
전역 문자열 생성
추천 이미지 지원
지원 검색 양식
검색에서 페이지 제외
XMLRPC 비활성화
게시물에서 HTML을 이스케이프하세요
사용자 정의 전역 설정 만들기
WordPress 관리 표시줄 제거
오픈 그래프 메타 태그 추가
사용자 정의 게시물 유형 추가
테마에서 Google Fonts에 대한 사전 연결 구현
게시물 목록에 썸네일 열 추가
첫 번째 단락에 리드 클래스 추가
검색에서 맞춤 게시물 유형 제외
정적 리소스에서 쿼리 문자열 제거
댓글 양식에서 웹사이트 필드 비활성화
jQuery 수정
JSON Rest API 비활성화
스위치 포스트 유형
PHP 로거
TinyMCE에 항상 두 번째 막대 표시
사용자 역할에 따라 관리 메뉴 항목 제거
이메일 주소(도메인)에 따라 관리 메뉴 항목 제거
관리 메뉴 항목 재정렬
WordPress 루프에서 카테고리 제외
"JQMIGRATE: Migrate가 설치되었습니다, 버전 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', '맞춤 대시보드 위젯', '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' );
/** * 탐색 메뉴 포함 */functionregister_my_menu() {register_nav_menu( 'nav-menu', __( 'Navigation Menu' ) ); }add_action( 'init', 'register_my_menu' );
표시할 위치에 삽입하고 Appearance -> Menus 에 메뉴를 저장합니다.
wp_nav_menu( array( 'theme_location' => 'nav-menu' ) );
여러 메뉴에 대한 코드는 다음과 같습니다.
functionregister_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 { background-image: url(image.jpg) !important; 배경 크기: 234px 67px; 너비:234px; 높이:67px; 표시:블록; } </style> '; }add_action( 'login_head', 'custom_login_logo' );
/** * 관리자 바닥글 텍스트 수정 */ functionify_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' );
/** * 이모티콘 혼란 비활성화 */ function 비활성화_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 비활성화_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' );// 게시물 및 페이지에서 제거function Remove_comment_support() { Remove_post_type_support( 'post', 'comments' ); Remove_post_type_support( '페이지', '댓글' ); }add_action( 'init', 'remove_comment_support', 100 );// 관리자 bar 함수에서 제거 mytheme_admin_bar_render() { global $wp_admin_bar; $wp_admin_bar->remove_menu( '댓글' ); }add_action( 'wp_before_admin_bar_render', 'mytheme_admin_bar_render' );
/** * 미디어 갤러리 URL 변경 */ if (empty( 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 include_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' );
/** * <code> 또는 <pre><code> 태그로 HTML을 이스케이프합니다. */ 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 (!empty($output)) { return $arr[1] . $출력 . $arr[3]; } else { $arr[1]을 반환합니다. $arr[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 ); $modifiedData를 반환합니다. }add_filter( 'content_save_pre', 'filterCode', 9 );add_filter( 'excerpt_save_pre', 'filterCode', 9 );
이스케이프 HTML에서 수정되었습니다.
/** * 사용자 정의 전역 설정 만들기 */ function custom_settings_page() { ?> <div 클래스="랩"> <h1>맞춤 설정</h1> <form method="post" action="options.php"> <?php settings_fields( 'section' ); do_settings_sections( '테마 옵션' ); submit_button(); ?> </form> </div><?php }function custom_settings_add_menu() { add_theme_page( '사용자 정의 설정', '사용자 정의 설정', 'manage_options', 'custom-settings', 'custom_settings_page', null, 99 ); }add_action( 'admin_menu', 'custom_settings_add_menu' );// 설정 함수 예시 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( '섹션', '트위터' ); }add_action( 'admin_init', 'custom_settings_page_setup' );
필드 검색
echo get_option( '트위터' );
설정 API를 사용하여 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 = 스트립_태그( $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 ); $excerpt = implode( ' ', $excerptwords ) . $excerpt_more ?><meta name="author" content="이름"> <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', // 사용자 정의 게시물 유형에 대한 슬러그 array( 'labels' => array( 'name' => __( 'Custom Post' ), ), '공개' => 참, '계층적' => 참, 'has_archive' => true, 'supports' => array( '제목', 'editor', '발췌', 'thumbnail' ), 'can_export' => true, '분류' => array( 'post_tag', 'category' ) ))); }add_action('init', 'create_custom_post');
/** * 테마에서 Google 글꼴에 대한 사전 연결 구현 */function 2051_resource_hints( $urls, $relation_type ) { // 주제가 google 글꼴 소스를 전달하고 `$relation_type`이 사전 연결과 같은지 확인합니다. // `enqueue_font_id`를 소스 로딩에 사용된 `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', '>=' ) ) { // URL Google 글꼴 및 crossorigin이 포함된 배열 $urls[] = array( 'href' => 'https://fonts.gstatic.com', 'crossorigin', ); } else { // URL이 포함된 문자열 Google 글꼴 $urls[] = 'https://fonts.gstatic.com'; } } $urls를 반환합니다. }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 ) { if ( !is_array( $columns ) ) $columns = array(); $new = 배열(); foreach( $columns as $key => $title ) { if ( $key == 'title' ) // 제목 열 앞에 썸네일 열을 넣습니다. $new['featured_thumb'] = __( 'Image'); $new[$key] = $제목; } $new를 반환합니다. }function wpcs_add_thumbnail_columns_data( $column, $post_id ) { 스위치( $column ) { 케이스 'featured_thumb': echo '<a href="' . $post_id . '">'; echo the_post_thumbnail( '관리자 목록-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">', $content, 1 ); }add_filter( 'the_content', 'first_paragraph' );
the_content의 첫 번째 단락에 lead
클래스를 추가합니다.
/** * 검색에서 사용자 정의 게시물 유형 제외 */function includePages( $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 수정_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 ) { if( 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, // 배열 설정( 'post_type' => $new_post_type), // Where array( 'post_type' => $old_post_type ) ); }
/** * PHP 로거 */function php_logger( $data ) { $output = $data; if ( is_array( $output ) ) $output = implode( ',', $output ); // 결과를 JavaScript 콘솔에 인쇄합니다. 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; if ( !isset( $wp_roles ) ) $wp_roles = new WP_Roles(); $adm = $wp_roles->get_role( '관리자' ); // 모든 관리 기능을 갖춘 새로운 "클라이언트" 역할 추가 $wp_roles->add_role( 'client', 'Client', $adm->capability ); }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', 'edit.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; // 하드 코딩된 카테고리 ID이지만 동적일 수 있습니다. esc_attr(get_option('your-cat-id')); $excluded_cat_id = 25; // 기존 항목에 카테고리 ID를 추가하고 덮어쓰지 않도록 합니다. $cat[] = $query->get( 'cat' ); $cat[] = "-" . $excluded_cat_id; $query->set( '고양이', $cat ); } });
add_action('wp_default_scripts', function ($scripts) { if (!empty($scripts->registered['jquery'])) { $scripts->registered['jquery']->deps = array_diff($scripts-> 등록됨['jquery']->deps, ['jquery-마이그레이션']); } });
Lighthouse 및 이와 유사한 성능 분석 도구는 항상 렌더링 차단 스크립트(및 스타일), 짧은 캐시 TTL 등에 대해 불평합니다. 이러한 스크립트와 스타일의 대부분은 우리가 제어할 수 없는 타사 소스(Google 자체 태그 관리자 및 분석, Facebook)에서 제공됩니다. 픽셀, 기타 추적기 및 채팅 스크립트 등. 그러나 실제 사용자가 페이지와 상호 작용할 때만 로드할 수 있으므로 상호 작용 시간 측정 항목이 크게 줄어들고 훨씬 더 높은 성능 결과를 얻을 수 있습니다.
이러한 타사 스크립트의 위치에 따라 wp_footer
작업을 사용하여 코드를 바닥글에 인쇄하거나 기본 app.js
스크립트에 넣을 수 있으며, 이는 차례로 wp_enqueue_scripts
작업의 대기열에 추가됩니다.
<script>var 해고 = false; window.addEventListener('scroll', () => { if (fired === false) { Fired = true; setTimeout(() => { // 마케팅 스크립트는 여기에 위치합니다. }, 1000) // 1000ms 또는 1s는 괜찮지만 이 시간 초과를 조정할 수 있습니다. }});</script>